Vertical explainer shorts

One question, answered in under a minute for Shorts, Reels or TikTok: narration, cards with text you can read, b-roll that moves, and captions that follow the voice.

Two seconds from each of five videos it made

Two it made

Why is the sky blue? runs 52 seconds and cost about $0.80 to generate. AI hallucinations runs 3:41 with a cloned voice.

A sunset over the sea with the caption Far more air
Why is the sky blue?
A vertical explainer frame
AI hallucinations

How it's built

The whole video comes from one scenes.json: a line of narration and one visual per scene.

  1. Voice each scene with Qwen3-TTS, a built-in voice or a clone, with a pace limit so it never rushes.
  2. Pictures by job: Ideogram for anything with text on it, LTX video for b-roll that moves, FLUX for text-free backgrounds. Image and video models garble letters, so text is never asked of them.
  3. Captions word by word from the audio's timing, but spelled from the script, so names come out right.
  4. Build anchored to the audio: each scene starts where its narration does. It renders at every stage, with placeholder cards before the pictures exist.
A text card defining hallucination as confident fiction
A card made by Ideogram
Empty desks in a hall, with a burned caption
LTX b-roll with captions

Start

Claude Code uses the concept-explainer-short template, pure Python with no Remotion. An agent with nobody at the terminal can do the same as a background job with a cost cap (agent video jobs, experimental).

Already have a 16:9 video? tools/cutdown.py --platform shorts makes the 9:16, 1:1 or 4:5 cut with ffmpeg.

# in Claude Code, from the toolkit:
Make a 50-second vertical explainer:
why does bread go stale?

# or as a job any agent can submit:
uv run tools/video_job.py submit --spec spec.json --max-usd 1