Reelmaker
A pipeline skill that turns one sentence into a polished 9:16 reel: hero shots from Nano Banana 2 → 6–8s Seedance morph → ElevenLabs TTS → Whisper word-sync → GSAP per-word captions → brand endcard, composed by HyperFrames into a 1080×1920 H.264 MP4.
When to use it
- You want a vertical reel for TikTok / Reels / Shorts, not a 16:9 explainer.
- You're OK with AI-generated B-roll. (For real footage, use the video-editor skill — Ultra only.)
- You have ≤ $1 of credits and ~3 minutes of wall-clock to spare.
Quickstart
claude
# > "make a 9:16 reel about Printara. Hook with
# 'turn your kid's drawing into an Etsy bestseller',
# 5 segments, save to /workspace/printara-1.mp4"
Claude picks the reelmaker skill, generates a 5-segment config, kicks off HyperFrames and streams progress back to the terminal. Output lands at the path you specified.
Output format
- Resolution — 1080×1920 (TikTok / Reels / Shorts native).
- Codec — H.264 + AAC (works on iOS Safari without re-encode).
- Bitrate — ~8 Mbps for 25–30s reels (~15–25 MB total).
- Default destination —
/workspace/{name}.mp4.
Five hard rules (don't break them)
- Each segment uses
class="clip"+data-start. The orchestrator depends on the attribute. - Videos must be direct root children of
<body>. Don't wrap them in containers. - Strip the audio from Seedance and the endcard before render. They reuse the bus and clip the master.
- No imperative JS playback (
video.play()). Let HyperFrames drive it. - Hard-kill safety after exit tweens — otherwise GSAP leaves dangling listeners.
Environment variables
KIE_API_KEY=... # Nano Banana 2 + Seedance 2 + Kling
OPENAI_API_KEY=... # Whisper (word-level timestamps)
XSKILL_API_KEY=... # TTS (ElevenLabs-compatible)
ELEVEN_VOICE_ID=... # optional, defaults to Adam
cwd gotcha.
compose-from-assets.mjs requires relative output paths like -o final.mp4. Absolute paths break on directories that contain spaces. Always cd into the reel directory first.
Cost
- 5-segment reel ≈ 4 PNG + 1 morph + 60s TTS + Whisper ≈ $0.30 – $0.80 per reel.
- Higgsfield premium (Ultra plan, priority queue) ≈ 22–35 credits / reel ≈ $2 – $4.
Troubleshooting
- Captions clip the top of frame — bump
caption.safeTopto0.28inconfig.json. - Audio out of sync after segment 3 — you forgot to strip audio from Seedance. Re-run with
--strip-audio. - Render hangs at 100% on the endcard — GSAP exit tween blocking; the safety kill timer should land within 6s.
Last updated 2026-05-21
Edit on GitHub
soon