⭐ Storyboard MCP · Talking-avatar playbook · English

"If today were the last day of your life…"Document in. Talking-avatar video + audio track out. ~$0.77, six stages, two artifacts.

A famous excerpt from Steve Jobs' 2005 Stanford Commencement address run through the talking-avatar playbook. The agent reviewed the text, rewrote it for speak-out cadence, picked a warm tech-keynote archetype, generated a portrait, synthesized the spoken audio with gemini-tts, and lip-synced it via sync-lipsync v3. Two artifacts come back: the talking-avatar MP4 and the standalone audio MP3.

Source text: Excerpt from Steve Jobs' Stanford University Commencement Address, June 12, 2005 (public archival recording). Used here as a technical demonstration of the talking-avatar pipeline. Avatar: a generic warm-tech-keynote archetype — NOT a likeness of Steve Jobs. Voice + face are synthesized; only the text is original.
source
English text · ~350 words
avatar
generic keynote archetype
voice
gemini-tts · Charon
duration
5s excerpt
cost
~$0.83

The two artifacts — what the playbook actually delivers

🎬 Talking-avatar video1024×1024 · 20s · sync-lipsync/v3 · 9.7 MB
🎧 Audio-only trackMP3 128 kbps · 20s · gemini-tts · 0.3 MB
Two artifacts, one pipeline. The audio in the MP4 is bit-identical to the standalone MP3 — no second render needed. The video goes on the landing page; the MP3 goes in the podcast / e-learning / accessibility share. Same word, same voice, same pacing.

The text — what got spoken (the source 20-second window)

"When I was 17, I read a quote that went something like: "If you live each day as if it was your last, someday you'll most certainly be right." It made an impression on me, and since then, for the past 33 years, I have looked in the mirror every morning and asked myself: "If today were the last day of my life, would I want to do what I am about to do today?"

The Stage-2 speak-out optimizer added breath commas (every ~15 syllables), em-dashes before the final clauses, and stripped any markdown the source might have contained. The TTS reads with natural pauses where a human reader would breathe — not robotically.

Pipeline trace — six stages, end to end

Stage 1 — REVIEW gemini-text analyzes source → {tone: "reflective", register: "warm-keynote", pace: "measured", archetype: "tech-keynote-elder"}
Stage 2 — SPEAK-OUT OPTIMIZE gemini-text rewrites text → adds breath commas every ~15 syllables, em-dashes before final clauses, strips markdown, de-acronymizes
Stage 3 — PICK VOICE gemini-tts voice "Charon" — warm male, measured cadence, ~50-year-old timbre
Stage 4 — GENERATE FACE gpt-image portrait → 1024×1024, mouth-closed, Rembrandt lighting, dark mock-turtleneck, salt-and-pepper hair portrait.png, 149s elapsed
Stage 5 — ANIMATE PORTRAIT (NEW — was a static loop) kling-v3-i2v(source: portrait, prompt: "subtle natural motion, gentle head sway, occasional blink, slight shoulder shift") motion-source.mp4 — 5s of real micro-expression + body language This is the critical step. WITHOUT it the lipsync runs on a frozen image and looks like a paper puppet. WITH it, the avatar has natural blinks, breath, weight shift — closer to a real talking head.
Stage 6 — SYNTHESIZE AUDIO gemini-tts(prompt: optimized_text, voice: "Charon") → audio.mp3 81-sec MP3 (full); trimmed to 5s for lipsync (matches motion-source duration)
Stage 7 — LIPSYNC + PACKAGE 7a · push motion-source.mp4 + audio-5s.mp3 to raw.githubusercontent 7b · lipsync(video_url=motion-source, audio_url=audio-5s) talking-avatar.mp4 — 5s motion + voice + regenerated lip movement (107s elapsed) 7c · ffmpeg extract audio → audio-only.mp3 (artifact #2)
Output → 2 artifacts: talking-avatar.mp4 + audio-only.mp3

Cost — five caps, six stages, ~$0.30

Review + optimize
~$0.01
gemini-text × 2
Avatar portrait
~$0.04
gpt-image · 1024²
TTS audio
~$0.07
gemini-tts · 81s
Motion (NEW)
~$0.53
kling-v3-i2v · 5s
Lipsync
~$0.04
sync-lipsync/v3 · 5s
ffmpeg + extract
$0.00
local

Total: ~$0.83 for one 5-second talking avatar with real motion + voice in English. The kling-v3-i2v step is now essential — a static-image lipsync produces a paper-puppet effect. Compare to a custom video-editor + voice-actor pass for a recorded read-aloud — typically $200-500 for the same length. Per-second cost: $0.17/s.

Honest limit on this showcase

5 seconds is what kling-v3-i2v generates by default. For longer reads, the playbook documents chunking the audio at sentence boundaries (≤5s each), running per-chunk kling-v3-i2v + sync-lipsync, and ffmpeg-concat'ing the results. The full ~81-second gemini-tts MP3 lives in the repo (audio.mp3) for the chunk-and-concat use case.

Open the playbook → Sibling: 朱自清《匆匆》 (Chinese) → All showcases