⭐ Storyboard MCP · Flagship · MTV with lyric typewriter

City LightThe MTV playbook — with lyrics · one indie-pop song into a polished music video in ~10 minutes

An anthemic indie-pop song generated by minimax-music at 110 BPM with a warm female vocal, paired with 6 painterly-noir cinematic scenes, beat-locked transitions, and an animated typewriter overlay of the lyrics — sync'd line-by-line to the song's structure. The video below is the proof: the playbook took 10 minutes wall-clock and ~$4 in inference to produce.

runtime
57.5 seconds
song
indie-pop · 110 BPM · 6 lyric lines
scenes
6 × krea-2-large + kling-v3-i2v
lyric overlay
Pillow PNG + ffmpeg overlay (typewriter sync)
cost
~$4 e2e
City Light · 1920×1080 cinema · lyrics sync57.5s · 6 scenes + 6 lyric reveals · minimax indie-pop · all paths reproducible

The lyrics — sung by minimax-music (via `lyrics_prompt`) and overlaid by Pillow + ffmpeg typewriter

I drew a city light tonight
and waited for the world to find
the way you used to walk through rain
and turn around to say my name
the city sleeps, the city wakes
I'm still here, for old time's sake

The 6 scenes — painterly noir, structure-locked to song sections

Scene 1
S1 · INTROcafe window, rain
Scene 2
S2 · VERSE 1waiting at the table
Scene 3
S3 · VERSE 2walking POV memory
Scene 4
S4 · BRIDGEthe call back
Scene 5
S5 · CHORUSdawn arriving over the city
Scene 6
S6 · CODApeaceful resolution

Pipeline trace — end-to-end with crossfade transitions + lyric overlay

Stage 1 — UNDERSTAND THE MUSIC 1 × create_media action=music, model=minimax-music with TWO inputs: prompt = "anthemic indie-pop, 110 BPM, warm female vocal, soft synths" STYLE lyrics_prompt = "[Verse]\nI drew a city light tonight\n…\n[Outro]\nfor old time's sake" WORDS Output: 60s mp3 with the lyrics above sung by a warm female vocal at 110 BPM done in ~37s ⚠ BUG class fixed 2026-06-03: prior runs left lyrics_prompt blank, so the singer literally sang the STYLE prompt out loud. Now create_media requires explicit lyrics_prompt — fails fast if missing.
Stage 2 — SCENE PLAN (agent-derived) 6 scenes × ~10s each, one per song section (intro / 2 verses / bridge / chorus / coda) Each scene's prompt embeds the visual_style + palette + per-section narrative beat
Stage 3 — KEYFRAMES (parallel) 6 × create_media model=krea-2-large, ~28s each all done in ~30s
Stage 4 — ANIMATE (parallel) 6 × create_media action=animate, model=kling-v3-i2v, duration=10s all done in ~100s
Stage 5 — LYRIC TYPEWRITER OVERLAY Python + Pillow renders 6 × 1920×1080 transparent PNGs, one per lyric line Font: Times New Roman, 64pt, warm-cream (#f4e8d0) with soft shadow, positioned at y=880 ffmpeg overlay chain with enable=between(t,start,end) per line — staggered every ~9.6s
Stage 6 — STITCH (local ffmpeg, deterministic) 6a · vertical-fit each 1:1 anim to 1920×1080 with blurred side bars 6b · xfade chain — 0.5s crossfade between adjacent clips at offsets 9.5/19/28.5/38/47.5 6c · overlay lyric PNGs at staggered timestamps with fade in/out 6d · mux music at 1.0 volume (no duck — the song IS the soundtrack)
Outputcity-light-reel.mp4 · 1920×1080 · 57.5s · 22MB · H.264 + AAC

Cost — honest end-to-end

Music
~$0.30
1 × minimax-music
Keyframes
~$0.38
6 × krea-2-large @ $0.063
Animations
~$3.15
6 × kling-v3-i2v @ $0.525
Stitching
$0.00
local ffmpeg + Pillow

Total: ~$3.83 for a 57.5-second MTV-grade reel with lyric typewriter. The per-second cost ($0.067/s) is cheaper than any agency-produced music video on the market.

Reproduce — the playbook is open

Pipeline lives in the music-video-mtv playbook. Bring your own Suno track, your own minimax-music brief, or any mp3 URL — the chassis works the same. Toggle lyric overlay via mode: "lyrics" or mode: "instrumental" in the brief.

Open the playbook → Instrumental sibling: Dawn Arriving → All showcases