Skip to content

视频生成 Seedance ​

POST /api/v1/seedance/videos
Authorization: Bearer sk-xxx
Content-Type: application/json

异步视频生成接口:输入一段文字描述即可生成视频(文生视频);Seedance 2.5 / 2.0 标准档另支持传入参考图 / 参考视频 / 参考音频做图生视频。任务完成后通过网关代理下载 mp4。

⚠️ 参考素材限制:仅 doubao-seedance-2-5 与 doubao-seedance-2-0 支持参考素材;素材 URL 必须是公网可访问的 https:// 地址(不支持 base64、内网 / 本地文件)。传入不合规的 URL、或在 Fast / Mini 上带参考素材,会被网关拒绝(400)。参考素材是否加价以供应商报价为准,当前按下方时长档位计收。

支持模型 ​

模型 ID 用火山官方家族名,分辨率由请求里的 resolution 决定(不再烧进模型 ID)。

模型 ID可选分辨率时长(秒)单价(元 / 百万 tokens)约合(元 / 秒)
doubao-seedance-2-0-fast720p4~1537.000.7992
doubao-seedance-2-0-mini720p4~1523.000.4968
doubao-seedance-2-0720p / 1080p / 4k4~1546.00 / 51.00 / 26.000.9936 / 2.748 / 2.8568
doubao-seedance-2-5720p / 1080p4~3070.00 / 77.001.512 / 4.1164

时长上限按模型代际区分:Seedance 2.0 系列最长 15 秒,Seedance 2.5 系列最长 30 秒(火山官方规格)。超出上限的请求会被网关直接拒绝(上游不校验时长、纯按秒计费,放行超限会造成按请求秒数多扣而实际交付更短)。

分辨率只认已开档:传白名单外的值(如给 doubao-seedance-2-0-fast 传 1080p)会被拒(400);不传按 720p 出片并按 720p 计费。

创建视频任务 ​

Request ​

字段类型必填说明
modelstring*模型 ID,见上方支持模型列表
contentarray二选一输入内容数组,可含 text 提示词项与参考图 / 视频 / 音频项(后者仅 2.5 / 2.0 标准档支持)
promptstring二选一提示词简写,与 content 里的 text 项等价(二者都在时以 prompt 为准)
resolutionstring可选输出分辨率:720p / 1080p / 4k(按模型可选档,默认 720p)。只读顶层字段,塞在 metadata 里不生效
durationinteger可选视频时长(秒)。Seedance 2.0 系列 4~15,Seedance 2.5 系列 4~30,默认 5;超限会被拒
ratiostring可选画面比例:16:9(横屏) / 9:16(竖屏) / 1:1(方形) / 4:3 / 3:4,不传则由上游按默认处理

不要用 size 或像素值传分辨率。 输出分辨率用 resolution,画面比例用 ratio;例如要 1280×720 就是 resolution:"720p" + ratio:"16:9"。传 size 会被网关忽略。

content 数组元素:

type字段说明
texttext文字描述(提示词)
imageimage_url.url参考图,公网 https;role 可选 reference_image(默认)/ first_frame / last_frame
videovideo_url.url参考视频,公网 https;role=reference_video
audioaudio_url.url参考音频,公网 https;role=reference_audio

提示词里用「图片1 / 图片2 / 视频1 / 音频1」按 content 中素材出现的顺序引用。

请求示例 ​

文字生成视频:

json
{
  "model": "doubao-seedance-2-5",
  "resolution": "1080p",
  "content": [
    {"type": "text", "text": "一只猫在花园里追蝴蝶,阳光明媚,电影级画质"}
  ],
  "duration": 4,
  "ratio": "16:9"
}

参考图生视频(2.5 / 2.0 标准档):

json
{
  "model": "doubao-seedance-2-0",
  "resolution": "720p",
  "content": [
    {"type": "text", "text": "让图片1中的人物转身走向镜头,夕阳逆光,电影感"},
    {"type": "image", "image_url": {"url": "https://example.com/person.jpg"}, "role": "reference_image"}
  ],
  "duration": 5,
  "ratio": "16:9"
}

用 prompt 简写:

json
{
  "model": "doubao-seedance-2-0-mini",
  "prompt": "海浪拍打沙滩,夕阳西下",
  "duration": 4
}

响应 ​

json
{
  "id": "task_xxxxxxxxxxxxxxxx",
  "task_id": "task_xxxxxxxxxxxxxxxx",
  "object": "video",
  "model": "doubao-seedance-2-5",
  "status": "queued",
  "progress": 0,
  "created_at": 1789977781
}

记下返回的 id,用于后续查询与下载。

查询任务详情 ​

GET /api/v1/seedance/videos/{taskId}
Authorization: Bearer sk-xxx

响应示例(生成成功):

json
{
  "id": "task_xxxxxxxxxxxxxxxx",
  "model": "doubao-seedance-2-5",
  "status": "succeeded",
  "created_at": 1789977781,
  "content": {
    "video_url": "https://limapi.com/api/v1/seedance/videos/task_xxxxxxxxxxxxxxxx/content"
  },
  "usage": {
    "total_tokens": 213840,
    "completion_tokens": 213840
  }
}

响应字段说明:

字段类型说明
idstring任务 ID
statusstring任务状态:queued / running / succeeded / failed
content.video_urlstring生成成功后的下载地址(网关代理,需带同一个 API Key 访问)
usage.total_tokensinteger总 token 用量(用于计费,按 时长 × 每秒 token 数 折算)

状态说明:

status含义说明
queued排队中任务已创建,等待上游处理
running生成中视频正在生成
succeeded已完成生成成功,返回 content.video_url,此时按 token 用量扣费
failed失败生成失败,不扣费

💡 建议轮询间隔 5~15 秒。视频生成通常需要 1~6 分钟(排队 + 出流),超时预算请留足 6 分钟再判定失败。

下载视频 ​

GET /api/v1/seedance/videos/{taskId}/content
Authorization: Bearer sk-xxx

任务 succeeded 后,用上一步返回的 content.video_url(或直接拼此路径)下载,响应为 video/mp4 字节流。

bash
curl "https://limapi.com/api/v1/seedance/videos/$TASK_ID/content" \
  -H "Authorization: Bearer sk-xxx" \
  --output video.mp4

上游直链为明文 http 且需鉴权,因此统一由网关代理回源,客户端只需带本站 API Key 即可下载。

Seedance 模型定价 ​

计费单位为元 / 百万 tokens,成本 = 时长(秒)× 每秒 token 数 × 单价 ÷ 1,000,000。下表同时给出折算后的每秒参考价:

模型 ID分辨率元 / 百万 tokens约合 元 / 秒
doubao-seedance-2-0-mini720p23.000.4968
doubao-seedance-2-0-fast720p37.000.7992
doubao-seedance-2-0720p46.000.9936
doubao-seedance-2-01080p51.002.748
doubao-seedance-2-04k26.002.8568
doubao-seedance-2-5720p70.001.512
doubao-seedance-2-51080p77.004.1164

每秒 token 数按分辨率档不同:720p 为 21,600,1080p 约 5.3 万,4k 约 11 万 —— 所以「4k 单价更低但每秒更贵」。任务成功后按 usage.total_tokens 扣费,失败不扣。

Python 完整示例 ​

python
import requests, time

API_KEY = "sk-xxx"
BASE_URL = "https://limapi.com/api/v1/seedance"
HEADERS = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

# 1. 创建视频任务
resp = requests.post(f"{BASE_URL}/videos", headers=HEADERS, json={
    "model": "doubao-seedance-2-5",
    "resolution": "1080p",
    "content": [{"type": "text", "text": "一只猫在花园里追蝴蝶,阳光明媚"}],
    "duration": 4,
    "ratio": "16:9"
})
task_id = resp.json()["id"]
print(f"任务已创建: {task_id}")

# 2. 轮询任务状态
while True:
    result = requests.get(f"{BASE_URL}/videos/{task_id}", headers=HEADERS).json()
    status = result.get("status")
    if status == "succeeded":
        video_url = result["content"]["video_url"]
        print(f"视频已生成: {video_url}")
        # 3. 下载(带同一个 API Key)
        with requests.get(video_url, headers={"Authorization": f"Bearer {API_KEY}"}, stream=True) as r:
            with open("video.mp4", "wb") as f:
                for chunk in r.iter_content(chunk_size=8192):
                    f.write(chunk)
        break
    elif status == "failed":
        print("任务失败,未扣费")
        break
    print(f"状态: {status},等待中...")
    time.sleep(10)

LimAPI — 大模型聚合网关