直接回答:用一个密钥,就能通过 Yovid API 调用 Seedance 2.5。发送 POST https://yovid.ai/v1/videos/generations,带上 "model": "seedance-2.5" 和提示词,然后轮询 GET /v1/tasks/{task_id},直到状态变为 completed,再读取 output.video_url。视频时长 4 到 30 秒,一次请求最多可以携带 30 张图片、10 段视频和 10 个音频文件作为参考。计费使用与网站相同的 Yovid 积分,只有任务成功才会扣除积分。
目录
Seedance 2.5 API 的接入渠道
Seedance 2.5 是 ByteDance Seed 的模型。字节跳动自己的开发者渠道通过旗下云平台提供:字节跳动在 2026 年 7 月 31 日的发布文章中说,API 即将通过 BytePlus ModelArk 开放;据媒体报道,火山引擎于 8 月 7 日在中国开放了 API 接入;字节跳动的 Seedance 2.5 页面则提供了 BytePlus 体验平台的链接。
Yovid 是独立平台,与字节跳动没有关联,通过自己的 API 提供 Seedance 2.5:
- 一个密钥,一份账单:同一个密钥和同一份积分,覆盖 Seedance 2.5、2.0、2.0 Fast、2.0 Mini、1.5 Pro 和 1.0 Pro Fast。
- 稳定的公开 ID:你发送的是
seedance-2.5;服务商的模型名称由 Yovid 在内部维护,即使它们变了,你的代码也不受影响。 - 与网站共用一个账户:通过 API 生成的视频,使用你现有的套餐和积分。
完整参考见 Yovid API 文档;本指南只讲 Seedance 2.5 特有的部分。
四步快速上手
1. 创建 API 密钥
打开设置 → API 密钥,为密钥命名并创建。完整密钥只显示一次,请把它保存在密钥管理工具里,并在服务器上以 YOVID_API_KEY 加载。不要把它放进浏览器或移动端代码。
2. 创建任务
curl https://yovid.ai/v1/videos/generations \
-H "Authorization: Bearer $YOVID_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"prompt": "A lighthouse keeper climbs a spiral staircase with a lantern, reaches the lamp room as a storm rolls in, and lights the great lamp. Wind howling, boots on iron steps.",
"duration": 10,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
}'{
"task_id": "vid_01JZK7R7KCYQ3T9F33A7K0J6XB",
"status": "pending",
"created_at": "2026-10-22T08:30:00.000Z"
}3. 轮询任务
curl https://yovid.ai/v1/tasks/vid_01JZK7R7KCYQ3T9F33A7K0J6XB \
-H "Authorization: Bearer $YOVID_API_KEY"状态为 pending 或 processing 时,每 5 到 10 秒轮询一次,并逐步拉长间隔。状态变为 completed 后,视频 URL 在 output.video_url 里;如果变为 failed,停止轮询并读取 error。
4. 查看积分
curl https://yovid.ai/v1/credits \
-H "Authorization: Bearer $YOVID_API_KEY"available 是新任务可以使用的积分;reserved 是为仍在运行的任务预留的积分。
请求参数
| 字段 | 类型 | Seedance 2.5 说明 |
|---|---|---|
model | string | seedance-2.5 |
prompt | string | 必填。时间段、引号里的对白和 @image1 这类参考写法都支持 |
duration | integer | 4 到 30 秒 |
quality | string | 文档为 Seedance 2.5 列出的是 480p 和 720p |
aspect_ratio | string | 16:9、9:16、1:1、4:3、3:4、21:9 或 adaptive |
generate_audio | boolean | 在同一次生成中输出声音、对白和音效 |
image_urls | array | 最多 30 个公开 HTTPS 图片 URL |
video_urls | array | 最多 10 个公开 HTTPS 视频 URL |
audio_urls | array | 最多 10 个公开 HTTPS MP3 或 WAV URL |
reference_mode | boolean | 把一到两张图片当作参考素材,而不是首帧和尾帧 |
output_format | string | mp4(默认)或 mov |
content_filter | boolean | 可选的内容过滤,默认开启;设为 false 时按 1.1 倍计费 |
web_search | boolean | 仅限文生视频请求 |
创建任务前,API 会对照模型和你的套餐检查每个值;如果有不允许的值,会返回 403 或 422,并在 param 中标明出问题的字段。从首帧开始生成时,输出会沿用那张图片的比例。
API 如何选择生成模式
你不需要发送服务商的模式。Yovid 会根据你附带的媒体自动选择:
| 你发送的内容 | 模式 |
|---|---|
| 不带媒体 | 文生视频 |
| 一张图片 | 图生视频,图片作为首帧 |
| 两张图片 | 首尾帧 |
| 三张及以上图片 | 参考生视频 |
| 任意视频 | 参考生视频 |
| 任意音频 | 参考生视频 |
一到两张图片加 "reference_mode": true | 参考生视频 |
在参考模式下,提示词里按文件在各自数组中的顺序引用:@image1、@image2、@video1、@audio1。一个参考请求是这样的:
{
"model": "seedance-2.5",
"prompt": "@image1 is the main character. @image2 is the ceramic mug she holds; keep its shape and logo. @image3 is the kitchen. She walks into the kitchen, pours coffee into the mug and turns to the window. Use @audio1 as her voice: she says, \"Finally, Saturday.\"",
"image_urls": [
"https://example.com/character.jpg",
"https://example.com/mug.jpg",
"https://example.com/kitchen.jpg"
],
"audio_urls": ["https://example.com/voice-sample.mp3"],
"duration": 12,
"quality": "720p"
}音频参考是 API 独有的功能:网站输入框支持图片和视频,API 还能额外添加最多 10 个音频文件,用作人声、配乐或节奏参考。
参考素材和媒体限制
以下来自 API 文档的模型与输入页面:
| 媒体 | 格式 | 限制 |
|---|---|---|
| 图片 | JPEG、PNG、WebP | 最多 30 张;每边 300 到 6000 px;宽高比 0.4 到 2.5;单张最大 30 MB |
| 视频 | MP4、MOV | 最多 10 段;每段 2 到 30 秒,总计 30 秒;24 到 60 FPS;单段最大 200 MB |
| 音频 | MP3、WAV | 最多 10 个;每个 2 到 30 秒,总计 30 秒;单个最大 15 MB |
所有媒体都必须是公开的 HTTPS URL。Yovid 会拒绝 localhost、私有网络地址、内嵌凭据的 URL,以及无法解析的主机名。请使用 URL 而不是 Base64;服务商限制每个请求体最大 64 MB。
一次请求要花多少
API 与网站使用相同的积分、相同的费率计费。按积分包标准价,Seedance 2.5 在 480p 下每秒约 3 积分,720p 约 6.1 积分,所以一条 10 秒 720p 视频约 61 积分,30 秒约 183 积分。订阅用户每秒消耗更少。
- 参考视频按参考片段时长加输出时长计费,单价更低:480p 每秒约 2.1 积分,720p 约 4.6 积分。
- 关闭
content_filter会让费用乘以 1.1。 - 先预留,再扣除:创建任务时预留积分,只有任务完成才会扣除;任务失败会退回积分。
- 套餐权限:Seedance 2.5 需要付费套餐或一次性积分包。免费账户会收到
403 plan_upgrade_required。
完成的任务会在 credits_used 中报告实际消耗。套餐和积分包见价格页面,最便宜的入门方式见 Seedance 2.5 是否免费。
错误、重试和速率限制
| 状态码 | 含义 | 是否重试 |
|---|---|---|
401 | 密钥缺失、无效或已撤销 | 否,更换密钥 |
402 | 可用积分不足 | 否,补充积分 |
403 | 模型或画质需要更高级的套餐 | 否,修改输入或套餐 |
422 | 参数无效、模型不可用或提示词被拦截 | 否,修正请求 |
429 | 达到速率限制或并发任务上限 | 是,退避后重试 |
500、502、503 | 服务器、服务商或内容审核出错 | 是,稍后重试 |
每个密钥每分钟最多 120 次请求,轮询也计算在内。创建接口暂不支持幂等键,所以在不确定第一次 POST 是否成功时,不要自动重试:这可能会创建第二个任务,并重复预留积分。请记录收到的每个 task_id。
完整的 Python 示例
import os
import time
import requests
API = "https://yovid.ai"
HEADERS = {"Authorization": f"Bearer {os.environ['YOVID_API_KEY']}"}
create = requests.post(
f"{API}/v1/videos/generations",
headers=HEADERS,
json={
"model": "seedance-2.5",
"prompt": (
"0-10s: a courier in a yellow rain jacket runs out of a subway exit into a night street. "
"10-20s: she weaves between umbrellas as a taxi brakes. "
"20-30s: she stops at a door and knocks twice. Rain and traffic, no music."
),
"duration": 30,
"quality": "720p",
"aspect_ratio": "16:9",
},
timeout=30,
)
create.raise_for_status()
task_id = create.json()["task_id"]
delay = 5
while True:
task = requests.get(f"{API}/v1/tasks/{task_id}", headers=HEADERS, timeout=30)
task.raise_for_status()
data = task.json()
if data["status"] == "completed":
print(data["output"]["video_url"], data["credits_used"])
break
if data["status"] == "failed":
raise RuntimeError(data["error"])
time.sleep(delay)
delay = min(delay * 1.5, 30)这段提示词用的是时间段写法,这是填满 30 秒视频最可靠的方式。Seedance 2.5 提示词指南里有 13 条可以原样发送的提示词;与 Kling 3.0、Veo 3.1 和 Seedance 2.0 的对比文章,则能帮你决定调用哪个模型 ID。
常见问题
Seedance 2.5 有官方 API 吗?
字节跳动通过旗下云平台火山引擎和 BytePlus 向开发者提供 Seedance 2.5。Yovid 的 API 是一个独立的替代方案:一个密钥、一份积分余额,就能调用 Seedance 2.5 和其他 Seedance 模型。
Yovid 上 Seedance 2.5 的模型 ID 是什么?
seedance-2.5。其他公开 ID 包括 seedance-2.0、seedance-2.0-fast、seedance-2.0-mini、seedance-1.5-pro 和 seedance-1.0-pro-fast。
Seedance 2.5 API 生成的视频最长多久?
每个任务 4 到 30 秒,通过 duration 设置。
Seedance 2.5 API 支持哪些分辨率?
API 文档为 seedance-2.5 列出的是 480p 和 720p。你的套餐也有上限,如果画质超出上限,API 会在创建任务前返回 403。
可以把音频作为参考发送吗?
可以,在 audio_urls 中最多放 10 个 MP3 或 WAV 文件,提示词里用 @audio1、@audio2 依次引用。音频参考只能通过 API 使用。
任务失败会扣积分吗?
不会。创建任务时预留积分,只有任务成功完成才会扣除。
我能发多少次请求?
每个密钥每分钟最多 120 次请求(包括轮询),另外还有取决于套餐的并发任务上限。收到 429 响应表示需要等待,并按退避策略重试。
准备开始开发了吗?在设置 → API 密钥里创建密钥,然后按照 API 快速开始操作。




