SeedanceLink
登录
← 全部文章

快速开始

第一个 Seedance 视频:Google 登录、API Key 与三个请求

从自己的账号创建视频任务,再用同一个 API Key 查询进度、下载结果。

文章目录

SeedanceLink 的网页登录与 API 调用承担不同的工作。Google 登录让你进入控制台,管理账号、余额和 API Key;发送视频请求时,需要在 Authorization 请求头中携带 API Key。网页已经登录,并不代表终端里的 curl 自动获得了权限。接入过程也不需要把 Google 的授权码复制进 API 客户端。

本文沿着一个最小文生视频任务,从创建走到下载。示例明确选择 Seedance 2.0、4 秒和 480p。请在同一个终端依次执行命令,保留 API_BASE、API_KEY 与 TASK_ID 变量。把 YOUR_API_KEY 替换成你在自己账号中创建的密钥,示例中的占位符不能直接用于身份验证。

准备账号、余额与密钥

在客户网站选择 Google 登录,然后进入控制台。充值可用时,先准备足够支付任务报价的余额。充值页会展示当前账号实际启用的付款方式;登录成功本身不会自动给 API 余额。如果付款按钮暂时不可用,不要把这个状态理解成已经充值成功。

在 API Key 页面选择启用 Seedance 的分组并创建密钥,给第一次测试的 Key 起一个容易识别的名称。妥善保存密钥,不要放进网页 URL、公开仓库、共享截图或面向访客的前端代码包。查询与下载同一个任务时也使用这个 Key,任务的读取权限与创建它的账号及 Key 绑定。

只提交一次明确的创建请求

下面的 4 秒、480p 最小示例,在标准销售价格下预计为 USD $0.36,适用的分组倍率另计。显式填写时长和分辨率,能让费用更容易理解;省略时默认是 5 秒、720p,报价会不同。模型 ID 是 API 标识符,请从模型页准确复制,不要用展示名称替换它。

cURL · 创建
API_KEY='YOUR_API_KEY'
API_BASE='https://seedancelink.io'

curl --fail-with-body --request POST "$API_BASE/api/v3/contents/generations/tasks" \
  --header "Authorization: Bearer $API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "model": "seedance-2.0-933",
  "content": [
    {
      "type": "text",
      "text": "A paper boat on a calm lake at sunrise."
    }
  ],
  "duration": 4,
  "resolution": "480p",
  "ratio": "16:9"
}'

创建接口返回的是任务回执,而不是 MP4 文件。立即保存回执中的 id,并把原始请求参数一起保存。回执还包含任务状态与计费信息。只要已经收到任务 ID,就把它作为现有任务继续跟进,即使状态还是 queued。再次发送相同的创建请求会产生另一个任务,不能用来查询进度。

在应用界面中,可以把“提交”和“查看进度”做成职责明确的操作。提交得到回执后,后续按钮读取已保存的任务;用户刷新页面,也应恢复这个 ID,而不是重新发送创建请求。

先查询,再下载

将 TASK_ID 设置为创建回执里的 id,约每 15 秒查询一次。queued 表示等待生成,running 表示生成中,只有 succeeded 才进入下载步骤。继续使用创建命令中的 API_KEY 和 API_BASE,不要用没有间隔的循环持续请求服务器,也不要按一个固定延迟假定视频已经完成。

cURL · 查询
TASK_ID='REPLACE_WITH_RESPONSE_ID'

curl --fail-with-body "$API_BASE/api/v3/contents/generations/tasks/$TASK_ID" \
  --header "Authorization: Bearer $API_KEY"

状态为 succeeded 后,使用同一个 API Key 请求属于这个任务的内容接口。下面的命令允许跟随 HTTPS 重定向,并把结果保存为 video.mp4。不要加 --location-trusted;下载重定向并不意味着应该把私有密钥发给另一个主机。已经成功付费的任务,即使剩余余额为零,仍可以由有效的所属 Key 查询和下载。

cURL · 下载
curl --fail --location --proto-redir '=https' --max-redirs 3 \
  "$API_BASE/api/v3/contents/generations/tasks/$TASK_ID/content" \
  --header "Authorization: Bearer $API_KEY" \
  --output video.mp4

第一次请求前的常见问题

Google 登录凭据能直接当 API Key 吗?

不能。请使用 SeedanceLink 控制台创建的 API Key;Google 登录用于访问网页账号。

创建回执是 needs_reconcile 怎么办?

保存回执的任务 ID,并查询原任务。提交结果待核对时金额仍预留,不要自动重复创建。

4 秒视频一定立即返回吗?

不会。视频是异步生成的,要根据任务状态判断,不能依赖固定等待时间或未经验证的完成时长承诺。

阅读文档