Human-directed.
Machine-assisted.
AI makes the footage. A person decides what it should be, rejects what isn't good enough and finishes what is. This is how the studio actually works, from the first idea to the posted film.
Creative direction
- Concept and story beats
- Shot-by-shot script: framing, angle, lens, camera movement
- Character and world design, locked in a style bible
- Keyframe approval before anything is animated
AI production
- Claude plans shots and orchestrates the run
- Runway API generates keyframes and motion
- Automated quality checks on every shot
- Python and FFmpeg assemble the picture
Finishing
- Frame-by-frame review of every take
- Music selection and sound design
- Edit, grade and export in DaVinci Resolve
- Final approval. Nothing posts without it.
From script to screen
Eight stages. The automated ones run on GitHub Actions; the human ones are where the film actually gets made.
Script
Story beats become a shot list with framing, angle, lens, movement, and start and end frames.
Rishi · ClaudeDesign refs
Characters and locations are generated once, approved, and locked as references.
Nano Banana ProKeyframes
One keyframe per shot, built from the locked references and approved before animation.
Runway APIShots
Each keyframe is animated with a single reference, plus an end frame for long moves.
Kling 4 via RunwayQuality check
Frames are sampled and checked for drift, morphing, extra limbs and broken physics.
Claude vision · checklistAssembly
Shots are trimmed, joined and scaled to a picture-only cut, ready for sound.
Python · FFmpegReview
Previews land in a GitHub issue. Each shot gets an /ok or a /redo with a reason.
Human approvalFinish & post
Music, sound, grade and export, then published with honest AI labels.
DaVinci · YouTube · XEvery /redo reason is logged and fed back into the next script and the quality checklist.
The architecture
How the services talk to each other. Keys live in GitHub Secrets, never in code or chat.
- ClaudeShot list, prompts, pipeline engineering
- GitHub ActionsRuns every job · keys in Secrets
- Runway APINano Banana Pro · Kling 4 · Seedance 2 · Gen-4.5
- QC + FFmpegClaude vision vs checklist · picture-only cut
- Approval issuePreviews for every keyframe and shot
- Director/ok or /redo with a reason ↺ feeds the next script
- DaVinci ResolveMusic, sound design, grade, export
- YouTube · XYouTube Data API via Google Cloud OAuth
What each tool is for
Claude
Writes shot lists and prompts, checks frames against the quality checklist, and helped build the pipeline itself.
GitHub Actions
Runs every production job, keeps API keys in Secrets, and stores every episode, prompt and preview under version control.
Runway API
One API for image and video models: Nano Banana Pro for designs and keyframes, Kling 4 for motion, plus Seedance 2 and Gen-4.5 for tests.
Python & FFmpeg
Deterministic editing: trims, joins, scaling, end cards and loudness checks. The same input always gives the same cut.
DaVinci Resolve
Where a human takes over: music, sound design, grade and the final vertical export.
Google Cloud
OAuth for the YouTube Data API, so approved films can be uploaded straight from the pipeline.
Three gates. Every film.
A written checklist every production has to pass. When something gets rejected, the reason becomes a new rule.
Keyframe
- Characters match their locked designs
- No duplicates or extra people in frame
- Framing and angle match the script
- Continuity with the previous shot
Shot
- No morphing, flicker or extra limbs
- Physically plausible: nothing walks through solid objects
- Camera movement looks intentional
- Models only switch at a cut
Final cut
- The first two seconds hook
- The story reads in one viewing
- The ending lands
- Sound at streaming loudness, no clipping
Pipeline source code is private. A walkthrough is available on request.