Explainer video production line
Turn one question about AI into a video that explains it and proves it.
Pick a topic, leave an email, we produce the video. Every claim is backed by official documentation, quoted on screen.
Got it. We'll produce one from the topic you gave us.
Watch four samples Real output from this line: course film, advanced course, vertical short, narrative short
① Samples
These four were made by this line itself
Not mockups — real finished output: a landscape course film, an advanced course, a vertical short, a narrative short. One line, different formats.
API keys — not a password, but a rotatable badge bound to one workspace
From the Claude Capability Map series. Every claim is backed by the official documentation, quoted verbatim on screen with its source link.
Same job, four models — what each one costs
From the AI in 3 Seconds series. The same timeline, restaged vertically, ready to post as a Short.
Narrative short: light reaching into the dark
The line isn't limited to AI topics. This one renders through HyperFrames (Apache-2.0, open source).
Build an agent team that argues with itself
Episode 3 of the How Much to Let Go series. The series script tells each episode which number it is, what comes next, and which nodes on the map are already lit.
How it is made Five authorities that never overstep: knowledge → narrative → timing → picture → delivery
② How it's made
Five authorities that never overstep
An explainer isn't text poured into a template. It's a chain of claims delivered by voice, each with a visible piece of evidence, where the picture changes at the exact moment the voice mentions it.
| Authority | Owns | Lives in |
|---|---|---|
| Knowledge | Which evidence every sentence traces back to | cognition-engine/out/kb.<product>.json |
| Narrative | Beat sequence: claim → evidence → visual intent | scripts/v2/lib/plan.mjs |
| Timing | Narration is the source of truth; visual events land on the spoken word | scripts/v2/tts_batch.py · lib/timeline.mjs |
| Picture | 10 composable stage primitives, event-driven motion, camera moves | src/v2/** |
| Delivery | Three audio layers, two-pass loudnorm, A/B thumbnails, subtitles, chapters, three-layer QC | scripts/v2/mix.py · lib/deliver.mjs · lib/qc.mjs |
Voice before picture
Narration is synthesized first, word-level timestamps come back, and only then are events like "strike out 'folder' as it's spoken" resolved. The picture follows the voice — never the other way round.
Event-driven, not slides
An element doesn't know the time. It only knows which frame its reveal / emphasize / strike / click / camera event lands on. That's why the same stage primitive works for any script.
Evidence goes on screen
Official documentation typed out verbatim, the source URL pinned under the card, interfaces drawn only from what the evidence shows, a source table in the publish notes. Rigour you can see, not rigour you're promised.
What you get A whole folder, not just an mp4
③ What you get
An episode is a folder, not an mp4
Everything lands together when a video finishes. All the publishing material is in there: the chapter file pastes straight into a YouTube description, thumbnails come in two versions, and the publish notes carry the thesis, a source table and several title candidates.
Changing one sentence doesn't mean re-rendering the episode — synthesized beats are cached and reused on the next run.
Three layers of QC Script, timeline, finished film — the report ships with the video
④ QC
Three layers of checks, and the report ships with the film
Does the opening pose a question or a hook, are sentences too long, does this shot carry any visual event at all.
Anything longer than 6.5 seconds with no visual change gets reported, with the second it starts and the beat it's stuck on.
Measured loudness and true peak, whether the film's length matches the timeline, whether every chapter clears 10 seconds.
QC reports, it doesn't block — it never quietly edits your film. It writes what it found into qc.json and leaves the judgement to you. Below is a real report from one episode.
{
"script": [
{ "level": "warn", "beat": "next",
"msg": "这一镜没有任何视觉变化事件" }
],
"timeline": [
{ "level": "warn", "beat": "table",
"msg": "10.4s 起连续 6.5s 画面无变化" },
{ "level": "warn", "beat": "next",
"msg": "0.0s 起连续 8.1s 画面无变化" }
],
"media": [],
"loudness": { "I": -14.4, "LRA": 3.2, "TP": -1.5 },
"durationMs": 152619,
"actualMs": 152618
}
Plans 5/month $19 · 15/month $49, first two free
⑦ Plans
You set the topic, we produce the film
Sign up and the first two are free, up to three minutes each — decide after you have seen them. Topics come from the 189 above: for now we cover Claude and OpenAI features only. You receive the whole folder described earlier, not just the film.
5 per month
- 5 videos a month, up to 3 minutes each
- Landscape or vertical
- Subtitles, chapters, A/B thumbnails, QC report included
- One round of revisions
15 per month
- 15 videos a month, up to 3 minutes each, landscape and vertical mixed
- Course sequencing: series header, progress, next-episode hook
- Chinese and English versions, each narrated and re-timed natively
- Two rounds of revisions
We suggest starting with the two free ones: leave a topic, we produce them, and you decide after watching. Subscribing directly works too — cancel any time and access runs to the end of the paid period. If a topic falls outside the knowledge base we'll say so rather than take the job anyway.