video-pipeline is a strategy-first AI video studio. A one-line brief becomes a finished film and a client-ready brief, with the reasoning surfaced at every step.
Research, brief and blueprint are reasoned by Claude. Image, video and audio are pluggable providers, so the best model for a shot is never welded into the pipeline. Two artifacts ship at the end of every standard run:
G5_final.mp4Finished film
Stitched, scored, captioned MP4.
G6_brief.pdfClient brief
Puppeteer-rendered strategy PDF with projections.
Ten gates run in order. Strategy is reasoned and voted on first; a human approves the blueprint before a single frame is generated; only then do stills, clips, the stitch and the PDF run.
| Gate | Stage | Kind | What happens |
|---|---|---|---|
G0 | Research | Stage | Audience, platform and cultural context gathered up front. |
G1 | Brief | Stage | The one-liner is expanded into a structured creative brief. |
G2 | Blueprint | Stage | Shot-by-shot plan with rationale, hook and pacing logic. |
GA | Audio Plan | Stage | Voiceover and music intent mapped before anything renders. |
QC | Committee QC | Committee | Five-seat Counter-Propaganda Committee votes on the strategy. |
✓ | Strategy Review | Human gate | A human approves the blueprint before a frame is generated. |
G3 | Stills | Stage | Keyframes generated in parallel: fal / Higgsfield / OpenAI. |
G4 | Clips | Stage | Per-shot video routing: Seedance / Kling / Higgsfield. |
G5 | Stitch | Stage | Cuts, VO and music assembled with ffmpeg. |
G6 | Brief PDF | Stage | A client-ready brief is rendered alongside the film. |
Human gate. Strategy Review (✓) requires a person to approve the blueprint before any frame renders. The committee advises, the human decides.
Render path. G3 stills run in parallel, G4 clips route per shot, G5 stitches with ffmpeg, and G6 renders the brief PDF with puppeteer.
Before you're ever asked to approve, five independent seats (each its own model and brief) vote on the strategy. A FAIL from a veto seat blocks the run. Verdicts are PASS · WARN · FAIL.
genzGen Z taste-checker
Will this actually land with a 22-year-old, or does it read as a brand trying too hard?
culturalUAE / Khaleeji authenticity
Does it respect the culture it's speaking to: language, symbols, setting?
directorStory · pacing · shot logic
Does the cut sequence actually tell the story, with the right rhythm?
red_teamAttack, then steelman
Find the strongest case against this idea, then the strongest case for it.
hookFirst 3 seconds · platform fit
Does the open earn the scroll on the platform it's built for?
PASS: strategy proceeds.
WARN: noted, not blocking.
FAIL from a veto seat blocks it.
A FAIL from a veto seat blocks the strategy; the run ends in a failed state with the committee summary attached. A standard tier runs three seats (genz · director · hook); a special tier runs all five.
Pick the best model for the shot, not the one your pipeline is welded to. Backends are selected by env, with sensible fallbacks. Shots can even mix video providers.
Image
Selected by IMAGE_BACKEND, else first available in order fal → higgsfield → openai.
Video
Picked per shot from video_model. Shots can mix providers; routing.video_default is the fallback.
Direct via Volcengine Ark
Audio
ElevenLabs drives voiceover (GA1) and the music bed (GA2).
Three tiers trade ceremony for confidence. standard is the production default; special adds the full cultural review and two QC passes.
testFast iteration, no ceremony
- Strategy
- Inline mini-blueprint
- Committee
- None
- QC
- None
- Audio
- Not included
- Brief PDF
- Not included
standardDefaultThe production default
- Strategy
- Full package + rationale + PDF projections
- Committee
- 3 seats · genz / director / hook
- QC
- Auto-pass
- Audio
- Included
- Brief PDF
- Included
specialFlagship, fully gated
- Strategy
- Full package + cultural review
- Committee
- 5 seats · full committee
- QC
- QC1 after stills · QC2 after brief
- Audio
- Included
- Brief PDF
- Included
Every key the pipeline reads, and what it powers. ANTHROPIC_API_KEY is always required; provider keys are needed only for the backends you actually route to.
| Variable | Status | Drives |
|---|---|---|
| ANTHROPIC_API_KEY | required | Strategy: research, brief, blueprint, committee |
| FAL_API_KEY | conditional | Image backend fal (default) |
| HIGGSFIELD_API_KEY | conditional | Higgsfield image + video |
| HIGGSFIELD_API_KEY_SECRET | conditional | Paired secret for Higgsfield |
| OPENAI_API_KEY | conditional | OpenAI image backend |
| SEADANCE_API_KEY | conditional | Seedance video via Volcengine Ark |
| ELEVENLABS_API_KEY | conditional | Voiceover (GA1) + music bed (GA2) |
| IMAGE_BACKEND | optional | Force image backend; else fal → higgsfield → openai |
Higgsfield needs both HIGGSFIELD_API_KEY and HIGGSFIELD_API_KEY_SECRET. Set IMAGE_BACKEND to pin the image backend; leave it unset to fall through fal → higgsfield → openai.