Script-to-Video Drama Maker · Open Skill 公開スキル

Script-to-Video Drama Maker

Also use to redo or tweak one stage of an ongoing script-to-video project

@SDramavox26

Story

3 0 3

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4224455/2026-10-17/en84ek6c.png

---

allowed-tools:
  - generate_image
  - generate_video
  - generate_tts
  - generate_music
  - mix_clips
  - probe_media
  - create_document
  - update_document
  - get_document
  - transcribe_audio
---

# Script-to-Video Drama Maker

## When to use
- The user provides a text script (short drama, AI drama, horror, thriller, romance, etc.) and wants it turned into a full-length video.
- The user emphasizes that the video length must match the script (e.g. "5-minute script → ~300 seconds"), not a fixed short clip.
- The user wants facial expressions to follow the script's emotional beats, character-consistent faces, character voices, background music, and a final stitched cut.

## Reference files
- `references/pipeline.md`: the full per-scene pipeline, timing math, and `entity_type` conventions. Read it before starting a full build.

## Steps
1. Get the script. If the user pasted text, use it directly. If they uploaded a document, call `get_document(asset_id=...)`. If they uploaded a video/audio of a script, use `transcribe_audio` (speech) and/or `recognize_video` (visuals) to extract it.
2. Read `references/pipeline.md` for the full workflow before generating anything.
3. Use `write_todos` to list the stages (script → scenes → timing → characters/expressions → backgrounds → clips → voiceover → music → stitch → verify) and update it as you progress.
4. Break the script into scenes; for each scene record the setting, characters present, dialogue lines (speaker + exact text), and the dominant emotion/expression.
5. Compute per-scene target durations so the total matches the script length (see the timing math in `references/pipeline.md`). Never cram the whole script into one short clip.
6. Generate character sheets and per-scene expression images, then scene backgrounds.
7. Generate per-scene video clips with durations matching the computed timing.
8. Generate voiceover per dialogue line and one background music track.
9. Stitch all clips with `mix_clips`, adding voiceover, music, and burned-in subtitles.
10. Verify the total duration with `probe_media` and report the result to the user.

## Notes
- The whole point is **duration accuracy**: a 5-minute script must produce ~300 seconds of video. Compute timing from dialogue word count + action beats, split long scenes into multiple clips (each `generate_video` clip is short, typically ≤ ~10s), and stitch them.
- Facial expressions must follow the script: generate a per-scene expression image from the character sheet (via `i2i`) and use it as the start frame so the face animates with the right emotion.
- Use `orientation='portrait'` (9:16) for short-drama / vertical platforms; use `landscape` (16:9) if the user asks for cinematic widescreen.
- Video generation does not support NSFW/adult content on any channel — politely decline such requests.
- Report failures honestly and never fabricate URLs. Intermediate stage products will appear on the canvas; that's expected.
- When a stage completes, call `set_guidance` to suggest next actions (e.g. "redo the horror scene's expression", "make the total longer", "add subtitles").