SEEDANCE25APIINDEPENDENT

Seedance 2.5 API 指南:用代码或 AI Agent 生成视频

Seedance 2.5 是一款能力出色的文生视频与参考图生视频模型。目前的访问方式为抢先体验、由服务商中转——尚未正式对外开放,因此请将下文全部视为预期行为,并在上线前与服务商核实。本文是一份独立指南,EvoLink 是我们推荐的第三方服务商(我们与字节跳动没有任何关联)。请求结构遵循 EvoLink 的 API 规范——上线生产前请对照其文档核对。

准备工作

在 EvoLink 上创建一个 API key,充值余额,导出该 key,就可以开始测试了:

export EVOLINK_KEY="sk-..."

计费目前尚无公开价格。预计按输出秒数计费,原生音频免费包含,关闭 content_filter 预计费用约为 1.1 倍。开发前请在服务商控制台核实当前模型。

生成请求

模型 id 为 seedance-2.5-reference-to-video(抢先体验版——请将其保持为可配置项,以便服务商最终确定后随时替换)。

curl -X POST https://api.evolink.ai/v1/videos/generations \
  -H "Authorization: Bearer $EVOLINK_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.5-reference-to-video",
    "prompt": "golden-hour drone pullback over a coastal city, anamorphic flare",
    "duration": 5,
    "quality": "720p",
    "generate_audio": true,
    "content_filter": true
  }'

各字段说明:

  • model — 上文的抢先体验版 id;请保持可配置。
  • prompt — 对镜头画面的文字描述。
  • duration — 秒数,预期范围 4–30(默认 5)。上限请与服务商核实。
  • quality"480p""720p"(默认 "720p")。1080p 等更高分辨率在服务商文档确认前仍待定——请勿默认支持。
  • generate_audio — 布尔值,默认 true。原生音频一次生成,不额外收费。
  • content_filter — 布尔值,默认 true。设为 false 预计按约 1.1 倍计费。
  • image_urls(≤30)、video_urls(≤10)、audio_urls(≤10)— 参考文件,详见下文。
  • callback_url — 可选的完成回调 webhook。

API 会返回一个任务,之后由你进行轮询:

{ "id": "task_8f2c...", "status": "pending" }

完整的参数说明见我们的 API 页面

轮询获取结果

轮询任务详情接口,直到状态变为 completed

curl "https://api.evolink.ai/v1/task-detail?id=task_8f2c..." \
  -H "Authorization: Bearer $EVOLINK_KEY"

status 会依次经历 pendingprocessingcompleted(或 failed)。变为 completed 后,下载返回的视频 URL。

Node 示例

一个基于 fetch 的最小流程——先提交,再轮询:

const KEY = process.env.EVOLINK_KEY;
const BASE = "https://api.evolink.ai/v1";
const MODEL = "seedance-2.5-reference-to-video"; // pre-release, keep configurable

async function generate() {
  const res = await fetch(`${BASE}/videos/generations`, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: MODEL,
      prompt: "the character walks through a market at dusk",
      duration: 5,
      quality: "720p",
      generate_audio: true,
      content_filter: true,
    }),
  });
  const { id } = await res.json();
  return id;
}

async function poll(id) {
  while (true) {
    const res = await fetch(`${BASE}/task-detail?id=${id}`, {
      headers: { "Authorization": `Bearer ${KEY}` },
    });
    const task = await res.json();
    if (task.status === "completed") return task;
    if (task.status === "failed") throw new Error("generation failed");
    await new Promise((r) => setTimeout(r, 5000));
  }
}

const id = await generate();
const done = await poll(id);
console.log(done);

参考文件

你可以按类型分组,以 URL 列表的形式附加参考素材:

  • image_urls — 最多 30 张图片。
  • video_urls — 最多 10 段视频。
  • audio_urls — 最多 10 段音频。
{
  "model": "seedance-2.5-reference-to-video",
  "prompt": "the character walks through the market, camera following the uploaded drone move",
  "image_urls": [
    "https://cdn.example.com/character_front.png",
    "https://cdn.example.com/character_profile.png"
  ],
  "video_urls": ["https://cdn.example.com/drone_move.mp4"],
  "audio_urls": ["https://cdn.example.com/score_draft.mp3"],
  "duration": 5,
  "quality": "720p",
  "generate_audio": true
}

图片用于锁定人物身份与色调,视频片段贡献镜头运动与运动风格,音频驱动节奏。想了解如何用提示词发挥这些能力,提示词库展示了真实请求及其输出。

生产环境中的成本控制

目前尚未公布公开价格,因此以下建议仅供方向性参考,请在服务商控制台核实:

  • 草稿短,成片长。 计费预计按输出秒数计算,所以 duration 是最大的成本杠杆。先用短草稿反复迭代,再对定稿的较长片段进行渲染。
  • 在服务端限制时长。 在你自己的 API 层对 duration 做上限约束,避免某个 bug 在重试循环里渲染出超长片段。记住预期范围是 4–30 秒。
  • 留意 content_filter 默认保持开启;关闭它预计会使账单增加约 10%。
  • 音频免费。 原生音频免费包含,因此 generate_audio: true 不会改变按秒计费的算式。

等服务商公布价格后,可从价格页面复现当前数字,或在体验场里直观试算任意配置。

接入 AI Agent

在你的 Agent 框架(Claude Agent SDK、Vercel AI SDK、LangChain 或 MCP server)中,把 REST 调用封装成单个函数工具。暴露 promptdurationqualitygenerate_audiocontent_filter 以及参考 URL 列表等参数——这正好对应 API 页面上的接口约定。

一条生产经验:把轮询步骤做成与生成步骤独立的工具。相比一个在渲染期间占着工具槽、阻塞式的调用,Agent 处理”检查任务 X 是否完成”要优雅得多。推荐的实现结构见 Agent 指南

第一天就该做好的错误处理

  • 鉴权 / 余额错误 — 向用户展示这些错误并附上充值链接;不要盲目重试。
  • 限流 — 采用指数退避;负载高时渲染时间可能拉长。
  • failed 状态或内容策略拒绝 — 记录返回的原因;这些通常是提示词问题,而非传输层的 bug。

由于目前处于抢先体验阶段,还要处理模型 id 尚未为你的账号开通的情况——请保持其可配置,并在上线生产前确认服务商的支持情况。

获取一个 key,运行上面的请求,开始测试吧:API 快速上手 →

Q&A快速解答
Q.01字节跳动是否提供官方的 Seedance 2.5 API?
目前的访问方式为抢先体验、由服务商中转,尚未正式对外开放。本文是一份独立指南,EvoLink 是我们推荐的第三方服务商(我们与字节跳动没有任何关联)。在此基础上进行开发前,请先确认服务商的支持情况和当前可用性。
Q.02调用 API 生成视频的费用是多少?
目前尚未公布公开价格。计费预计按输出秒数计算,原生音频免费包含,关闭 content_filter 预计会额外增加约 10% 的费用。上线前请在服务商控制台核实所有价格。
Q.03能否从 Claude Code 或 Cursor 这类 AI Agent 中生成 Seedance 视频?
可以——把 REST 调用封装成一个函数工具,任何 Agent 就都能生成、轮询并下载片段。相关说明见我们的 /agent 页面。由于目前处于抢先体验阶段,请先确认服务商的支持情况。