video-generation

$npx mdskill add hyperfx-ai/marketing-skills/video-generation

Generate and edit AI videos end-to-end with scene chaining, captions, and voiceover.

  • Create videos from text or images using Sora, Veo, or Seedance.
  • Depends on Hyper MCP and FFmpeg-backed tools for generation and editing.
  • Analyzes user request to choose generation, editing, or captioning workflow.
  • Returns final video file or edited clip via the agent's output.

SKILL.md

.github/skills/video-generationView on GitHub ↗
---
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.

## 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.

More from hyperfx-ai/marketing-skills

SkillDescription
ad-creative-generationGenerate on-brand ad creatives — visuals + copy — for Google, Meta (Facebook / Instagram), and other paid platforms via the Hyper MCP. Extracts brand identity from a website, writes ad copy variants, and produces brand-consistent images using reference-based image generation. Use when the user asks for ad creative, ad copy variants, RSA headlines, Meta ad creative, display ads, carousel ads, or A/B test variants.
amazon-adsPlan and create Amazon Sponsored Products campaigns end-to-end via the Hyper MCP. Use when the user wants to launch Amazon Ads, set up Sponsored Products, manage keyword targeting and bids, configure ASIN or category product targeting, add negative keywords, automate budget rules, analyze ACoS / ROAS, or generate Sponsored Products reports. Also triggers on amazon ppc, amazon campaign, amazon keywords, or amazon report.
blog-generationGenerate one excellent, on-brand blog post per run for any business, built to rank on Google and get cited by AI search (ChatGPT, Claude, Perplexity, AI Overviews). A stateful engine: reads a brand strategy doc, picks a fresh topic (never repeats), researches, writes in the brand's voice, and logs the post back. Use when the user wants to write a blog post, run a daily or recurring blog task, or generate SEO / AEO / blog content. For keyword data and audits, defer to seo-research.
brand-contextCreate and maintain a single brand-context.md — positioning, audience, personas, pain points, customer language, voice, proof points — that every other marketing skill reads before asking the user to re-explain their business. Auto-drafts from the brand's site via Firecrawl, or builds the doc through a short interview. Use when the user wants to set up brand context, onboard a new brand, define positioning / brand voice / ICP, or complains about re-answering the same brand questions.
email-lifecyclePlan, build, and run lifecycle email programs through the Hyper MCP — welcome / onboarding, nurture, re-engagement, win-back, and abandoned-cart sequences across whichever provider fits (Klaviyo for ecommerce, Resend for SaaS / dev tools, Beehiiv for newsletters, Gmail for low-volume ops). Use when the user wants to build an email sequence, set up a welcome flow, recover lapsed users, send a broadcast, manage a list / audience / segment, or asks about lifecycle / drip / nurture campaigns.
hyper-cliUse the Hyper CLI to run Hyper marketing skills from a terminal. Use when the user wants to use `hyperai`, inspect live tool schemas, translate MCP tool names from a skill into CLI commands, switch connected accounts, or run marketing tools outside an MCP-native agent host.
instagramManage Instagram professional accounts via the Hyper MCP — publish photos, Reels, Stories, and carousels; moderate comments and mentions; send Direct Messages; pull account and media insights. Uses the Instagram API with Instagram Login (Business Login). Use when the user mentions Instagram posts, Reels, Stories, carousels, IG DMs, Instagram comments, mentions, profile, or analytics. For paid Instagram advertising, use `meta-ads`.
meta-ads-libraryResearch competitor Facebook and Instagram ads from the Meta Ads Library via the Hyper MCP — search by keyword, pull full ad creative and metadata, enrich with page contact info for lead generation, and surface structured ad-intelligence summaries in chat. Use when the user wants to scrape the Meta Ads Library, spy on competitor ads, monitor new ads in a category, build a lead list from advertisers, or surface creative trends across an industry.
openai-adsPlan and manage OpenAI Ads (ChatGPT ads) campaigns end-to-end via the Hyper MCP — API-key auth, account discovery, geo targeting, image upload, chat_card and product-feed creatives, custom audiences, conversion tracking, status flow, and insights, with integer-micros money values. Use when the user wants to launch OpenAI ads, ChatGPT ads, chat card ads, manage OpenAI ad groups or audiences, or pull OpenAI Ads insights.
pinterest-adsPlan and create Pinterest Ads campaigns through the Hyper MCP — Awareness, Consideration, Video View, Web Conversion, Catalog Sales, and Web Sessions objectives — with strict microcurrency budgeting, CBO rules, audience and customer-list management, conversion tag handling, keyword targeting, and campaign analytics. Use when the user mentions Pinterest ads, Pinterest campaign, Pinterest ad group, Pinterest audience, Pinterest conversion tracking, Pinterest tag, or Pinterest customer list.