PluginBench
Skill
Fail
Audit score 45

video-generation

bytedance/deer-flow

Generate high-quality videos from structured prompts with optional reference images.

What is video-generation?

This skill creates videos using JSON-formatted prompts and a Python generation script. Use it when users request video generation, creation, or visualization. It supports reference images to guide the output and works with multiple AI providers (Gemini Veo or MiniMax).

  • Create structured JSON prompts for AIGC video generation
  • Support reference images as guidance or frame anchors
  • Generate videos via automated Python script execution
  • Configure aspect ratios and output formats
  • Support multiple video generation providers (Gemini/MiniMax)

How to install video-generation

npx skills add https://github.com/bytedance/deer-flow --skill video-generation
Prerequisites
  • Python script available at /mnt/skills/public/video-generation/scripts/generate.py
  • API key for video generation provider (GEMINI_API_KEY or MINIMAX_API_KEY)
  • Output directory at /mnt/user-data/outputs/
Claude Code
Cursor
Windsurf
Cline

How to use video-generation

  1. 1.Identify user requirements: subject, style, technical specs, and any reference images
  2. 2.Create a JSON prompt file in /mnt/user-data/workspace/ with descriptive naming (e.g., scene-name.json)
  3. 3.Optionally generate a reference image using the image-generation skill if needed
  4. 4.Execute the generation script with --prompt-file, --reference-images (optional), --output-file, and --aspect-ratio parameters
  5. 5.Share generated videos and images with the user via present_files tool
  6. 6.Offer iterative refinement if adjustments are needed

Use cases

Good for
  • Generate opening scenes from movies or stories with specific visual direction
  • Create cinematic sequences with character dialogue and ambient audio
  • Produce marketing or promotional videos from detailed scene descriptions
  • Generate concept videos for creative projects with reference imagery
  • Create narrative-driven video clips with specific camera movements and effects
Who it's for
  • Content creators and filmmakers
  • Marketing and advertising professionals
  • Creative directors and visual designers
  • Game developers and concept artists
  • Anyone needing AI-generated video content

video-generation FAQ

What format should the prompt JSON follow?

The prompt should include title, background description, characters, camera details (type, movement, angle, focus), dialogue with character names, and audio elements with volumes. See the Narnia example in the documentation for the full structure.

Are reference images required?

No, reference images are optional. However, they significantly enhance generation quality by guiding the output. If provided, a single image is used as a guided frame for the video.

Which video generation providers are supported?

The skill auto-selects between Gemini Veo and MiniMax based on environment variables. Set GEMINI_API_KEY for Gemini (default) or MINIMAX_API_KEY for MiniMax. You can force a provider with VIDEO_GENERATION_PROVIDER.

What aspect ratios are supported?

The default aspect ratio is 16:9. You can specify other ratios via the --aspect-ratio parameter. Note that MiniMax ignores this parameter and uses resolution/duration instead.

Where are generated videos saved?

Videos are typically saved in /mnt/user-data/outputs/ as specified by the --output-file parameter.

Full instructions (SKILL.md)

Source of truth, from bytedance/deer-flow.


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:

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 image (optional)
  • --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:

{
  "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

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

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)

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