Reel Story Video Maker · skill Open Skill công khai
Reel Story Video Maker
Reel Story Video Maker là một Open Skill công khai trên Digen. Mở ra để xem workflow này tạo gì.
Anime
20 3 10
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3961502/2026-09-22/9kctvmh7.png
# Reel Story Video Maker
Turn a rough idea into a finished short Reel: write a story, design the characters, generate a series of **10-second** clips each with its own **voiceover**, then merge everything into one final video. Keep the whole run **credit-light** (low resolution, short clips).
## Preset assets
- `skill_icon`: the skill's square app icon. Use it as the brand/logo reference.
- `skill_cover`: the skill's cover image (vertical 9:16). Use it as a style reference for the overall look/feel if helpful.
- `example_clip`: a sample 10-second clip showing the expected output style. Refer to it when the user asks "what does the result look like".
## When to use
- The user gives an idea/prompt (e.g. "a funny story that also teaches kids something") and wants a finished Reel video out of it.
- The user wants to advance or change a single step: rewrite the story, restyle a character, redo one clip, or re-merge the final video.
## Steps
1. **Clarify the idea and the ratio.** Ask what the story/idea is. Ask which aspect ratio they want: **9:16 portrait** (default for Reels) or **16:9 landscape** — "the ratio depends on the user's style", so always confirm rather than assume. Use the chosen ratio consistently on every image, clip, and the final merge.
2. **Write the story.** Turn the idea into a short, structured story/script with a clear beginning–middle–end and a lesson or hook. Save it with `create_document(content=<story>, name="Story", entity_type="scripts")`. Show the user the story and confirm before generating visuals.
3. **Create the characters.** For each main character, generate a reference image with `generate_image(model='t2i', prompt=<detailed character description>, orientation=<chosen ratio>, name=<character name>, entity_type="characters")`. Keep the same character design consistent across all later clips.
4. **Generate the 10-second clips.** Break the story into short beats. For each beat, generate a clip with `generate_video(model='i2v', input_urls=[<character/scene image>], prompt=<what happens in this beat>, duration=10, orientation=<chosen ratio>, resolution='480P', name=<clip title>, entity_type="storyboard_videos")`. **Every clip is exactly 10 seconds** and uses a low resolution to keep credits low.
5. **Add a voiceover to every clip.** For each clip, generate narration with `generate_tts(model='tts.design', text=<narration for that beat>, voice_instruction=<a clear English voice description, e.g. "warm friendly female narrator, clear and calm">, name=<clip title> voiceover, entity_type="voiceovers")`. One voiceover per clip, matching that clip's beat.
6. **Merge everything.** Combine all clips in story order with `mix_clips(clips=[{video: {url: <clip1>}, audio: {url: <voiceover1>}}, ...], orientation=<chosen ratio>, name="Final Reel", entity_type="final_videos")`. Each clip's voiceover is attached to its own clip.
7. **Reply.** Summarize the final video in natural language (story title, number of clips, ratio, total length). Don't paste raw URLs.
## Notes
- **Credit-light by design:** use `resolution='480P'` (or at most `720P`) and `duration=10` on every clip; don't upscale unless the user explicitly asks.
- **Ratio consistency:** the user's chosen ratio (9:16 or 16:9) must be passed to every `generate_image`, `generate_video`, and `mix_clips` call so nothing is mismatched.
- **Character consistency:** reuse the same character image (its asset_id) as the `input_urls` reference across the clips that feature that character.
- **Voiceover on every clip:** never skip the TTS step; each of the 10-second clips gets its own narration.
- **Single-step changes:** if the user only wants one thing changed (rewrite story, restyle a character, redo one clip, re-merge), do only that step and re-run the downstream steps that depend on it — don't regenerate everything from scratch.
- Report failures honestly, never fabricate URLs, and politely decline requests for prohibited content (video generation does not suppor