开始使用
快速开始
几分钟内生成第一段视频。下面用火山方舟格式的接口调用 Seedance 2.0,从注册到拿到视频地址。
- 1
注册并充值
- 2
创建 API Key
在 控制台 → API Keys 新建一个密钥,复制后保存到环境变量。火山方舟的官方 SDK 默认就从
ARK_API_KEY读取密钥:export ARK_API_KEY="sk-xxxxxxxxxxxxxxxx" - 3
安装 SDK(可选)
可以直接用火山方舟的官方 SDK,也可以不装 SDK,用 cURL 或任意 HTTP 库发请求。其他语言和旧版 SDK 见接入说明。
安装python -m pip install --upgrade arkruntime - 4
提交任务
把 SDK 的
base_url指向本平台,其余写法和火山方舟完全一样。接口立即返回任务 ID:创建视频生成任务curl https://your-domain/ark/api/v3/contents/generations/tasks \ -H "Authorization: Bearer $ARK_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "doubao-seedance-2-0-260128", "content": [{"type": "text", "text": "清晨的海边,一只金毛犬沿着浪花奔跑,镜头缓慢跟随,阳光穿过薄雾"}], "resolution": "720p", "ratio": "16:9", "duration": 5, "generate_audio": true }'返回结果{ "id": "video_8f3k2m9x4q1w7e5r0t6y2u4p" } - 5
查询结果
用任务 ID 查询任务,
status依次经过queued(排队中)、running(生成中),最后变成succeeded(成功)或failed(失败)。成功后content.video_url就是视频地址。查询视频生成任务curl https://your-domain/ark/api/v3/contents/generations/tasks/video_8f3k2m9x4q1w7e5r0t6y2u4p \ -H "Authorization: Bearer $ARK_API_KEY"返回结果(任务成功时){ "id": "video_8f3k2m9x4q1w7e5r0t6y2u4p", "model": "doubao-seedance-2-0-260128", "status": "succeeded", "content": { "video_url": "https://your-domain/uploads/videos/2026/10/k3Zq8mVt2LxR9pWa.mp4" }, "usage": {"completion_tokens": 108900, "total_tokens": 108900}, "created_at": 1791691200, "updated_at": 1791691318, "resolution": "720p", "ratio": "16:9", "duration": 5, "framespersecond": 24, "service_tier": "default", "execution_expires_after": 43200, "generate_audio": true, "draft": false, "priority": 0, "output_format": "mp4" }
完整示例
提交任务后每 10 秒查询一次,直到拿到视频地址:
seedance_quickstart.py
import os
import time
from arkruntime import Ark
client = Ark(
base_url="https://your-domain/ark/api/v3",
api_key=os.environ.get("ARK_API_KEY"),
)
# 1. 提交任务,拿到任务 ID
task = client.content_generation.tasks.create(
model="doubao-seedance-2-0-260128",
content=[{"type": "text", "text": "清晨的海边,一只金毛犬沿着浪花奔跑,镜头缓慢跟随,阳光穿过薄雾"}],
resolution="720p",
ratio="16:9",
duration=5,
)
print("任务 ID:", task.id)
# 2. 每 10 秒查询一次,直到任务结束
while True:
task = client.content_generation.tasks.get(task_id=task.id)
if task.status == "succeeded":
print("视频地址:", task.content.video_url)
break
if task.status in ("failed", "cancelled", "expired"):
print("任务未成功:", task.status, task.error)
break
time.sleep(10)不想轮询的话,可以在创建任务时传
callback_url,任务状态变化时平台会把任务信息 POST 到这个地址,见回调通知。