Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

video-generation — Claude Code skill: what it does, how to install

Generates videos via Gemini Veo or MiniMax using structured JSON prompts, optional reference images, and an automated Python script.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add bytedance/deer-flow --skill video-generation -a claude-code
Open on GitHub

What video-generation does

The skill generates videos by converting user prompts into structured JSON files inside /mnt/user-data/workspace/. These prompt files specify scene backgrounds, characters, camera angles, dialogue, and audio cues in English. Once the prompt is ready, the agent executes /mnt/skills/public/video-generation/scripts/generate.py without modifying the script.

Execution relies on environment variables: GEMINI_API_KEY routes requests to Gemini Veo, while MINIMAX_API_KEY triggers MiniMax video generation. You can force a specific provider with VIDEO_GENERATION_PROVIDER=gemini|minimax. When MiniMax runs, it uses the first reference image as first_frame_image and ignores the --aspect-ratio flag.

Reference images must use .png, .jpg, .jpeg, .webp, or .gif extensions. The runner script does not convert image bytes or validate contents before dispatching API calls, so file headers must match the extension.

What it helps with

  • generate AI video clips from natural language scene descriptions
  • animate a static reference image as the opening video frame
  • structure camera movements and audio cues into a validated JSON prompt
  • switch between Gemini Veo and MiniMax generation backends

Example prompts for the agent

  • Generate a short video clip showing a 1940s train station farewell in 16:9 aspect ratio
  • Create a video using /mnt/user-data/outputs/narnia-farewell-scene-01.jpg as the starting frame
  • Generate a cyberpunk street scene video using the MiniMax provider

How to install video-generation

1Skills CLI (Vercel)

npx skills add bytedance/deer-flow --skill video-generation -a claude-code

2Manually: put the files in place

~/.claude/skills/video-generation/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/video-generation/

From the same set11

The whole set →
ppt-generation bytedance Creates PPTX presentations by generating slide visuals and assembling them into PowerPoint decks. Useful when you need a consistent visual deck from a text prompt. Claude Code CX Codex Cursor +1 5,200installs consulting-analysis bytedance This skill plans a research framework, then turns collected material into a structured report. Use it for market, financial, brand, or competitor analysis. Claude Code CX Codex Cursor +1 3,000installs image-generation bytedance Builds structured JSON prompts and executes a Python script to generate images with optional reference files. Useful for character design and complex scene rendering. Claude Code CX Codex Cursor +1 2,900installs deep-research bytedance A skill for thorough web research using multi-angle analysis methodology. Use it instead of basic search when you need to understand a topic from all angles before writing content or tackling a complex question. Claude Code CX Codex Cursor +1 2,800installs academic-paper-review bytedance A skill for automated peer review of academic papers following top-conference standards. Assesses methodology, evaluates novelty, identifies weaknesses, and delivers evidence-based critique. Claude Code CX Codex Cursor +1 2,700installs systematic-literature-review bytedance A skill to automatically search and synthesize multiple papers by topic from arXiv. Collects research, extracts key findings, and outputs reports in APA, IEEE, or BibTeX format. Claude Code CX Codex Cursor +1 2,500installs surprise-me bytedance This skill combines available skills into one unexpected creative deliverable. Use it when you want inspiration or a project without choosing the format yourself. Claude Code CX Codex Cursor +1 2,300installs code-documentation bytedance This skill auto-generates README files, API references, architecture docs, and developer guides straight from your codebase. Use it to document projects, libraries, and APIs without manual effort. Claude Code CX Codex Cursor +1 1,900installs

Similar

prompt-master nidhinjs This skill writes and improves prompts for a named AI tool. Use it when a rough request needs to become a ready-to-paste prompt for Claude Code, Cursor, or another supported tool. Claude Code CX Codex Cursor +1 3,900installs bigquery-ai-ml official google This skill helps write BigQuery SQL for built-in ML and GenAI tasks. Use it for forecasting, anomaly detection, semantic search, and text analysis. Claude Code Gemini CLI CX Codex 7,033installs mem0 mem0ai Guides AI coding agents in adding persistent memory to Python and TypeScript applications using the Mem0 Platform SDK or open-source Memory class. Claude Code CX Codex Cursor +1 2,300installs agent-platform-alert-configuration official google This skill creates Terraform alert policies for AI agents from OpenTelemetry metrics. Use it to watch latency, errors, token usage, and quality. Claude Code Gemini CLI CX Codex 6,857installs gke-inference official google Select a model profile and accelerator, then prepare Kubernetes manifests for AI/ML inference serving on GKE. Claude Code Gemini CLI CX Codex 6,791installs plannotator-compound backnotprop Reads a Plannotator plan archive, pulls out denial patterns and feedback, then builds an HTML dashboard with findings. Claude Code CX Codex Cursor +1 11,400installs skill-creator official anthropics Creates and refines skills, then tests them with prompts, evaluations, and performance checks. Claude Code Claude.ai 414,180installs writing-for-agents Matt Pocock Guidance for writing skills and agent-facing documents. Use it when editing AGENTS.md, CLAUDE.md, or reference files reached from them. Claude Code 466,719installs

Questions about video-generation

How to install video-generation in Claude Code?

Run npx skills add bytedance/deer-flow --skill video-generation -a claude-code in your terminal.

Which video generation providers are supported?

The skill supports Gemini Veo via GEMINI_API_KEY and MiniMax via MINIMAX_API_KEY. You can override the selection by setting VIDEO_GENERATION_PROVIDER=gemini|minimax.

What are the requirements for reference images?

Images must use recognized extensions (.png, .jpg, .jpeg, .webp, .gif). Because the script does not convert bytes or check image headers, mismatched files fail at submission.

Source text

SKILL.md · MIT
---
name: video-generation
description: Use this skill when the user requests to generate, create, or imagine videos. Supports structured prompts and reference image for guided generation.
---

# Video Generation Skill

## Overview

This skill generates high-quality videos using structured prompts and a Python script. The workflow includes creating JSON-formatted prompts and executing video generation with optional reference image.

## Core Capabilities

- Create structured JSON prompts for AIGC video generation
- Support reference image as guidance or the first/last frame of the video
- Generate videos through automated Python script execution

## Workflow

### Step 1: Understand Requirements

When a user requests video generation, identify:

- Subject/content: What should be in the image
- Style preferences: Art style, mood, color palette
- Technical specs: Aspect ratio, composition, lighting
- Reference image: Any image to guide generation
- You don't need to check the folder under `/mnt/user-data`

### Step 2: Create Structured Prompt

Generate a structured JSON file in `/mnt/user-data/workspace/` with naming pattern: `{descriptive-name}.json`

### Step 3: Create Reference Image (Optional when image-generation skill is available)

Generate reference image for the video generation.

- If only 1 image is provided, use it as the guided frame of the video

### Step 3: Execute Generation

Call the Python script:
```bash
python /mnt/skills/public/video-generation/scripts/generate.py \
  --prompt-file /mnt/user-data/workspace/prompt-file.json \
  --reference-images /path/to/ref1.jpg \
  --output-file /mnt/user-data/outputs/generated-video.mp4 \
  --aspect-ratio 16:9
```

Parameters:

- `--prompt-file`: Absolute path to JSON prompt file (required)
- `--reference-images`: Absolute paths to reference images (optional). Images used by the provider must have a recognized filename extension: `.png`, `.jpg`, `.jpeg`, `.webp`, or `.gif` (case-insensitive). Missing or other extensions are rejected before submission. Filenames must match their contents: the script neither validates image contents nor converts bytes. Recognizing an extension does not guarantee that the selected provider accepts that format.
- `--output-file`: Absolute path to output image file (required)
- `--aspect-ratio`: Aspect ratio of the generated image (optional, default: 16:9)

[!NOTE]
Do NOT read the python file, instead just call it with the parameters.

## Video Generation Example

User request: "Generate a short video clip depicting the opening scene from "The Chronicles of Narnia: The Lion, the Witch and the Wardrobe"

Step 1: Search for the opening scene of "The Chronicles of Narnia: The Lion, the Witch and the Wardrobe" online

Step 2: Create a JSON prompt file with the following content:

```json
{
  "title": "The Chronicles of Narnia - Train Station Farewell",
  "background": {
    "description": "World War II evacuation scene at a crowded London train station. Steam and smoke fill the air as children are being sent to the countryside to escape the Blitz.",
    "era": "1940s wartime Britain",
    "location": "London railway station platform"
  },
  "characters": ["Mrs. Pevensie", "Lucy Pevensie"],
  "camera": {
    "type": "Close-up two-shot",
    "movement": "Static with subtle handheld movement",
    "angle": "Profile view, intimate framing",
    "focus": "Both faces in focus, background soft bokeh"
  },
  "dialogue": [
    {
      "character": "Mrs. Pevensie",
      "text": "You must be brave for me, darling. I'll come for you... I promise."
    },
    {
      "character": "Lucy Pevensie",
      "text": "I will be, mother. I promise."
    }
  ],
  "audio": [
    {
      "type": "Train whistle blows (signaling departure)",
      "volume": 1
    },
    {
      "type": "Strings swell emotionally, then fade",
      "volume": 0.5
    },
    {
      "type": "Ambient sound of the train station",
      "volume": 0.5
    }
  ]
}
```

Step 3: Use the image-generation skill to generate the reference image

Load the image-generation skill and generate a single reference image `narnia-farewell-scene-01.jpg` according to the skill.

Step 4: Use the generate.py script to generate the video
```bash
python /mnt/skills/public/video-generation/scripts/generate.py \
  --prompt-file /mnt/user-data/workspace/narnia-farewell-scene.json \
  --reference-images /mnt/user-data/outputs/narnia-farewell-scene-01.jpg \
  --output-file /mnt/user-data/outputs/narnia-farewell-scene-01.mp4 \
  --aspect-ratio 16:9
```
> Do NOT read the python file, just call it with the parameters.

## Output Handling

The generation command exits with status 1 and writes errors to stderr when
generation fails, including missing provider credentials. Only present the video
after the command succeeds; a file left by an earlier run is not a new result.

After generation:

- Videos are typically saved in `/mnt/user-data/outputs/`
- Share generated videos (come first) with user as well as generated image if applicable, using `present_files` tool
- Provide brief description of the generation result
- Offer to iterate if adjustments needed

## Notes

- Always use English for prompts regardless of user's language
- JSON format ensures structured, parsable prompts
- Reference image enhance generation quality significantly
- Iterative refinement is normal for optimal results

## Providers (Gemini / MiniMax)

Provider credentials are read from the runtime environment, not embedded in the
script. Do not put their values in prompt files or command-line arguments.

Auto-selected by environment variables (CLI unchanged):

- `GEMINI_API_KEY` set → Gemini Veo (default, unchanged).
- Only `MINIMAX_API_KEY` set → MiniMax video (`/v1/video_generation`, async 3-step poll/download).
- Force with `VIDEO_GENERATION_PROVIDER=gemini|minimax`.

MiniMax overrides: `MINIMAX_API_HOST` (default `https://api.minimaxi.com`),
`MINIMAX_VIDEO_MODEL` (default `MiniMax-Hailuo-2.3`). The first reference image is used
as MiniMax `first_frame_image`. MiniMax ignores `--aspect-ratio` (it uses resolution/duration).

© bytedance · MIT · bytedance/deer-flow

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor