跳转到内容
伯跃科技 · 文档

快速开始

火山国内线已上线

这一页用最短的路径跑通第一次调用:创建任务、查询状态、下载视频。示例生成一段 4 秒、480p 的 Seedance 2.0 视频。

开始前请先按获取令牌与选择分组拿到 API 密钥,并在终端里设置好:

终端窗口
export API_KEY="sk-YOUR_API_KEY"

三种示例各自的前提:

  • cURL:解析 JSON 用到 jq,没有的话先安装。
  • Python:使用火山官方 SDK,先 pip install volcengine-ark-runtime。
  • Node.js:18 及以上版本,自带 fetch,不需要装任何依赖。

向 POST https://api.boyueasi.com/api/v3/contents/generations/tasks 发请求,body 里写模型、提示词和规格:

#!/usr/bin/env bash
# 创建视频任务。API_KEY 是你的 API 密钥,只放在环境变量里,不要写进代码或提交到仓库
curl -sS https://api.boyueasi.com/api/v3/contents/generations/tasks \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-0-260128",
"content": [
{"type": "text", "text": "一只橘猫在窗台上伸懒腰,阳光透过窗帘"}
],
"resolution": "480p",
"duration": 4,
"ratio": "16:9"
}'

请求成功后立刻返回任务号,此时视频还没生成:

{
"content": {},
"created_at": 1793358284,
"id": "task_xxxxxxxx",
"model": "doubao-seedance-2-0-260128",
"status": "queued"
}

把 id 保存下来,下一步要用它查询。返回里还可能出现别的字段,不用处理,忽略即可。任务号丢了也不用慌,可以到控制台「常规 → 任务日志」里找回。

用任务号轮询 GET /api/v3/contents/generations/tasks/{task_id},直到 status 变成 succeeded(成功)或 failed(失败)。先把上一步的任务号放进环境变量:

终端窗口
export TASK_ID="task_xxxxxxxx"
#!/usr/bin/env bash
# 轮询任务直到结束。TASK_ID 取自上一步返回的 id;解析 JSON 需要安装 jq
while true; do
RESP=$(curl -sS "https://api.boyueasi.com/api/v3/contents/generations/tasks/$TASK_ID" \
-H "Authorization: Bearer $API_KEY")
STATUS=$(echo "$RESP" | jq -r '.status')
echo "状态: $STATUS"
case "$STATUS" in
succeeded)
# 成功:content.video_url 就是视频直链,24 小时内有效
echo "$RESP" | jq -r '.content.video_url'
break ;;
failed | expired | cancelled | null)
# 失败、过期,或返回的不是任务(例如令牌错误):打印原文后退出
echo "$RESP"
break ;;
esac
sleep 15
done

状态按 queued(排队)→ running(生成中)→ succeeded / failed 流转,此外还可能出现 expired(任务超时)。建议每 10–15 秒查询一次,不要高频轮询。

我们实测的出片耗时:Seedance 2.0 / 480p / 4 秒约 2.5 到 4.5 分钟,Seedance 2.5 同规格约 3 分多钟。成功后的返回长这样(video_url 里的签名参数已省略):

{
"content": {
"video_url": "https://ark-acg-cn-beijing.tos-cn-beijing.volces.com/….mp4?…"
},
"created_at": 1793358297,
"duration": 4,
"id": "task_xxxxxxxx",
"model": "doubao-seedance-2-0-260128",
"ratio": "16:9",
"resolution": "480p",
"status": "succeeded",
"updated_at": 1793358439,
"usage": {
"completion_tokens": 40594,
"total_tokens": 40594
}
}

各字段的含义、失败时的样子,见查询任务与获取视频。

任务成功后,content.video_url 就是视频的下载直链。把它放进环境变量再下载:

终端窗口
export VIDEO_URL="https://…(上一步拿到的 video_url)"
#!/usr/bin/env bash
# 下载视频。VIDEO_URL 是上一步取到的 content.video_url,链接 24 小时内有效,请及时转存
# 这是带签名的直链,不需要也不要附带 API 密钥
curl -sS -L -o seedance.mp4 "$VIDEO_URL"
echo "已保存 seedance.mp4"

这个示例(Seedance 2.0 / 480p / 4 秒)大约花 ¥1.59。计费按视频的输出 token 数,创建任务时先按估算预扣,完成后按实际用量多退少补,任务失败会自动全额退款。我们用同样规格实测,预扣的 40594 token 与实际用量一致。

换成其他分辨率、时长或模型,费用怎么算见价格与计费。

路径前缀:带前缀的 /doubao/api/v3/... 与上面的 /api/v3/... 等价,行为和返回完全一致,之前已经在用前缀地址的接入方可以继续使用。

官方 SDK:本站兼容火山方舟(Volcengine Ark)协议,火山官方 SDK 的基础用法可以直接用(个别参数与 SDK 方法的用法见错误与排错里的「使用提示」),只需要把 base_url 指向 https://api.boyueasi.com/api/v3,api_key 换成本站的 API 密钥。上面的 Python 示例就是这样写的。我们用火山官方 Python SDK(5.0.56)实测过:用关键字参数调用 tasks.create 创建、用 tasks.get(task_id=...) 轮询都能正常使用,Seedance 2.5 / 480p / 4 秒的任务 3 分 19 秒成功出片。