🎬 Turn any topic into a finished Vox-style paper-collage explainer / motion graphics video — script, collage keyframes, animation, voice-over, music & captions, all automated. An agent skill for Claude Code, Codex & other coding agents.
192
stars
23
commits
Python
primary language
Sep 2, 2026
updated
📺 Watch the Vox AI Motion Graphics Generator in action →
🎬 Screenwriter, Collage Artist, Animator, and Editor — all in one automated pipeline.
Type one topic. The agent writes the story beats, renders each beat as a torn-paper collage poster, animates it, adds a narrator voice-over, music, and burned-in captions — then stitches everything into a finished final.mp4. You stay in control with just two approval gates: the story beat map and the visual theme.
https://github.com/user-attachments/assets/3db826d1-3271-4e8a-b4d0-a843013e67c7
One topic in, a fully narrated & captioned Vox-style collage video out. (download the demo)
"Make me a 15-second Vox-style collage video on the history of coffee." → a styled
final.mp4, fully narrated and captioned.
Below are end-to-end videos generated using the pipeline:
https://github.com/user-attachments/assets/d9b3e85b-2f4a-4c64-9692-747f085dfd28
▶ "History of Coffee (Ethiopia 850 AD)" · 5s (B-roll Film)
https://github.com/user-attachments/assets/6628b678-78ff-481a-bc39-d7098ec1f2fe
▶ "Cold Brew Product Ad" · 5s (C-roll Film)
| Mode | Film Title | Topic / Subject | Playable Video Link | Keyframe Poster | Motion Model | Narration Voice |
|---|---|---|---|---|---|---|
| B-roll | ☕ History of Coffee | Ethiopia 850 AD | Play Video (out/demo/final.mp4) | out/demo/keyframes/kf_1a.jpg | veo3.1-image-to-video | MiniMax TTS (Q19bea09caa6IRAeW7) |
| C-roll | 🍾 Cold Brew Product Ad | Artisanal Cold Brew Bottle | Play Video (out/demo-croll/final.mp4) | out/demo-croll/keyframes/kf_1.jpg | veo3.1-image-to-video | MiniMax TTS (Q19bea09caa6IRAeW7) |
🎬 Generated Assets Summary:
- ☕ B-roll (History of Coffee):
- 📹 Video: Play Video (
out/demo/final.mp4) | 🖼️ Poster:out/demo/keyframes/kf_1a.jpg| 📹 Clip:out/demo/clips/clip_1a.mp4| 🎙️ Voice:out/demo/audio/narr_1.mp3| 🎵 BGM:out/demo/audio/bgm.mp3- 🍾 C-roll (Cold Brew Product Anchor):
- 📹 Video: Play Video (
out/demo-croll/final.mp4) | 📸 Anchor Photo:out/demo-croll/anchor_photo.jpg| 🖼️ Poster:out/demo-croll/keyframes/kf_1.jpg| 📹 Clip:out/demo-croll/clips/clip_1.mp4| 🎙️ Voice:out/demo-croll/audio/narr_1.mp3| 🎵 BGM:out/demo-croll/audio/bgm.mp3
openai-whisper) and re-style into paper-collage while keeping real face, gestures, and lip-syncThe aesthetic is the modern editorial paper-collage popularized by Vox explainers and creators like Stav Zilber and rom1trs: hand-cut paper cutouts, torn edges, tape, halftone dots, newspaper clippings, bold flat colors per beat, and big cutout headlines — brought to life with dynamic motion, a narrator voice-over, music, and burned-in captions.
The collage look is born in the image step (each beat is a finished collage poster), and the motion is added after — so the DNA of the style is locked in before anything moves.
A single topic, video, or photo flows through the pipeline driven by beats.json under out/<project>/:
topic / video / photo
│
├─ 1. Beat Map Pick a narrative arc → write beats.json ◀── GATE 1: approve the beat map
├─ 2. Style Bake-Off Render the same beat in 3–4 themes ◀── GATE 2: pick the look
├─ 3. Keyframes One collage poster per beat (nano-banana-2 / flux-dev)
├─ 4. Motion Animate each poster into a clip (veo3.1-image-to-video)
├─ 5. Voice & Music Narration (minimax-speech-2.6) + BGM (suno-create-music)
├─ 6. Assemble Stitch clips, duck music, burn captions (ffmpeg)
└─ final.mp4
final.mp4.final.mp4.final.mp4.| Pipeline Job | Model Endpoint |
|---|---|
| Keyframes / Collage Posters | nano-banana-2 / flux-dev |
| Motion / Animation | veo3.1-image-to-video / veo3.1-fast-image-to-video / runway-image-to-video |
| Re-style Talking-Head (A-roll) | gemini-omni-video-edit / veo3.1-image-to-video |
| Anchor Photo in Collage (C-roll) | nano-banana-2 / flux-dev |
| Narration (TTS) | minimax-speech-2.6-turbo |
| Voice Cloning (C-roll) | minimax-voice-clone |
| Background Music | suno-create-music |
| Audio Transcription (A-roll ASR) | openai-whisper |
| Background Removal | remove-background |
1. Install local dependencies
brew install ffmpeg on macOS / choco install ffmpeg on Windows)pip install pillow)2. Configure environment keys
export MUAPI_API_KEY="your-api-key" # image / video / voice / music models — key from muapi.ai
export OPENAI_API_KEY="your-openai-key" # story planning & ASR
3. Run Pipeline via Agent or CLI:
Ask your coding agent:
"Make me a 15-second Vox-style collage video introducing the history of coffee."
Or run CLI scripts manually:
python scripts/style_bakeoff.py out/my-topic american-retro,swiss-modern,punk-zine
python scripts/keyframes.py out/my-topic
python scripts/clips.py out/my-topic
python scripts/audio.py out/my-topic
python scripts/assemble.py out/my-topic
python scripts/asr_beats.py out/my-aroll source_presentation.mp4
python scripts/aroll_clips.py out/my-aroll
python scripts/aroll_assemble.py out/my-aroll
python scripts/croll_keyframes.py out/my-croll
python scripts/clips.py out/my-croll
python scripts/audio.py out/my-croll
python scripts/assemble.py out/my-croll
.
├── SKILL.md # full agent workflow + approval gates
├── AGENTS.md # entry point for coding agents (Claude Code, Codex, Antigravity)
├── README.zh.md # Chinese documentation
├── scripts/ # one script per pipeline stage
│ ├── muapi_client.py # MuAPI client wrapper
│ ├── provider.py # task queue & status polling
│ ├── style_bakeoff.py # multi-theme style candidates
│ ├── keyframes.py # B-roll collage poster generator
│ ├── clips.py # B-roll video animator (Veo 3.1)
│ ├── audio.py # TTS narration & Suno music generator
│ ├── text_overlay.py # subtitle captions & watermark generator
│ ├── assemble.py # ffmpeg video assembly, ducking & composition
│ ├── asr_beats.py # A-roll Whisper ASR beat cutter
│ ├── aroll_clips.py # A-roll talking-head video restyler
│ ├── aroll_assemble.py # A-roll clip & audio remuxer
│ └── croll_keyframes.py # C-roll photo sticker anchor generator
├── references/ # prompt guide, beat/story library, voices
└── examples/ # sample beats.json
This is an agent skill — Claude Code auto-loads it from SKILL.md; Codex and other agents follow SKILL.md via AGENTS.md. Just ask for a "vox video" or a "collage video."
⭐ Star this repo if it helped you — and explore 50+ more open-source AI apps →
22 commits
1 commits
Python
100.0%
🎬 Turn any topic into a finished Vox-style paper-collage explainer / motion graphics video — script, collage keyframes, animation, voice-over, music & captions, all automated. An agent skill for Claude Code, Codex & other coding agents.
192
stars
23
commits
Python
primary language
Sep 2, 2026
updated
📺 Watch the Vox AI Motion Graphics Generator in action →
🎬 Screenwriter, Collage Artist, Animator, and Editor — all in one automated pipeline.
Type one topic. The agent writes the story beats, renders each beat as a torn-paper collage poster, animates it, adds a narrator voice-over, music, and burned-in captions — then stitches everything into a finished final.mp4. You stay in control with just two approval gates: the story beat map and the visual theme.
https://github.com/user-attachments/assets/3db826d1-3271-4e8a-b4d0-a843013e67c7
One topic in, a fully narrated & captioned Vox-style collage video out. (download the demo)
"Make me a 15-second Vox-style collage video on the history of coffee." → a styled
final.mp4, fully narrated and captioned.
Below are end-to-end videos generated using the pipeline:
https://github.com/user-attachments/assets/d9b3e85b-2f4a-4c64-9692-747f085dfd28
▶ "History of Coffee (Ethiopia 850 AD)" · 5s (B-roll Film)
https://github.com/user-attachments/assets/6628b678-78ff-481a-bc39-d7098ec1f2fe
▶ "Cold Brew Product Ad" · 5s (C-roll Film)
| Mode | Film Title | Topic / Subject | Playable Video Link | Keyframe Poster | Motion Model | Narration Voice |
|---|---|---|---|---|---|---|
| B-roll | ☕ History of Coffee | Ethiopia 850 AD | Play Video (out/demo/final.mp4) | out/demo/keyframes/kf_1a.jpg | veo3.1-image-to-video | MiniMax TTS (Q19bea09caa6IRAeW7) |
| C-roll | 🍾 Cold Brew Product Ad | Artisanal Cold Brew Bottle | Play Video (out/demo-croll/final.mp4) | out/demo-croll/keyframes/kf_1.jpg | veo3.1-image-to-video | MiniMax TTS (Q19bea09caa6IRAeW7) |
🎬 Generated Assets Summary:
- ☕ B-roll (History of Coffee):
- 📹 Video: Play Video (
out/demo/final.mp4) | 🖼️ Poster:out/demo/keyframes/kf_1a.jpg| 📹 Clip:out/demo/clips/clip_1a.mp4| 🎙️ Voice:out/demo/audio/narr_1.mp3| 🎵 BGM:out/demo/audio/bgm.mp3- 🍾 C-roll (Cold Brew Product Anchor):
- 📹 Video: Play Video (
out/demo-croll/final.mp4) | 📸 Anchor Photo:out/demo-croll/anchor_photo.jpg| 🖼️ Poster:out/demo-croll/keyframes/kf_1.jpg| 📹 Clip:out/demo-croll/clips/clip_1.mp4| 🎙️ Voice:out/demo-croll/audio/narr_1.mp3| 🎵 BGM:out/demo-croll/audio/bgm.mp3
openai-whisper) and re-style into paper-collage while keeping real face, gestures, and lip-syncThe aesthetic is the modern editorial paper-collage popularized by Vox explainers and creators like Stav Zilber and rom1trs: hand-cut paper cutouts, torn edges, tape, halftone dots, newspaper clippings, bold flat colors per beat, and big cutout headlines — brought to life with dynamic motion, a narrator voice-over, music, and burned-in captions.
The collage look is born in the image step (each beat is a finished collage poster), and the motion is added after — so the DNA of the style is locked in before anything moves.
A single topic, video, or photo flows through the pipeline driven by beats.json under out/<project>/:
topic / video / photo
│
├─ 1. Beat Map Pick a narrative arc → write beats.json ◀── GATE 1: approve the beat map
├─ 2. Style Bake-Off Render the same beat in 3–4 themes ◀── GATE 2: pick the look
├─ 3. Keyframes One collage poster per beat (nano-banana-2 / flux-dev)
├─ 4. Motion Animate each poster into a clip (veo3.1-image-to-video)
├─ 5. Voice & Music Narration (minimax-speech-2.6) + BGM (suno-create-music)
├─ 6. Assemble Stitch clips, duck music, burn captions (ffmpeg)
└─ final.mp4
final.mp4.final.mp4.final.mp4.| Pipeline Job | Model Endpoint |
|---|---|
| Keyframes / Collage Posters | nano-banana-2 / flux-dev |
| Motion / Animation | veo3.1-image-to-video / veo3.1-fast-image-to-video / runway-image-to-video |
| Re-style Talking-Head (A-roll) | gemini-omni-video-edit / veo3.1-image-to-video |
| Anchor Photo in Collage (C-roll) | nano-banana-2 / flux-dev |
| Narration (TTS) | minimax-speech-2.6-turbo |
| Voice Cloning (C-roll) | minimax-voice-clone |
| Background Music | suno-create-music |
| Audio Transcription (A-roll ASR) | openai-whisper |
| Background Removal | remove-background |
1. Install local dependencies
brew install ffmpeg on macOS / choco install ffmpeg on Windows)pip install pillow)2. Configure environment keys
export MUAPI_API_KEY="your-api-key" # image / video / voice / music models — key from muapi.ai
export OPENAI_API_KEY="your-openai-key" # story planning & ASR
3. Run Pipeline via Agent or CLI:
Ask your coding agent:
"Make me a 15-second Vox-style collage video introducing the history of coffee."
Or run CLI scripts manually:
python scripts/style_bakeoff.py out/my-topic american-retro,swiss-modern,punk-zine
python scripts/keyframes.py out/my-topic
python scripts/clips.py out/my-topic
python scripts/audio.py out/my-topic
python scripts/assemble.py out/my-topic
python scripts/asr_beats.py out/my-aroll source_presentation.mp4
python scripts/aroll_clips.py out/my-aroll
python scripts/aroll_assemble.py out/my-aroll
python scripts/croll_keyframes.py out/my-croll
python scripts/clips.py out/my-croll
python scripts/audio.py out/my-croll
python scripts/assemble.py out/my-croll
.
├── SKILL.md # full agent workflow + approval gates
├── AGENTS.md # entry point for coding agents (Claude Code, Codex, Antigravity)
├── README.zh.md # Chinese documentation
├── scripts/ # one script per pipeline stage
│ ├── muapi_client.py # MuAPI client wrapper
│ ├── provider.py # task queue & status polling
│ ├── style_bakeoff.py # multi-theme style candidates
│ ├── keyframes.py # B-roll collage poster generator
│ ├── clips.py # B-roll video animator (Veo 3.1)
│ ├── audio.py # TTS narration & Suno music generator
│ ├── text_overlay.py # subtitle captions & watermark generator
│ ├── assemble.py # ffmpeg video assembly, ducking & composition
│ ├── asr_beats.py # A-roll Whisper ASR beat cutter
│ ├── aroll_clips.py # A-roll talking-head video restyler
│ ├── aroll_assemble.py # A-roll clip & audio remuxer
│ └── croll_keyframes.py # C-roll photo sticker anchor generator
├── references/ # prompt guide, beat/story library, voices
└── examples/ # sample beats.json
This is an agent skill — Claude Code auto-loads it from SKILL.md; Codex and other agents follow SKILL.md via AGENTS.md. Just ask for a "vox video" or a "collage video."
⭐ Star this repo if it helped you — and explore 50+ more open-source AI apps →
22 commits
1 commits
Python
100.0%