One-Sentence Video Production: Main Entry
Goal: User says what they need, Claude does the script, subtitles, motion effects, sound effects, rendering, self-check, thumbnail, and tagline – delivering a finished video. Don't ask for confirmation at every step; don't make the user confirm things you can decide yourself.
First: Check Materials (30 minutes before starting)
Refer to ../video-asset-prep/SKILL.md asset checklist: digital human (only needed for talking-head version), voice, block library, fixed framework. If any item is missing, go prepare it – don't proceed without it; pure motion-effect version doesn't need a digital human. Once materials are ready, everything below runs automatically.
0. Gather Requirements (ask at most once, bundle three questions into one)
Only ask questions that change video structure and cannot be defaulted. Anything unanswered gets the default:
| Question | Default |
|---|---|
| Topic and viewpoint (one sentence or rough script) | Required |
| Does it include a digital human on screen? | No (pure motion). If yes, user must provide digital human image and voiceover |
| Where does the voiceover come from? | User creates audio with their own cloned voice and sends it to you; if not available, use system TTS as placeholder through the full pipeline – only re-run alignment when the real voiceover arrives |
Fixed defaults: 1920×1080, 30fps, 60–80 seconds, no BGM (only provide voice + sound effects – user adds music themselves), subtitle capsules, light or dark theme based on topic, final deliverable at −16 LUFS, one horizontal + one vertical thumbnail pair, one-sentence tagline.
1. Pipeline (automatic progression)
| Step | What | Who | Output / Verification |
|---|---|---|---|
| S1 Script | Compress into 8–12 lines of talking copy: each line ≤20 characters, one idea per line, numbers on their own line; remove AI-style writing (short sentences, conversational, little parallelism); fact-check; word count ≈ duration × 4.8 | Claude | script_lines.json; only ask user if facts are questionable |
| S2 Voiceover | Rewrite according to voice tool pronunciation (abbreviations written letter-by-letter like A I) → user generates audio → local pause cap 0.4 s | User provides audio | voice.mp3; this is the only step that must wait for the user (placehold if missing) |
| S3 Alignment | Whisper forced alignment to character-level → split subtitles by word → double-check onset against waveform independently | Claude | words.json subs.json; subtitle onset ≤3 frames |
| S4 Digital Human (optional) | Browser-driven digital human tool: upload audio → generate → download. Authentication, payment, and deletion only done by user | Claude + User | Green-screen mp4 |
| S5 Keying (optional) | Chroma key + edge extension → VP9 alpha WebM; decode curve compensation; lip sync advanced 3 frames | Claude | key_host.py |
| S6 Timeline | All shot timings derived from word-level alignment (cut point = sentence start −6 frames), no manual frame numbers | Claude | timeline.ts single source of truth |
| S7 Motion | One shot per sentence, one camera, one focal point; all typing uses typewriter motion effect and register in typing.ts; sound effects generated per event | Claude | See ae-motion-craft |
| S8 Rendering | Segment + watchdog: no new frame within 5 minutes kills process and retry ≤3 times; log start/end times of each segment | Claude | Segmented mp4 → concatenate → mix audio |
| S9 Self-Check | See Section 3 checklist; check against real file timestamps and logs – don't say 'almost done' by gut feeling | Claude | Self-check table |
| S10 Packaging | Horizontal + vertical thumbnails (main + alternative), check thumbnail dimensions, one-sentence viral tagline | Claude | 4 thumbnails + tagline |
2. Things Only Humans Can Do (everything else you do yourself)
Voice audio generation, digital human authentication, payment confirmation, account/image deletion, final aesthetic approval. When encountering these, explain what's needed in one shot – don't break into multiple rounds of questions.
3. Self-Check Checklist (mark ✓/✗/value for each before delivery)
- Duration: video–audio difference ≤0.05 s; ffprobe 1920×1080 / 30fps / BT.709
- Loudness −16 LUFS (voice + sound effects), peak < −1 dBFS; sound effects at least 10 dB below voice
- Subtitles: onset deviation from waveform ≤3 frames per line, no time overlap, single style
- Purple pixel ratio (if purple lines are unwanted) <0.2%; cuts every 2 frames without hard jumps
- Each typing block: character count = keypress sound count
- No third-party brands / real people / internal filenames in frame; Chinese on-screen text uses common wording
- Render artifacts timestamps later than last modification; log has no failed segments
4. Hard Rules (learned from experience)
- Don't guess causes: If rendering stalls, first check file modification time vs current time, read the full log, then draw conclusions.
- Don't make the user a supervisor: For long tasks, write timestamps on each segment; if stuck, discover and retry yourself.
- Preview with still frames / low-res first, then render 1080p.
- Subtitles must be word-level aligned – never estimate by character count.
- No BGM; no explanatory small text; no large dark blocks on light backgrounds; no purple.
- One specific piece of user feedback only redoes the affected shots – not the whole video.
- After delivery, don't repeat the process report – give: location, what changed, known flaws, thumbnails, one-sentence tagline.
5. Related
- Materials (digital human / voice / block library / fixed framework):
../video-asset-prep/SKILL.md - This skill's details are in
references/: script & hooks (hooks-and-copy, thinking, templates), storyboard & visuals (visual-mapping, motion-and-camera, packaging), subtitle alignment (subtitle-sync), comfort rules (comfort-rules), full production playbook (production-playbook), talking-head fusion (hosted-video-fusion), rendering & pipeline (remotion-pipeline, promo-and-hosted-pipeline), sound effects (motion-polish-and-sfx), collaboration (collaboration), English version (english), thumbnail assets (gemini-asset-prompts). references/legacy-combo-style-SKILL.mdis the old overview before split – for reference only; file paths in it should now follow the current directory.- Scripts:
scripts/,../../pipeline-scripts/; full methodology:../../方法论-制作篇.md