{"adoption": {"forks": 311, "observed_at": "2026-08-28T04:05:39.873567+00:00", "stars": 1814}, "canonical_url": "https://ross.abutalabs.com/products/aicomicbuilder", "card": {"archived": false, "artifact_type": "application", "description": "  AI-powered animated comic generator — transform scripts into fully animated videos with AI-driven character design,    storyboarding, and video synthesis.  ", "domain": ["artificial-intelligence", "media", "entertainment"], "enriched": true, "function": ["llm-inference", "video-processing", "image-processing", "workflow-automation"], "health_score": 86, "homepage": "https://comic.cturing.cn/en", "language": "TypeScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["LingyiChen-AI/AIComicBuilder"], "name": "LingyiChen-AI/AIComicBuilder", "platform": ["self-hosted"], "pushed_at": "2026-04-27T01:33:05+00:00", "repo": "LingyiChen-AI/AIComicBuilder", "stars": 1814, "tags": ["text-to-video", "ai-video-generation", "comic-generator", "storyboarding", "character-design", "script-to-video", "storytelling", "animation", "keyframe-generation", "video-composition", "nextjs", "ffmpeg", "openai", "gemini", "kling", "seedance", "veo", "multi-provider", "sqlite", "drizzle-orm", "video", "nodejs", "docker", "web-server"], "topics": ["aicomicbuilder", "ai-animation", "ai-animation-generator", "ai-animation-tools", "storytelling", "storytelling-ai", "storytelling-generators", "text-to-video", "text-to-video-api", "text-to-video-generation"], "urls": [], "use_cases": ["turn a script or novel into an animated video automatically", "generate animated comics from a screenplay with AI", "auto-generate storyboards, shot lists, and camera directions from text", "create consistent characters with four-view reference sheets across shots", "generate start and end keyframes for each shot and interpolate them into video clips", "self-host an end-to-end text-to-video pipeline with Docker", "stitch AI-generated video clips into a full episode with burned-in subtitles"], "what_it_is": "AI Comic Builder is a self-hosted Next.js web application that turns scripts into fully animated comic videos through an automated AI pipeline covering script parsing, character extraction, storyboarding, keyframe generation, and video synthesis. It orchestrates multiple AI providers (OpenAI, Gemini, Kling, Seedance, Veo) for text, image, and video generation, and uses FFmpeg to stitch generated clips into a finished subtitled video.", "when_to_avoid": ["You need fully offline generation — every stage depends on external paid AI APIs", "You need frame-by-frame manual animation control or a traditional animation/editor toolset", "You only need simple video editing or trimming rather than AI generation from scripts", "You cannot run FFmpeg and a Node.js/Docker environment locally or on a server"], "when_to_choose": ["You want a complete, self-hosted script-to-animation pipeline rather than a single-stage AI tool", "You need visual character consistency across many shots, which the four-view reference sheet workflow addresses", "You want to bring your own AI providers (OpenAI, Gemini, Kling, Seedance, Veo) and switch them per project", "You want episodic project management with characters, episodes, and storyboard kanban views"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/aicomicbuilder", "repo": "LingyiChen-AI/AIComicBuilder", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:21:04.259230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edbc7ef1d09a006710c65c868f7dae3fd19dd67774ffe611836f02909203754e", "fetched_at": "2026-08-28T04:05:39.873567+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LingyiChen-AI/AIComicBuilder"}, {"content_hash": "a4c85e7befccb7e9794299155498a73ea50d63e8137a355da9a5affb736c89b2", "fetched_at": "2026-08-29T10:59:55.037013+00:00", "kind": "homepage", "missing": false, "url": "https://comic.cturing.cn/en"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:21:04.259230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edbc7ef1d09a006710c65c868f7dae3fd19dd67774ffe611836f02909203754e", "fetched_at": "2026-08-28T04:05:39.873567+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LingyiChen-AI/AIComicBuilder"}, {"content_hash": "a4c85e7befccb7e9794299155498a73ea50d63e8137a355da9a5affb736c89b2", "fetched_at": "2026-08-29T10:59:55.037013+00:00", "kind": "homepage", "missing": false, "url": "https://comic.cturing.cn/en"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:21:04.259230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edbc7ef1d09a006710c65c868f7dae3fd19dd67774ffe611836f02909203754e", "fetched_at": "2026-08-28T04:05:39.873567+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LingyiChen-AI/AIComicBuilder"}, {"content_hash": "a4c85e7befccb7e9794299155498a73ea50d63e8137a355da9a5affb736c89b2", "fetched_at": "2026-08-29T10:59:55.037013+00:00", "kind": "homepage", "missing": false, "url": "https://comic.cturing.cn/en"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:21:04.259230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edbc7ef1d09a006710c65c868f7dae3fd19dd67774ffe611836f02909203754e", "fetched_at": "2026-08-28T04:05:39.873567+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LingyiChen-AI/AIComicBuilder"}, {"content_hash": "a4c85e7befccb7e9794299155498a73ea50d63e8137a355da9a5affb736c89b2", "fetched_at": "2026-08-29T10:59:55.037013+00:00", "kind": "homepage", "missing": false, "url": "https://comic.cturing.cn/en"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:21:04.259230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edbc7ef1d09a006710c65c868f7dae3fd19dd67774ffe611836f02909203754e", "fetched_at": "2026-08-28T04:05:39.873567+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LingyiChen-AI/AIComicBuilder"}, {"content_hash": "a4c85e7befccb7e9794299155498a73ea50d63e8137a355da9a5affb736c89b2", "fetched_at": "2026-08-29T10:59:55.037013+00:00", "kind": "homepage", "missing": false, "url": "https://comic.cturing.cn/en"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:21:04.259230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edbc7ef1d09a006710c65c868f7dae3fd19dd67774ffe611836f02909203754e", "fetched_at": "2026-08-28T04:05:39.873567+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LingyiChen-AI/AIComicBuilder"}, {"content_hash": "a4c85e7befccb7e9794299155498a73ea50d63e8137a355da9a5affb736c89b2", "fetched_at": "2026-08-29T10:59:55.037013+00:00", "kind": "homepage", "missing": false, "url": "https://comic.cturing.cn/en"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:39.873567+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:21:04.259230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edbc7ef1d09a006710c65c868f7dae3fd19dd67774ffe611836f02909203754e", "fetched_at": "2026-08-28T04:05:39.873567+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LingyiChen-AI/AIComicBuilder"}, {"content_hash": "a4c85e7befccb7e9794299155498a73ea50d63e8137a355da9a5affb736c89b2", "fetched_at": "2026-08-29T10:59:55.037013+00:00", "kind": "homepage", "missing": false, "url": "https://comic.cturing.cn/en"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:21:04.259230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edbc7ef1d09a006710c65c868f7dae3fd19dd67774ffe611836f02909203754e", "fetched_at": "2026-08-28T04:05:39.873567+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LingyiChen-AI/AIComicBuilder"}, {"content_hash": "a4c85e7befccb7e9794299155498a73ea50d63e8137a355da9a5affb736c89b2", "fetched_at": "2026-08-29T10:59:55.037013+00:00", "kind": "homepage", "missing": false, "url": "https://comic.cturing.cn/en"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:21:04.259230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edbc7ef1d09a006710c65c868f7dae3fd19dd67774ffe611836f02909203754e", "fetched_at": "2026-08-28T04:05:39.873567+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LingyiChen-AI/AIComicBuilder"}, {"content_hash": "a4c85e7befccb7e9794299155498a73ea50d63e8137a355da9a5affb736c89b2", "fetched_at": "2026-08-29T10:59:55.037013+00:00", "kind": "homepage", "missing": false, "url": "https://comic.cturing.cn/en"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:21:04.259230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edbc7ef1d09a006710c65c868f7dae3fd19dd67774ffe611836f02909203754e", "fetched_at": "2026-08-28T04:05:39.873567+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LingyiChen-AI/AIComicBuilder"}, {"content_hash": "a4c85e7befccb7e9794299155498a73ea50d63e8137a355da9a5affb736c89b2", "fetched_at": "2026-08-29T10:59:55.037013+00:00", "kind": "homepage", "missing": false, "url": "https://comic.cturing.cn/en"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 79, "longevity": 12, "rhythm": 80}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 175, "days_push": 129, "days_rel": 132, "gap_med": 1, "n_releases_24m": 16}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}