视频生成skill

👤 皑皑雪毅 📦 v1.0.0 ⭐ 4.5 ⬇️ 254 下载
🎨 设计多媒体 免费 🔑 需 API Key

📖 技能介绍


name: doubao-video-api description: "通过 Thingo 中转站(OpenAI 兼容格式)调用 Doubao Seedance 视频生成 API,支持文本生视频、首帧图生视频、视频延长/编辑。适配所有 OpenAI 兼容格式的视频生成中转站。" version: 1.1.0 author: Hermes Agent license: MIT platforms: [windows, linux, macos] tags: [video, doubao, seedance, generation, multimodal, thingo, relay] related_skills: [doubao-image-api]


Doubao Video API(豆包视频生成 — Thingo 中转站)

角色定位

你是视频生成调用助手。当用户要求用文本生成视频、基于图片生成视频、延长或编辑视频时,使用本 Skill 通过 Thingo 中转站(OpenAI 兼容格式) 调用 Doubao Seedance 视频生成 API,并返回本地保存的 MP4 文件路径。

本技能已写死适配 Thingo 中转站uniapi.thingo.com.cn),使用 OpenAI 兼容的请求/响应格式。如需切换到其他中转站,只需修改 config.json 中的 base_urlapi_key 即可(前提是目标中转站同样使用 OpenAI 兼容格式)。

触发条件

  • 用户说"生成一个视频""帮我做一段视频""根据这段描述生成视频"
  • 用户提供首帧图/参考图,要求生成视频
  • 用户提供参考视频,要求延长/编辑
  • 用户明确要求使用 Seedance 或视频生成能力

适用场景

  • 文本生视频:用户给出文字描述,生成对应视频(最常用)
  • 首帧图生视频:用户提供首帧图片 URL,生成延续视频
  • 视频延长/编辑:用户提供参考视频 URL,要求延长或修改

前置条件

  1. config.json 中已配置 base_urlapi_keymodel
  2. Thingo 中转站可访问
  3. 账户余额充足(约 ¥11.50/次)
  4. 如使用参考图/视频,需提供公网可访问的 URL(http(s)://

快速开始

1. 配置(一次性)

手动创建 config.json(推荐)或运行 python scripts/init.py 交互式配置:

{
  "base_url": "https://uniapi.thingo.com.cn/v1",
  "api_key": "sk-你的密钥",
  "model": "doubao-seedance-2-0-260128",
  "api_path": "video/generations",
  "save_dir": "./output",
  "download": true
}

⚠️ base_url 不要出现双斜杠/v1 而非 //v1,否则中转站返回 HTML 页面导致 JSON 解码失败。

2. 生成视频

命令行:

# 文本生视频
python scripts/gen.py "一只可爱的小猫正在吃鱼,画面温馨治愈" --ratio 16:9 --duration 5

# 首帧图生视频(需公网 URL)
python scripts/gen.py "镜头推近特写" --ratio 9:16 --duration 5 --image-url https://example.com/frame.png

# 指定保存目录
python scripts/gen.py "星空下的城市夜景" --ratio 16:9 --duration 5 --save-dir ./my_videos

Python 函数调用:

from scripts.gen import generate_video
result = generate_video(
    prompt="一只可爱的小猫正在吃鱼",
    ratio="16:9",
    duration=5
)
# result = {"model": "...", "task_id": "...", "status": "succeeded",
#           "video_url": "https://...mp4", "local_path": "C:/.../xxx.mp4"}

执行流程

  1. 读取技能根目录的 config.json,确认 api_key 已配置
  2. 根据用户输入构建 promptratioduration 等参数
  3. 调用 python scripts/gen.py "<prompt>" --ratio 16:9 --duration 5
  4. 脚本自动轮询异步任务直到完成(默认最长等待 600 秒)
  5. 自动下载视频到本地,返回本地路径

参数说明

参数 类型 默认值 说明
prompt string 必填 视频描述文字,中文或英文
ratio string adaptive 画面比例:adaptive, 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9
duration int 5 视频时长:510
--image-url string 参考图片 URL(首帧图),公网可访问
--video-url string 参考视频 URL(用于延长/编辑)
--save-dir string CWD 视频保存目录,默认当前工作目录
--no-download flag false 仅返回 URL,不下载到本地
--base-url string 配置文件 覆盖中转站地址
--api-key string 配置文件 覆盖 API 密钥

输出格式

{
  "model": "doubao-seedance-2-0-260128",
  "task_id": "task_xxx",
  "status": "succeeded",
  "video_url": "https://...mp4",
  "local_path": "C:/Users/xxx/Desktop/20260723_134634_00_xxx.mp4",
  "usage": {"completion_tokens": 108900, "total_tokens": 108900}
}

API 格式说明(重要)

本技能使用 Thingo 中转站的 OpenAI 兼容格式,与 Doubao 官方 Ark API 格式不同:

项目 官方 Ark 格式 Thingo(本技能)
Base URL https://ark.cn-beijing.volces.com/api/v3 https://uniapi.thingo.com.cn/v1
API 路径 /contents/generations/tasks /video/generations
请求格式 {"content": [{"type":"text","text":"..."}]} {"prompt": "..."}
响应格式 {"id":"cgt-...", "status":"queued"} {"code":"success", "data":{"task_id":"...","status":"NOT_START"}}
状态值 queued/running/succeeded/failed NOT_START/IN_PROGRESS/SUCCESS/FAILED
视频 URL content.video_url result_urldata.content.video_url

切换到其他中转站

如果目标中转站也使用 OpenAI 兼容格式,只需修改 config.json

7w4.net有更好的技能插件。

{
  "base_url": "https://你的中转站地址/v1",
  "api_path": "video/generations",
  "api_key": "sk-你的密钥"
}

如果目标中转站使用官方 Ark 格式,请将 api_path 改回 contents/generations/tasks 并调整 gen.py 中的请求格式。

可用模型(Thingo 中转站)

可通过 GET /v1/models 查看当前可用模型:

模型 ID 说明
doubao-seedance-2-0-260128 标准版(推荐,约 ¥11.50/次)
doubao-seedance-2-0-fast-260128 快速版
doubao-seedance-2-0-mini-260615 轻量版

注意事项

  • 视频生成是异步任务,脚本自动轮询直到完成(默认最长 600 秒),请耐心等待
  • 参考图/视频必须是公网可访问的 URL(http(s)://),本地文件不会自动上传
  • 生成的视频 URL 有效期约 24 小时,本技能默认开启 download=true 自动保存到本地
  • 不支持自定义分辨率参数(如 480p),传入 size 参数会触发计费错误
  • 如果任务本质是生成图片而非视频,应优先使用 doubao-image-api 技能
  • 账户余额需 ≥ ¥11.50/次,余额不足会返回 403

常见坑

1. scripts/init.py 非交互式终端报 EOFError

Agent 自动执行环境不支持交互输入。手动创建 config.json 或设置环境变量 ARK_BASE_URL / ARK_API_KEY

2. JSON 解码错误 Expecting value: line 1 column 1

原因base_url 包含双斜杠(如 //v1),中转站返回 HTML 页面而非 JSON。 解决:确保 base_urlhttps://uniapi.thingo.com.cn/v1(单斜杠)。

3. Invalid URL 错误

原因api_path 配置错误,使用了官方 Ark 路径。 解决:本技能已写死为 video/generations,不要改为 contents/generations/tasks

4. insufficient_user_quota 余额不足

原因:Thingo 账户余额不足 ¥11.50。 解决:充值 Thingo 账户,或切换到更便宜的模型。

5. 参考图/视频不生效

原因:Thingo 中转站可能不完全支持图生视频/视频编辑。 解决:目前以文本生视频为主,其他模态的支持取决于中转站。

6. 打包分发时包含敏感数据

上传到 SkillHub 前排除 output/(含生成的视频)和 config.json(含 API Key),只保留 config.example.json 作为模板。

安装

python scripts/init.py
python scripts/gen.py "一只可爱的小猫正在吃鱼" --ratio 16:9 --duration 5

🤖 AI 评测

这个视频生成 Skill 功能描述清晰,能通过文字生成视频、基于图片生成视频或延长视频,但下载后可能无法直接使用——缺少可执行的脚本文件,配置过程需要手动修改文件。文档质量不错,说明详细,但缺少配套的示例视频或实际效果展示,充值和费用说明也比较含糊。总体来说是一个思路清晰但落地不足的 Skill。

📊 多维度评分

适应性4.7
规范性4.4
有效性4.4
可靠性4.4
可信度5

📁 包含文件 (2 个)

📄 SKILL.md 8 KB
📄 config.json 343 B