video-generation
End-to-end AI video production through the Hyper MCP — text-to-video and image-to-video generation (Sora, Veo, Seedance), scene chaining, video analysis, transcription, subtitles, TikTok / karaoke captions, voiceover (TTS), audio mixing, clipping, stitching, and text overlays. Us
Install
npx skills add https://github.com/hyperfx-ai/marketing-skills/tree/main/skills/video-generation
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install hyperfx-ai-marketing-skills@llmmart
git clone https://github.com/hyperfx-ai/marketing-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole hyperfx-ai/marketing-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Video Generation & Editing
Guide for generating, editing, analyzing, and post-processing videos using AI models and FFmpeg-backed tools exposed through the Hyper MCP.
Requirements
This skill assumes the Hyper MCP is connected to your agent so the tools below are available. The underlying providers (OpenAI Sora, Google Veo, ByteDance Seedance, OpenAI TTS, transcription, etc.) are configured under your Hyper integrations.
How to run the tools in this skill
Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:
| Surface | Find a tool | Run it |
|---|---|---|
| MCP client (Claude, Cursor, Codex, ChatGPT) | search("<what you want to do>"), then describe("<name>") |
call("<name>", {...}) |
| Hyper CLI | hyperai search "<what you want to do>", then hyperai describe <name> |
hyperai call <name> --json '{...}' |
If a tool is not found, its integration is not connected or not enabled for the workspace: stop and tell the user which integration to connect.
Tool surface
| Group | Tools |
|---|---|
| Generation | videos_generate, sora_videos_remix, sora_videos_delete |
| Analysis | videos_analyze, videos_frames_capture, videos_transcribe |
| Subtitles & captions | videos_subtitles_generate, videos_subtitles_burn, videos_captions_burn_highlighted |
| Audio | audio_speech_generate, videos_audio_add |
| Editing | videos_clips_extract, videos_stitch, videos_text_overlays_add |
Out of scope
- Image generation, ad creative composition, brand extraction — use
image-generationorad-creative-generation. - Posting finished videos to social platforms — use
tiktok,instagram, orlinkedin. - Running paid video campaigns — use
google-ads,meta-ads,tiktok-ads.
Available Tools
| Tool | Purpose | Runs in Background |
|---|---|---|
videos_generate |
Generate video from text / image prompt | Yes |
sora_videos_remix |
Modify existing Sora video | Yes |
sora_videos_delete |
Delete a Sora video | No |
videos_frames_capture |
Extract frame as image | No |
videos_analyze |
Watch and understand video content | No |
videos_transcribe |
Extract audio transcript | No |
videos_subtitles_generate |
Create SRT / VTT subtitle file | No |
videos_subtitles_burn |
Burn subtitles onto video | Yes |
videos_captions_burn_highlighted |
TikTok / karaoke-style word-by-word captions | Yes |
audio_speech_generate |
Generate voiceover audio from text | No |
videos_audio_add |
Add / replace audio track on video | Yes |
videos_clips_extract |
Extract a time segment from video | Yes |
videos_stitch |
Concatenate multiple clips | Yes |
videos_text_overlays_add |
Add text / titles to video | Yes |
Video Understanding
You can watch and analyze any video using videos_analyze. This sends the video to a multimodal AI that sees both visual and audio content.
When to use videos_analyze
- After generating a video: check if it matches your intent
- Before stitching: verify scene consistency across clips
- Quality review: check for glitches, character drift, lighting issues
- Content understanding: "what happens in this video?"
Analysis Types
videos_analyze(file_id="...", analysis_type="general")
videos_analyze(file_id="...", analysis_type="quality_review")
videos_analyze(file_id="...", analysis_type="scene_breakdown")
videos_analyze(file_id="...", question="Does this match: [original prompt]?")
Self-Review Workflow
Always review generated videos before delivering to the user:
result = videos_generate(prompt="...", model="veo-3.1-generate-preview")
review = videos_analyze(file_id="video_file_id", analysis_type="quality_review")
# If issues found, regenerate with adjustments. If quality is good, proceed to editing.
Routing table
All reference files live in
references/. Read them atreferences/<file>(e.g.references/generation.md).
| The user wants to… | Read these files first |
|---|---|
| Generate a video (any model) | references/generation.md — model selection, parameter matrix, prompt templates |
| Build a longer multi-scene video | references/generation.md — script planning + scene chaining |
| Add subtitles / captions / voiceover / overlays, or clip a video | references/post-production.md |
| Produce UGC / TikTok content end-to-end | references/ugc-video.md (ugc_videos_create modes) → references/workflows.md |
| Shape a prompt for a specific model (Sora / Veo / Seedance / Kling) | references/video-prompting.md |
| Turn a podcast / long video into short clips | references/workflows.md → references/post-production.md |
| Understand or QA an existing video | Use videos_analyze (see Video Understanding above) |
Best Practices
- Review before delivering: always use
videos_analyzeto check your output. - Maintain visual consistency: use the same character descriptions, lighting, and style across all scenes.
- Plan transitions: design the end of each scene to flow into the next.
- Batch similar scenes: generate scenes with similar settings together.
- Review before chaining: check each scene before using its last frame for the next.
- Use single-variable iteration: remix / regenerate by changing one variable at a time.
- Add captions for accessibility: use the subtitle pipeline for all UGC content.
Files (marketing-skills)
-
references
-
generation.md 5.1 KB
# Video Generation: Models, Prompting & Scene Chaining ## Script Planning For longer, cohesive videos, plan the FULL SCRIPT before generating: ### 1. Scene Breakdown - **Scenes:** break story into segments - Sora: 4 / 8 / 12 seconds per scene - Veo: 4-8 seconds per scene - Seedance: 4-15 seconds per scene (native audio with lip-sync) - **Camera:** shot type (wide, close-up, tracking), angles, movement - **Transitions:** how each scene connects to the next - **Consistency:** character descriptions, color palette, visual style ## Scene Chaining Technique To create seamless multi-scene videos: ### Scene 1 (text-to-video) ```python videos_generate(prompt="...", model="veo-3.1-generate-preview") ``` ### Scene 2+ (image-to-video) ```python videos_frames_capture(video_file_id="scene1_file_id", frame_position="last") videos_generate(prompt="continuation: ...", image_file_id="captured_frame_id") ``` Repeat: extract last frame → generate next scene. ### Stitching Scenes Together After generating all scenes, combine them: ```python videos_stitch(video_file_ids=["scene1_id", "scene2_id", "scene3_id"]) videos_stitch( video_file_ids=["scene1_id", "scene2_id", "scene3_id"], transition="crossfade", crossfade_duration=0.5, ) ``` ## Prompt Structure Each scene prompt should include: - "Continuation of previous scene" (for scenes 2+) - Consistent character / setting descriptions - Specific action for this segment - Camera movement direction ## Control Principles (most important) - Treat API params as the **container** and prompt text as the **content**: - `model`, `size` / `aspect_ratio`, and `duration_seconds` must be set explicitly in the tool call. - Do not expect prose like "make it longer" or "make it vertical" to override API parameters. - Use detail for control, brevity for exploration: - Short prompts give more creative variation. - Detailed prompts improve consistency and shot control. - Iterate in small steps: - Change one major variable at a time (camera, lighting, action, or palette). - Keep what works fixed and only modify the target dimension. ## Key Parameters | Parameter | Description | |-----------|-------------| | `image_file_id` | Use for image-to-video (scene continuity) | | `videos_frames_capture` | Extract frames with `frame_position="last"` \| `"first"` \| `"middle"` | | `size` | For Sora only. One of: `"720x1280"`, `"1280x720"`, `"1024x1792"`, `"1792x1024"` | | `aspect_ratio` | For Veo only. One of: `"16:9"` or `"9:16"` | | `duration_seconds` | Sora: 4, 8, or 12 seconds only. Veo: 4-8 seconds | ## Important Input Rules - Use exact values accepted by the tool schema. Do not send aliases like `landscape`, `portrait`, `720p`, or `1080p`. - For Sora, prefer `size` and do not send `aspect_ratio`. - For Veo, prefer `aspect_ratio` and do not send `size`. - For Seedance, use `aspect_ratio` and optionally `resolution`. Do not pass `size`. - Keep the same `size` / `aspect_ratio` across chained scenes for continuity. ## Model Selection Guide **When the user mentions a specific model name, always use that model.** Map user requests to the correct `model` parameter: | User says | `model` parameter | |-----------|-------------------| | "use seedance", "seedance video" | `"seedance-2"` | | "fast seedance" | `"seedance-2-fast"` | | "use sora", "sora video" | `"sora-2"` | | "sora pro" | `"sora-2-pro"` | | "use veo", "veo video" | `"veo-3.1-generate-preview"` | | "fast veo" | `"veo-3.1-fast-generate-preview"` | ## Model-Specific Parameter Matrix - **Sora models (`sora-2`, `sora-2-pro`)** - Allowed sizing parameter: `size` - Allowed `size` values: `"720x1280"`, `"1280x720"`, `"1024x1792"`, `"1792x1024"` - Do not pass `aspect_ratio` - Practical default pair: `"1280x720"` or `"720x1280"` - **Veo models (`veo-3.1-generate-preview`, `veo-3.1-fast-generate-preview`)** - Allowed sizing parameter: `aspect_ratio` - Allowed `aspect_ratio` values: `"16:9"`, `"9:16"` - Do not pass `size` - **Seedance models (`seedance-2`, `seedance-2-fast`)** - Allowed sizing parameters: `aspect_ratio` and `resolution` - Allowed `aspect_ratio` values: `"16:9"`, `"9:16"`, `"1:1"`, `"4:3"`, `"3:4"` - Allowed `resolution` values: `"480p"`, `"720p"` - Supports `generate_audio=true` for native audio with lip-sync - Do not pass `size` ## Duration Limits - **Sora:** 4, 8, or 12 seconds per generation. Use scene chaining + `videos_stitch` for longer videos. - **Veo:** 4, 5, 6, 7, or 8 seconds per generation. - **Seedance:** 4-15 seconds per generation (most flexible). Supports `generate_audio=true` for native audio with lip-sync. ## High-Control Prompt Template Use this structure when you want predictable output: ```text Style/Tone: [realistic, cinematic, animation, documentary, etc.] Subject/World: [who/what is in frame, key visual anchors] Camera: [shot size + angle + movement] Lighting/Palette: [light direction + 3-5 color anchors] Action Beats: - [beat 1 with timing/count] - [beat 2 with timing/count] - [beat 3 with timing/count] Audio/Dialogue: [short lines or ambient cues] Constraints: [no logos/brands, no text overlays, etc.] ``` -
post-production.md 2.7 KB
# Video Generation: Post-Production (Subtitles, Audio, Overlays, Clipping) ## Subtitle / Caption Workflow ### Full pipeline: Video → Transcript → Subtitles → Burned Video ```python transcript = videos_transcribe(file_id="video_file_id") subs = videos_subtitles_generate(file_id="video_file_id", transcript=transcript, format="srt") videos_subtitles_burn( video_file_id="video_file_id", subtitle_file_id=subs.file_id, style="bold_outline", position="bottom", ) ``` ### Subtitle Styles | Style | Effect | |-------|--------| | `default` | Plain white text | | `bold_outline` | Bold white with black outline (recommended) | | `shadow` | White text with drop shadow | | `box` | White text on semi-transparent black box | ## Text Overlays Add titles, lower-thirds, CTAs, and other graphics: ```python videos_text_overlays_add( video_file_id="video_file_id", overlays=[ { "text": "Episode 1: The Beginning", "start_time": 0.0, "end_time": 3.0, "position": "center", "font_size": 48, "color": "white", "background": "black@0.5", }, { "text": "Subscribe for more!", "start_time": 10.0, "end_time": 14.0, "position": "bottom-right", "font_size": 28, }, ], ) ``` ### Overlay Positions `top`, `bottom`, `center`, `top-left`, `top-right`, `bottom-left`, `bottom-right` ## Voiceover / Narration Generate natural-sounding voiceover with TTS and add it to any video: ```python audio = audio_speech_generate( text="Welcome to our product. Here's how it works...", voice="nova", model="tts-1", ) videos_audio_add( video_file_id="video_id", audio_file_id=audio.file_id, mode="replace", ) videos_audio_add( video_file_id="video_id", audio_file_id=audio.file_id, mode="mix", audio_volume=0.8, ) ``` ### Available Voices `alloy`, `ash`, `coral`, `echo`, `fable`, `nova` (recommended), `onyx`, `sage`, `shimmer` ## Highlighted Captions (TikTok / Reels Style) Add word-by-word highlighted captions that light up as spoken: ```python videos_captions_burn_highlighted( video_file_id="video_id", style="tiktok", highlight_color="#3B82F6", base_color="white", words_per_group=3, position="center", ) videos_captions_burn_highlighted( video_file_id="video_id", style="karaoke", highlight_color="yellow", base_color="white", background="black@0.6", words_per_group=4, position="bottom", ) ``` ## Video Clipping Extract segments from longer videos: ```python videos_clips_extract( video_file_id="long_video_id", start_time=45.0, end_time=60.0, ) ``` -
ugc-video.md 4.2 KB
# UGC Video Reference Use `ugc_videos_create` for any of: TikTok/UGC ads, continuous POV creator videos, how-to/tutorial videos, unboxings, routines, before/after demos, product showcases, product reviews, testimonials, TV spots, "wild card" scroll-stoppers, or virtual try-ons. The tool wraps prompt structure, model selection, and product/avatar reference handling. ## Modes | Mode | Structure | Default aspect | Default duration | |------|-----------|----------------|------------------| | `ugc` | casual presenter-to-camera product mention | 9:16 | 8s | | `ugc_how_to` | quick tutorial with visible steps | 9:16 | 8s | | `ugc_unboxing` | package reveal + first impression close-ups | 9:16 | 8s | | `product_showcase` | polished product-first highlight (cinematic) | 16:9 | 12s | | `product_review` | presenter opinion + proof point | 9:16 | 8s | | `tv_spot` | broadcast-style ad with cinematic polish | 16:9 | 12s | | `wild_card` | unexpected visual hook around the product | 9:16 | 8s | | `ugc_virtual_try_on` | organic mirror/handheld try-on | 9:16 | 8s | | `virtual_try_on` | polished model-led try-on | 9:16 | 8s | Each mode declares required beats and default camera + voice. Override with `aspect_ratio`, `duration_seconds`, `camera`, and `voice_style`. ## Backend selection Default generation uses `veo-3.1-fast-generate-preview`. Pass `model` explicitly when you need a different backend: - `model="veo-3.1-fast-generate-preview"`: default, fastest Veo route - `model="veo-3.1-generate-preview"`: higher-quality Veo route - `model="sora-2"` or `model="sora-2-pro"`: OpenAI Sora route - `model="seedance-2"` or `model="seedance-2-fast"`: Seedance route Explicit `model` selection always wins. The tool no longer switches to Sora just because voice or background sound is requested. ## Style templates Use `style_template` for machine-friendly TikTok/social formats: | Template | Use when | |----------|----------| | `tiktok_ugc` | General TikTok/Reels creator ad | | `continuous_pov` | One continuous selfie/POV video without abrupt product-only cutaways | | `creator_review` | Creator opinion with a proof point | | `unboxing` | Package opening and first impression | | `routine` | Product inside a daily routine | | `before_after` | Before/result proof format | | `problem_solution` | Quick problem then product solution | | `how_to` | Short tutorial with visible steps | | `testimonial` | Sincere creator testimonial | | `product_demo` | Product function demo with creator context | | `trend_remix` | Trend-inspired format anchored to the product benefit | ## Beat fields Pass any of these to override mode defaults: - `hook` — opening line - `setting` — scene/setting description - `action` — what happens / demonstration - `emotion` — emotional tone - `voice_style` — voiceover or presenter style - `background_sound` — ambient sound or music - `camera` — camera/framing notes - `cta` — closing call-to-action ## Inputs - `product` — `ProductContext` (product name, brand, references for image-to-video) - `avatars` — `list[MediaInput]` of presenter references; the strongest one becomes the start frame for image-to-video - `avatar_file_id` or `avatar_url` — direct presenter/start-frame avatar reference for CLI-friendly calls ## Example ```python ugc_videos_create( product=ProductContext( name="Ember Travel Mug", category="insulated travel mug", references=[MediaInput(file_id="file_image_gen_..._mug")], ), avatars=[MediaInput(file_id="file_image_gen_..._presenter")], style_template="unboxing", model="veo-3.1-fast-generate-preview", hook="I just got this mug and the packaging already feels premium", action="Opens the mailer, reveals the mug, shows the leakproof lid", emotion="Excited but natural first impression", voice_style="conversational, unscripted", background_sound="quiet kitchen ambience", cta="Try it for your morning commute", duration_seconds=8, ) ``` The result is a `UGCVideoResponse` with: - `operation_id` (chat UI and Prefab compiler self-poll via `videos_status_check`) - `mode`, `style_template`, `product_name`, `hook` (rendered above the video) - `storyboard` and `compiled_prompt` (so the chat card can show the structure) -
video-prompting.md 1.8 KB
# Video Prompting (per backend) Each video backend rewards a different prompt structure. When calling `videos_generate` directly (not via `ugc_videos_create`), shape the prompt to the model you're using. ## Sora (`sora-2`, `sora-2-pro`) - Shape: storyboard scene with action beats. - Required sections: subject/scene → action beats → camera/framing → lighting/palette → audio/dialogue. - Avoid: vague style stacks, asking for duration/aspect in prose, more than ~2 scene changes in one clip. ## Veo (`veo-3.1-generate-preview`, `veo-3.1-fast-generate-preview`) - Shape: a single clear scene. - Required sections: shot → scene → character details → action → lighting → style (+ optional dialogue). - Avoid: ambiguous subjects, multiple unrelated events, quoted dialogue syntax (just write what's said). ## Seedance (`seedance-2`, `seedance-2-fast`) - Shape: shot type, subject, what moves, environment, camera, lighting/style. - Required sections: shot_type → subject → motion → environment → camera → lighting_style. - Cap camera moves at 2 per clip. One strong subject per clip. - Avoid: rewriting everything during iteration — change one variable at a time. ## Kling (image-to-video) - Shape: motion only. - Required sections: camera_move → action_beats → ambient_motion. - Do not redescribe what's in the input image — clothing, appearance, product details. The image already carries that. - Avoid: complex cinematic jargon, competing visual instructions. ## Universal rules - Keep model-specific sizing parameters consistent: Sora uses `size` (e.g. `1280x720`), Veo and Seedance use `aspect_ratio` (e.g. `16:9`). - Don't pass `aspect_ratio` to Sora or `size` to Veo/Seedance. - For chained scenes, capture the last frame and pass it as `image_file_id` in the next call. -
workflows.md 1.7 KB
# Video Generation: End-to-End Production Workflows ## UGC / TikTok Production Workflow Complete workflow for producing UGC-style content: 1. **Script:** plan scenes, dialogue, and visual style 2. **Generate:** create each scene with `videos_generate` 3. **Review:** use `videos_analyze` to check each scene for quality 4. **Chain:** extract last frames with `videos_frames_capture`, generate next scenes 5. **Stitch:** combine all scenes with `videos_stitch` 6. **Narrate:** generate voiceover with `audio_speech_generate` + `videos_audio_add` 7. **Caption:** add TikTok-style captions with `videos_captions_burn_highlighted` 8. **Overlay:** add titles / CTAs with `videos_text_overlays_add` 9. **Final review:** use `videos_analyze` on the final video for quality check ### Example: Narrated UGC Video ```python videos_generate(prompt="...", model="veo-3.1-generate-preview") audio = audio_speech_generate(text="Your narration script here...", voice="nova") videos_audio_add(video_file_id="generated_video_id", audio_file_id=audio.file_id) videos_captions_burn_highlighted(video_file_id="narrated_video_id", style="tiktok") ``` ### Example: Podcast to Short-Form Clips ```python transcript = videos_transcribe(file_id="podcast_video_id") analysis = videos_analyze( file_id="podcast_video_id", question="Identify the 3 most memorable / quotable moments with timestamps", analysis_type="scene_breakdown", ) videos_clips_extract(video_file_id="podcast_video_id", start_time=120.0, end_time=150.0) videos_clips_extract(video_file_id="podcast_video_id", start_time=340.0, end_time=365.0) videos_stitch(video_file_ids=["clip1_id", "clip2_id"]) videos_captions_burn_highlighted(video_file_id="stitched_id", style="tiktok") ```
-
-
SKILL.md 6.3 KB
--- name: video-generation description: End-to-end AI video production through the Hyper MCP — text-to-video and image-to-video generation (Sora, Veo, Seedance), scene chaining, video analysis, transcription, subtitles, TikTok / karaoke captions, voiceover (TTS), audio mixing, clipping, stitching, and text overlays. Use when the user asks to generate a video, create UGC, scene-chain, add captions or subtitles, add narration, stitch clips, clip a podcast highlight, or do any AI video editing. requires_toolkits: - video_generation_toolkit icon: video_generation short_description: Generate and edit AI video end-to-end, from scene chaining to captions and voiceover. --- # Video Generation & Editing Guide for generating, editing, analyzing, and post-processing videos using AI models and FFmpeg-backed tools exposed through the Hyper MCP. ## Requirements This skill assumes the [Hyper MCP](https://app.hyperfx.ai/mcp) is connected to your agent so the tools below are available. The underlying providers (OpenAI Sora, Google Veo, ByteDance Seedance, OpenAI TTS, transcription, etc.) are configured under your Hyper integrations. ### How to run the tools in this skill Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you: | Surface | Find a tool | Run it | | --- | --- | --- | | MCP client (Claude, Cursor, Codex, ChatGPT) | `search("<what you want to do>")`, then `describe("<name>")` | `call("<name>", {...})` | | Hyper CLI | `hyperai search "<what you want to do>"`, then `hyperai describe <name>` | `hyperai call <name> --json '{...}'` | If a tool is not found, its integration is not connected or not enabled for the workspace: stop and tell the user which integration to connect. ## Tool surface | Group | Tools | |-------|-------| | Generation | `videos_generate`, `sora_videos_remix`, `sora_videos_delete` | | Analysis | `videos_analyze`, `videos_frames_capture`, `videos_transcribe` | | Subtitles & captions | `videos_subtitles_generate`, `videos_subtitles_burn`, `videos_captions_burn_highlighted` | | Audio | `audio_speech_generate`, `videos_audio_add` | | Editing | `videos_clips_extract`, `videos_stitch`, `videos_text_overlays_add` | ## Out of scope - Image generation, ad creative composition, brand extraction — use `image-generation` or `ad-creative-generation`. - Posting finished videos to social platforms — use `tiktok`, `instagram`, or `linkedin`. - Running paid video campaigns — use `google-ads`, `meta-ads`, `tiktok-ads`. ## Available Tools | Tool | Purpose | Runs in Background | |------|---------|-------------------| | `videos_generate` | Generate video from text / image prompt | Yes | | `sora_videos_remix` | Modify existing Sora video | Yes | | `sora_videos_delete` | Delete a Sora video | No | | `videos_frames_capture` | Extract frame as image | No | | `videos_analyze` | Watch and understand video content | No | | `videos_transcribe` | Extract audio transcript | No | | `videos_subtitles_generate` | Create SRT / VTT subtitle file | No | | `videos_subtitles_burn` | Burn subtitles onto video | Yes | | `videos_captions_burn_highlighted` | TikTok / karaoke-style word-by-word captions | Yes | | `audio_speech_generate` | Generate voiceover audio from text | No | | `videos_audio_add` | Add / replace audio track on video | Yes | | `videos_clips_extract` | Extract a time segment from video | Yes | | `videos_stitch` | Concatenate multiple clips | Yes | | `videos_text_overlays_add` | Add text / titles to video | Yes | ## Video Understanding You can **watch and analyze any video** using `videos_analyze`. This sends the video to a multimodal AI that sees both visual and audio content. ### When to use `videos_analyze` - After generating a video: check if it matches your intent - Before stitching: verify scene consistency across clips - Quality review: check for glitches, character drift, lighting issues - Content understanding: "what happens in this video?" ### Analysis Types ```python videos_analyze(file_id="...", analysis_type="general") videos_analyze(file_id="...", analysis_type="quality_review") videos_analyze(file_id="...", analysis_type="scene_breakdown") videos_analyze(file_id="...", question="Does this match: [original prompt]?") ``` ### Self-Review Workflow Always review generated videos before delivering to the user: ```python result = videos_generate(prompt="...", model="veo-3.1-generate-preview") review = videos_analyze(file_id="video_file_id", analysis_type="quality_review") # If issues found, regenerate with adjustments. If quality is good, proceed to editing. ``` ## Routing table > **All reference files live in `references/`.** Read them at `references/<file>` (e.g. `references/generation.md`). | The user wants to… | Read these files first | |---|---| | Generate a video (any model) | [references/generation.md](references/generation.md) — model selection, parameter matrix, prompt templates | | Build a longer multi-scene video | [references/generation.md](references/generation.md) — script planning + scene chaining | | Add subtitles / captions / voiceover / overlays, or clip a video | [references/post-production.md](references/post-production.md) | | Produce UGC / TikTok content end-to-end | [references/ugc-video.md](references/ugc-video.md) (`ugc_videos_create` modes) → [references/workflows.md](references/workflows.md) | | Shape a prompt for a specific model (Sora / Veo / Seedance / Kling) | [references/video-prompting.md](references/video-prompting.md) | | Turn a podcast / long video into short clips | [references/workflows.md](references/workflows.md) → [references/post-production.md](references/post-production.md) | | Understand or QA an existing video | Use `videos_analyze` (see Video Understanding above) | ## Best Practices 1. **Review before delivering:** always use `videos_analyze` to check your output. 2. **Maintain visual consistency:** use the same character descriptions, lighting, and style across all scenes. 3. **Plan transitions:** design the end of each scene to flow into the next. 4. **Batch similar scenes:** generate scenes with similar settings together. 5. **Review before chaining:** check each scene before using its last frame for the next. 6. **Use single-variable iteration:** remix / regenerate by changing one variable at a time. 7. **Add captions for accessibility:** use the subtitle pipeline for all UGC content.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.