Seedance 2.5

Seedance 2.5 支持文生视频、图片/视频/音频多模态参考,以及首帧和首尾帧生视频。公开模型名为 doubao-seedance-2.5,平台会根据已配置的渠道路由透明地提交生成任务。

duration 支持 -1。传入 -1 时输出时长由上游自动确定,不支持另行设置输出秒数;请求可以包含视频,也可以不包含视频。

模型能力

项目支持范围
输出时长4–30 秒,或使用 -1 由上游自动确定;默认 5 秒
分辨率480p720p1080p
宽高比adaptive16:94:31:13:49:1621:9
参考图片最多 30 张
参考视频固定时长请求最多 10 个、总时长不超过 30 秒;duration=-1 时平台不限制数量或总时长,由上游校验
参考音频最多 10 段,总时长不超过 30 秒;支持纯音频输入
输出格式mp4mov

定价

  • 不含视频输入:输出时长 × 每秒费率
  • 含视频输入:(输入视频总时长 + 输出时长) × 每秒费率
  • duration=-1 且不含视频:实际输出时长 × 不含视频输入每秒费率
  • duration=-1 且含视频:(输入视频总时长 + 实际输出时长) × 含视频输入每秒费率
分辨率输入不含视频输入含视频
480p25.86 credits/s17.24 credits/s
720p58.17 credits/s38.78 credits/s
1080p103.68 credits/s69.12 credits/s

计费示例:

  • 480p 文生视频 5 秒:5 × 25.86 = 129.30 credits
  • 720p 文生视频 5 秒:5 × 58.17 = 290.85 credits
  • 1080p 文生视频 5 秒:5 × 103.68 = 518.40 credits
  • 1080p、输入视频 5 秒、输出 5 秒:(5 + 5) × 69.12 = 691.20 credits
  • 720p、输入视频 5 秒、输出 5 秒:(5 + 5) × 38.78 = 387.80 credits
  • 720p、输入视频 10 秒、实际输出 9.6 秒、duration=-1(10 + 9.6) × 38.78 = 760.09 credits
  • 720p、不含视频、实际输出 7.25 秒、duration=-17.25 × 58.17 = 421.73 credits

duration=-1 时,平台会按最多 30 秒输出预扣;若包含视频,还会先探测并计入所有输入视频的总时长。任务成功后优先采用上游返回的输出时长,缺失时探测输出视频,并按实际输出时长结算、退还差额。若无法取得输出时长,则保留最大预扣费用且任务仍保持成功;任务失败或过期时会全额退还预扣积分。

创建任务

POST https://api.aivideoapi.ai/v1/videos/generations

请求头:

Authorization: Bearer sk-your-api-key
Content-Type: application/json

请求体

字段类型必填说明
modelstring固定为 doubao-seedance-2.5
inputobject生成参数
callback_urlstring任务完成或失败时接收 POST 回调的公网 HTTP(S) 地址

Input 参数

字段类型必填默认值说明
promptstring条件必填纯文生视频时必填;存在任一媒体输入时可省略
generation_typestringomni_referenceomni_referencefirst_and_last_frames
image_urlsstring[] | object[]参考图片,最多 30 张;首尾帧模式为 1–2 张
video_urlsstring[]参考视频;固定时长请求最多 10 个、总时长不超过 30 秒;duration=-1 时平台不限制数量或总时长,由上游校验
audio_urlsstring[]参考音频,最多 10 段,总时长不超过 30 秒,可单独输入
durationinteger54–30,或传 -1 让上游自动确定输出时长
aspect_ratiostringadaptive输出宽高比;首尾帧模式仅支持 adaptive
resolutionstring720p480p720p1080p
generate_audiobooleantrue是否生成同步音频
watermarkbooleanfalse是否添加 AI 水印
return_last_framebooleanfalse是否在结果中返回尾帧图片
web_searchbooleanfalse是否允许模型按需联网搜索
output_formatstringmp4mp4mov

生成模式

多模态参考

generation_type 省略或设为 omni_reference。图片、视频和音频可任意组合,音频可以单独使用。只要存在媒体输入,prompt 就可以省略;完全空的输入会被拒绝。

首帧与首尾帧

设置 generation_type: "first_and_last_frames"

  • 传 1 张图片:作为首帧
  • 传 2 张图片:第一张为首帧,第二张为尾帧
  • aspect_ratio 必须省略或设为 adaptive
  • 不可同时传入 video_urlsaudio_urls

请求示例

文生视频并输出 MOV

curl -X POST https://api.aivideoapi.ai/v1/videos/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2.5",
    "callback_url": "https://your-server.com/webhooks/video",
    "input": {
      "prompt": "雨后的东京街道,镜头缓慢向前推进,霓虹灯倒映在路面上",
      "duration": 5,
      "resolution": "720p",
      "aspect_ratio": "16:9",
      "generate_audio": true,
      "output_format": "mov",
      "return_last_frame": true
    }
  }'

纯音频参考

curl -X POST https://api.aivideoapi.ai/v1/videos/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2.5",
    "input": {
      "audio_urls": ["https://example.com/music.mp3"],
      "duration": 8,
      "resolution": "480p"
    }
  }'

图片、视频和音频参考

{
  "model": "doubao-seedance-2.5",
  "input": {
    "prompt": "保持人物造型,参考视频的运镜节奏,并使用音频作为氛围声音",
    "image_urls": ["https://example.com/character.png"],
    "video_urls": ["https://example.com/camera-reference.mov"],
    "audio_urls": ["https://example.com/ambience.wav"],
    "duration": 10,
    "resolution": "720p",
    "aspect_ratio": "adaptive"
  }
}

上游自动确定输出时长

duration=-1 不要求必须输入视频。包含视频时,平台探测并累加所有输入视频时长,最终按“输入视频总时长 + 实际输出时长”计费;不包含视频时只按实际输出时长计费。素材组合及输出时长由上游校验和确定,无需也不能另行指定输出秒数。

{
  "model": "doubao-seedance-2.5",
  "input": {
    "prompt": "保持原视频的镜头节奏,替换角色服装",
    "video_urls": ["https://example.com/input-video.mp4"],
    "duration": -1,
    "resolution": "720p",
    "aspect_ratio": "adaptive"
  }
}

首尾帧

{
  "model": "doubao-seedance-2.5",
  "input": {
    "generation_type": "first_and_last_frames",
    "prompt": "日景自然过渡到夜景,保持建筑结构一致",
    "image_urls": [
      "https://example.com/first-frame.png",
      "https://example.com/last-frame.png"
    ],
    "duration": 6,
    "resolution": "720p",
    "aspect_ratio": "adaptive"
  }
}

创建响应

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "cbf6b69d-4f03-4817-8ed7-94c0292184a8"
  }
}

查询任务

curl https://api.aivideoapi.ai/v1/tasks/{taskId} \
  -H "Authorization: Bearer sk-your-api-key"

状态通常依次为 pendingprocessingcompleted,失败时为 failed

成功响应示例:

{
  "id": "cbf6b69d-4f03-4817-8ed7-94c0292184a8",
  "status": "completed",
  "model": "doubao-seedance-2.5",
  "credits_consumed": 290.85,
  "created_at": 1786093200,
  "completed_at": 1786093500,
  "output": {
    "urls": ["https://file.aivideoapi.ai/videos/example.mov"],
    "last_frame_url": "https://file.aivideoapi.ai/images/example-last-frame.png",
    "metadata": {
      "duration": 5,
      "ratio": "16:9",
      "resolution": "720p",
      "framespersecond": 24,
      "generate_audio": true,
      "output_format": "mov"
    }
  }
}

成功文件会按账户配置镜像到平台存储。若创建任务时传入 callback_url,完成与失败响应会以相同结构 POST 到该地址。

查询任务和回调响应中的 credits_consumed 表示当前任务实际消耗的积分;任务处理中以及失败退款后为 0

媒体要求

类型格式单个素材要求数量与总时长
图片JPEG、PNG、WebP、BMP、TIFF、GIF、HEIC、HEIF宽高比 0.4–2.5;每边 300–6000 px;小于 30 MB最多 30 张
视频MP4、MOV2–30 秒;宽高比 0.4–2.5;每边 300–6000 px;总像素 409,600–8,295,044;小于 200 MB;24–60 FPS固定时长请求最多 10 个、总时长不超过 30 秒;duration=-1 由上游校验
音频WAV、MP32–30 秒;小于 15 MB最多 10 段,总时长不超过 30 秒

媒体 URL 必须允许 API 服务和当前上游渠道下载。平台会先探测参考视频时长;URL 无法访问或无法识别为 MP4/MOV 时,请求会同步失败。

重要限制

  • 不支持 4k
  • duration=-1 可用于不含视频或包含一个/多个视频的请求;平台不限制视频数量、组合或总时长,具体支持范围交由上游校验。
  • /v1/estimate 返回最大预扣费用:不含视频时按 30 秒输出计算,含视频时按“输入视频总时长 + 30 秒输出”计算。
  • Seedance 2.5 会根据提示词和媒体内容判断参考生成、延长或编辑任务类型;部分任务类型限制只能由上游在异步处理时判定,因此可能以异步失败结束。
  • 首尾帧模式只能使用 adaptive;视频延长/编辑类意图也可能被上游要求使用 adaptive
  • 任务失败或过期会自动退还本次预扣积分。

常见错误码

请求失败时,API 返回 JSON 格式的错误响应:

{
  "error": {
    "code": "insufficient_credits",
    "message": "Your credit balance is too low. Please top up.",
    "type": "billing_error"
  }
}

错误码一览

HTTP 状态码错误码类型说明
400invalid_requestinvalid_request_error缺少必填参数或参数无效
401invalid_api_keyauthentication_errorAPI Key 无效、已禁用或已删除
402insufficient_creditsbilling_error积分余额不足,请充值
403ip_not_allowedpermission_error请求 IP 不在 Key 的白名单中
404model_not_foundinvalid_request_error模型不存在或已停用
404task_not_foundinvalid_request_error任务 ID 不存在
429rate_limit_exceededrate_limit_error请求过于频繁,请降低频率
429spend_limit_exceededbilling_error达到 Key 的消费限额(每小时/每天/总量)
500internal_errorapi_error服务器内部错误
503upstream_errorupstream_error上游 AI 服务返回错误

常见场景

invalid_request (400)

缺少必填字段或参数格式错误时返回。

{
  "error": {
    "code": "invalid_request",
    "message": "'model' is required.",
    "type": "invalid_request_error"
  }
}

insufficient_credits (402)

积分不足。可通过 GET /v1/credits 查询余额,前往 Dashboard > Billing 充值。

invalid_api_key (401)

可能原因:

  • Key 不以 sk- 开头
  • Key 已被禁用或删除
  • 用户账户已被封禁

upstream_error (503)

上游 AI 服务返回错误,可能原因:

  • 输入内容包含敏感或违规信息
  • 上游服务暂时不可用
  • 请求参数不被上游支持

因上游错误导致任务失败时,预扣积分会自动退还。