mcpField
V
video-generation

video-generation

github.com/bytedance创意与媒体84.6k3.0k 次安装今天更新
代码仓库

关于 video-generation

此技能通过结构化 JSON 提示词和 Python 脚本生成视频,并支持可选参考图像。它涵盖提示词准备、生成执行和结果处理流程。

主要功能

  1. 01结构化 JSON 视频提示词
  2. 02可选参考图像引导
  3. 03通过 Python 脚本生成视频
  4. 04选择 Gemini 或 MiniMax 提供方

适用场景

  1. 01将场景描述转为生成视频
  2. 02使用参考帧引导视频生成
  3. 03按指定宽高比生成视频

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bytedance/deer-flow --skill video-generation

安装后在 Claude Code 中输入/video-generation确认已加载。

附带文件AGENTS.mdscripts/generate.py

详细介绍

视频生成技能

概述

此技能通过结构化提示词和 Python 脚本生成高质量视频。工作流包括创建 JSON 格式的提示词,以及执行视频生成,并可选择提供参考图像。

核心功能

  • 创建用于 AIGC 视频生成的结构化 JSON 提示词
  • 支持将参考图像用作引导帧,或用作视频的首帧/末帧
  • 通过自动化 Python 脚本执行视频生成

工作流

第 1 步:了解需求

用户请求生成视频时,请明确:

  • 主体/内容:图像中应该有什么
  • 风格偏好:艺术风格、氛围、调色板
  • 技术规格:宽高比、构图、光照
  • 参考图像:用于引导生成的任何图像
  • 无需检查 /mnt/user-data 下的文件夹
第 2 步:创建结构化提示词

在 /mnt/user-data/workspace/ 中生成结构化 JSON 文件,命名格式为:{descriptive-name}.json

第 3 步:创建参考图像(图像生成技能可用时可选)

为视频生成参考图像。

  • 如果只提供了 1 张图像,请将其用作视频的引导帧
第 3 步:执行生成

调用 Python 脚本:

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

参数:

  • --prompt-file:JSON 提示词文件的绝对路径(必需)
  • --reference-images:参考图像的绝对路径(可选)。提供方使用的图像必须带有可识别的文件扩展名:.png、.jpg、.jpeg、.webp 或 .gif(不区分大小写)。缺少扩展名或使用其他扩展名的文件会在提交前被拒绝。文件名必须与文件内容相符:脚本既不会验证图像内容,也不会转换字节数据。扩展名可识别并不保证所选提供方接受该格式。
  • --output-file:输出图像文件的绝对路径(必需)
  • --aspect-ratio:生成图像的宽高比(可选,默认值:16:9)

[!NOTE] 不要读取 Python 文件,只需使用这些参数调用它。

视频生成示例

用户请求:“生成一段短视频,呈现《纳尼亚传奇:狮子、女巫和魔衣橱》的开场场景”

第 1 步:在线搜索《纳尼亚传奇:狮子、女巫和魔衣橱》的开场场景

第 2 步:创建 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
    }
  ]
}

第 3 步:使用图像生成技能生成参考图像

加载图像生成技能,并根据该技能生成单张参考图像 narnia-farewell-scene-01.jpg。

第 4 步:使用 generate.py 脚本生成视频

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

不要读取 Python 文件,只需使用这些参数调用它。

输出处理

生成命令失败时会以状态码 1 退出,并将错误写入 stderr,包括缺少提供方凭据的情况。只有在命令成功后才能展示视频;先前运行留下的文件不算新结果。

生成后:

  • 视频通常保存在 /mnt/user-data/outputs/
  • 使用 present_files 工具向用户分享生成的视频(优先分享),以及适用时生成的图像
  • 简要描述生成结果
  • 如果需要调整,可提出继续迭代

备注

  • 无论用户使用何种语言,提示词始终使用英语
  • JSON 格式可确保提示词结构化且可解析
  • 参考图像可显著提升生成质量
  • 反复调整是获得最佳结果的正常过程

提供商(Gemini / MiniMax)

提供商凭据从运行环境中读取,而非嵌入脚本中。请勿将凭据值放入提示词文件或命令行参数中。

根据环境变量自动选择(CLI 保持不变):

  • 设置了 GEMINI_API_KEY → 使用 Gemini Veo(默认,保持不变)。
  • 仅设置了 MINIMAX_API_KEY → 使用 MiniMax 视频(/v1/video_generation,异步执行 3 步轮询和下载)。
  • 使用 VIDEO_GENERATION_PROVIDER=gemini|minimax 强制指定。

MiniMax 覆盖项:MINIMAX_API_HOST(默认值为 https://api.minimaxi.com)、 MINIMAX_VIDEO_MODEL(默认值为 MiniMax-Hailuo-2.3)。第一张参考图像将用作 MiniMax 的 first_frame_image。MiniMax 会忽略 --aspect-ratio(它使用分辨率/时长)。

评论

支持 Markdown