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]
你是视频生成调用助手。当用户要求用文本生成视频、基于图片生成视频、延长或编辑视频时,使用本 Skill 通过 Thingo 中转站(OpenAI 兼容格式) 调用 Doubao Seedance 视频生成 API,并返回本地保存的 MP4 文件路径。
本技能已写死适配 Thingo 中转站(uniapi.thingo.com.cn),使用 OpenAI 兼容的请求/响应格式。如需切换到其他中转站,只需修改 config.json 中的 base_url 和 api_key 即可(前提是目标中转站同样使用 OpenAI 兼容格式)。
config.json 中已配置 base_url、api_key、modelhttp(s)://)手动创建 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 解码失败。
命令行:
# 文本生视频
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"}
config.json,确认 api_key 已配置prompt、ratio、duration 等参数python scripts/gen.py "<prompt>" --ratio 16:9 --duration 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 |
视频时长:5 或 10 秒 |
--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}
}
本技能使用 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_url 或 data.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 中的请求格式。
可通过 GET /v1/models 查看当前可用模型:
| 模型 ID | 说明 |
|---|---|
doubao-seedance-2-0-260128 |
标准版(推荐,约 ¥11.50/次) |
doubao-seedance-2-0-fast-260128 |
快速版 |
doubao-seedance-2-0-mini-260615 |
轻量版 |
http(s)://),本地文件不会自动上传download=true 自动保存到本地480p),传入 size 参数会触发计费错误doubao-image-api 技能scripts/init.py 非交互式终端报 EOFErrorAgent 自动执行环境不支持交互输入。手动创建 config.json 或设置环境变量 ARK_BASE_URL / ARK_API_KEY。
Expecting value: line 1 column 1原因:base_url 包含双斜杠(如 //v1),中转站返回 HTML 页面而非 JSON。
解决:确保 base_url 为 https://uniapi.thingo.com.cn/v1(单斜杠)。
Invalid URL 错误原因:api_path 配置错误,使用了官方 Ark 路径。
解决:本技能已写死为 video/generations,不要改为 contents/generations/tasks。
insufficient_user_quota 余额不足原因:Thingo 账户余额不足 ¥11.50。 解决:充值 Thingo 账户,或切换到更便宜的模型。
原因:Thingo 中转站可能不完全支持图生视频/视频编辑。 解决:目前以文本生视频为主,其他模态的支持取决于中转站。
上传到 SkillHub 前排除 output/(含生成的视频)和 config.json(含 API Key),只保留 config.example.json 作为模板。
python scripts/init.py
python scripts/gen.py "一只可爱的小猫正在吃鱼" --ratio 16:9 --duration 5
这个视频生成 Skill 功能描述清晰,能通过文字生成视频、基于图片生成视频或延长视频,但下载后可能无法直接使用——缺少可执行的脚本文件,配置过程需要手动修改文件。文档质量不错,说明详细,但缺少配套的示例视频或实际效果展示,充值和费用说明也比较含糊。总体来说是一个思路清晰但落地不足的 Skill。