AI Comic Builder
A self-hosted pipeline that takes a script to a finished animated episode: parse it, extract the characters, generate four-view reference sheets, storyboard it, generate keyframes per shot, then interpolate the video and burn in subtitles.

What it is
A self-hostable Next.js application that carries a script to a finished animated episode without leaving the browser: it parses the script, extracts the characters, generates a four-view reference sheet for each one, splits the story into shots, generates a first and last keyframe per shot, writes the video prompt, generates the clips, and concatenates them with burned-in subtitles. Text, image and video models are all pluggable — OpenAI, Gemini, Kling, Seedance and Veo — and every stage can be triggered alone or as a batch. It runs on SQLite with FFmpeg and ships as a Docker image.
Who built itThe organisation that owns the repository. Who actually wrote the code is harder to say here than usual: 409 of the 417 commits carry an email address with no linked GitHub account, so GitHub credits only 8 commits across three names. The published Docker image belongs to a fourth account, twwch, whose repository the README names as the development guide.
Build log
8 stages- 01
Seven weeks, sixteen releases, then silence
The repository was created on 2026-03-11, the first commit landed the same day, and v0.0.1 was tagged on 2026-03-12. Sixteen releases followed in seven weeks — v0.0.2 through v0.2.6, not one of them marked pre-release — across 292 commits in March and 125 in April. The last commit is dated 2026-04-27. Nothing has landed since. That is not the same as the users going away: 1,883 stars, 320 forks and 7 watchers, and pull requests were still being opened on 2026-05-28, 06-21, 06-24, 07-08 and 07-29. Every one of those arrived after the final commit, and every one was either left open or closed without merging. Twelve issues sit open. A fork-to-star ratio of roughly one in six suggests people meant to run it rather than bookmark it.
- 02
Almost nobody’s commits count
This repository is an argument for reading git authors instead of contributor graphs. 409 of the 417 commits come from a single name, chenhao, under an address with no linked GitHub account. GitHub therefore credits 8 commits spread across three accounts — LingyiChen-AI with 5, dandandujie with 2, mishiqian with 1 — and reports three contributors for a project with 417 commits. The Docker image is published under a fourth account,
twwch, and the README namestwwch/vibe-codingas the development guide for a codebase it describes as AI-driven throughout. The code is all there; what is missing is any identity GitHub will connect to most of it. - 03
232 commits name their co-author
More than half the history — 232 of 417 commits — carries a co-author trailer naming a model: Claude Opus 4.6 (1M context) on 141 of them, Claude Sonnet 4.6 on 91. That is a more precise record of AI involvement than most projects offer, because it is per commit rather than a sentence in a README. Taken together with the README’s own statement that the site was AI-driven and its link to a development guide, the picture is a codebase largely written by an agent, partly reviewed by strangers, and released sixteen times in seven weeks.
- 04
What it actually does
The pipeline runs: script in, script parsing, character extraction, four-view character sheets, storyboard, reference-frame or first-and-last-frame generation per shot, video prompt per shot, video generation per shot, then concatenation with subtitles. The two steps that decide whether the output holds together are the character sheet and the keyframes. Generating a front, three-quarter, side and back view of a character first gives every later image a fixed reference, which is the usual answer to a cast whose faces drift between shots. Generating the first and last frame of each shot and interpolating between them turns video generation — the expensive, slow, least controllable part — into something with two fixed ends and only the middle left to chance. The data model is correspondingly small: a project holds characters, characters hold reference images, shots hold prompts, keyframes and video, and a task queue does the work in the background.
- 05
The prompts ship as agents, not as code
The most interesting directory is
agents/. Nine pipeline steps — script parsing, character extraction, shot splitting, and the various prompt writers — are exported three times over: as nine zip archives and a 21-kilobyte template for Alibaba’s Bailian, as nine workflow archives for Coze, and as nine.dify.ymlfiles for Dify. The prompt pipeline is therefore not locked inside the application; a studio already running Coze or Dify can import the same nine steps and drive them there. A user asking for editable system prompts — so that a lead could hand a script to assistants without handing over the prompt set — was answered by the maintainer saying he was wiring up Bailian’s agent API for exactly that reason. - 06
Strangers did the production work
If the maintainer stopped in April, the community did not, and the pull requests that arrived afterwards are not typo fixes. One adds email-and-password accounts through Better Auth with subscription billing across Stripe Checkout and the customer portal, five new tables, a four-language pricing page, route protection, and a migration that moves anonymous work onto the new account. Another adds registration, login and session-based access control, rate limiting on authentication, tighter asset-ownership validation, and production Docker Compose with a GHCR build workflow. A third adds four HappyHorse 1.0 models across three API formats inside the existing provider protocol. A fourth rebuilds task handling so that ten of eleven handlers have a full lifecycle including cancellation, adds a deterministic recommender for seven named transition types, and brings nineteen tests with it. None of it was merged.
- 07
A stranger reviewed a leaked key
One of those unmerged pull requests carries a code review worth reading. On 2026-07-01 a reviewer worked through the scene-transition change and, in a comment written in Chinese, flagged line 6 of
scripts/test-ai-sdk-shot-split.mjs: an API-key fallback hardcoded into a test script. His points were that the value is truncated in the diff but complete in git history, that the base URL suggests a live proxy key rather than a dummy value, and that the correct fix is to delete the fallback so the script fails loudly when the variable is unset, rotate the key, and rewrite the history rather than append a commit that removes it. His verdict on the change was one critical issue, four warnings and five suggestions, and he published the whole review inline with a Chinese version alongside it. The pull request is still open. - 08
What the issues say
The tracker is mostly installation and model behaviour, which is what a self-hosted pipeline should expect. Repeated reports that the application will not start because Drizzle migrations collide with a schema that already exists — the README says to initialise with
drizzle-kit push, and a community pull request changed that advice todrizzle-kit migratebecause pushing first leaves the migration table empty, so the next start replays every statement. Character extraction failing on unterminated JSON, answered with the suggestion to configure a better model. Scene frames that generate but never appear, blocking the next step. Requests for models that did not exist when they were asked for — Happy Horse, Grok video, GPT Image 2 — several of which the community then implemented in the unmerged pull requests above. One exchange is pure support load: the Feishu group is full, so a second one was opened.
Adjacent records
All records →No. 040
AIYOU
A canvas of twelve nodes that carries an idea to a finished short drama: outline, episode split, character sheets, storyboards, keyframes, then video — with a provider layer that keeps the run alive by falling back down a priority list when a model’s quota runs out.
No. 042
Neko Master
A self-hosted dashboard that shows where a home gateway’s traffic actually goes — by domain, by IP, by proxy node — reading it live from Clash, mihomo or OpenClash over WebSocket.
No. 033
MiroFish
A prediction engine that builds a parallel world of hundreds of AI agents out of a document you upload, then runs it forward to see what happens next.