API ReferenceVideo APIsSeedance

Seedance 1.5 API

ReachAPI 当前通过公开模型 ID seedance-1-5-pro 对外提供 Seedance 1.5 能力。

本文说明如何在 ReachAPI 中调用 Seedance 1.5,包括请求参数、约束和示例。

重要说明:

  • 提交任务:POST /v1/vids/create
  • 查询任务:GET /v1/tasks/{task_id}
  • 模型 ID:seedance-1-5-pro
  • 执行方式:异步任务
  • 所有请求现在都必须显式传 input.content

1. 接口概览

  • 请求方法:POST
  • 请求路径:/v1/vids/create
  • Content-Type:application/json
  • 结果获取方式:
    • 提交时先返回任务受理结果
    • 最终结果通过轮询 /v1/tasks/{task_id}callback_url 获取

2. 认证与请求头

请求头示例:

Authorization: Bearer YOUR_REACH_API_KEY
Content-Type: application/json

3. 模型能力摘要

模型时长分辨率比例input.content说明
seedance-1-5-pro4-12s480p720p1080p21:916:94:31:13:49:16adaptive必填支持文本、首帧图、尾帧图

说明:

  • 支持 duration_seconds = -1,由模型自动选择时长

计费与用量

Seedance 视频任务采用返回 token 用量计费,而非按时长计费。预估价格 = token 单价 × token 消耗量。最终账单使用 ReachAPI 任务响应中的 usage.output_tokens,该值由 BytePlus usage.completion_tokens 映射而来。

音频输出Token 单价说明
包含音频$2.40 / 100 万 token未传 generate_audio 时默认按此档位
不含音频$1.20 / 100 万 token传入 generate_audio=false 时适用

4. 提交任务

请求体示例:

{
  "model": "seedance-1-5-pro",
  "callback_url": "https://your-domain.com/callback",
  "input": {
    "content": [
      {
        "type": "text",
        "text": "A cinematic drone shot passing over a coastline at sunrise"
      }
    ],
    "duration_seconds": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }
}

4.1 顶层参数

字段类型必填说明
modelstring只能是 seedance-1-5-pro
callback_urlstring任务终态回调地址。仅支持 https,最大长度 2048,禁止本地或内网目标
inputobject视频生成参数

4.2 input 参数

字段类型必填说明
contentarray<object>显式输入内容,必须为非空数组
duration_secondsinteger输出时长。可传 4-12,或传 -1 由模型自动选择
resolutionstring输出分辨率。可选值:480p720p1080p
aspect_ratiostring输出比例。可选值:21:916:94:31:13:49:16adaptive
generate_audioboolean控制生成的视频是否包含音频
seedinteger随机种子,范围 -14294967295;传 -1 表示随机
safety_identifierstring终端用户安全标识。必须是最长 64 字符的 ASCII 字符串

5. input.content 结构

支持的 type

  • text
  • image_url

支持的 role

  • first_frame
  • last_frame

字段说明:

字段类型必填说明
content[].typestring只能是 textimage_url
content[].textstringtype = text 时必填文本提示词
content[].rolestring条件必填只能是 first_framelast_frame。单张首帧图可省略,省略时按 first_frame 处理
content[].image_url.urlstringtype = image_url 时必填图片 URL、Base64 图片或已上传的素材 ID

约束:

  • content 至少要有 1 个元素
  • 最多 1 个 text
  • 最多 2 个 image_url
  • 最多 1 个 first_frame
  • 最多 1 个 last_frame
  • last_frame 时必须同时传 first_frame

6. 不再支持的旧字段

下面这些字段现在会直接返回 400

  • input.prompt
  • input.image_url
  • input.image_urls
  • input.last_image_url
  • input.video_urls
  • input.audio_urls
  • input.negative_prompt
  • input.parameters
  • input.instances
  • input.service_tier
  • input.execution_expires_after
  • input.frames
  • input.camera_fixed
  • input.draft
  • input.content[].draft_task
  • 任何未文档化的自定义字段

7. 请求示例

7.1 文生视频

curl -X POST "https://direct.reachapi.ai/v1/vids/create" \
  -H "Authorization: Bearer YOUR_REACH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-1-5-pro",
    "input": {
      "content": [
        {
          "type": "text",
          "text": "A luxury watch slowly rotates on a marble pedestal under soft studio light"
        }
      ],
      "duration_seconds": 4,
      "resolution": "720p",
      "aspect_ratio": "16:9"
    }
  }'

7.2 首尾帧图生视频

curl -X POST "https://direct.reachapi.ai/v1/vids/create" \
  -H "Authorization: Bearer YOUR_REACH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-1-5-pro",
    "input": {
      "content": [
        {
          "type": "text",
          "text": "The character slowly turns toward the camera and smiles"
        },
        {
          "type": "image_url",
          "role": "first_frame",
          "image_url": {
            "url": "https://cdn.example.com/first-frame.png"
          }
        },
        {
          "type": "image_url",
          "role": "last_frame",
          "image_url": {
            "url": "https://cdn.example.com/last-frame.png"
          }
        }
      ],
      "duration_seconds": 5,
      "resolution": "1080p",
      "aspect_ratio": "9:16"
    }
  }'

8. 提交响应

示例响应:

{
  "code": 200,
  "msg": "",
  "status": "queued",
  "task_id": "task_xxx",
  "data": []
}

9. 查询任务状态

请求示例:

curl -X GET "https://direct.reachapi.ai/v1/tasks/task_xxx" \
  -H "Authorization: Bearer YOUR_REACH_API_KEY"

成功响应示例:

{
  "code": 200,
  "msg": "",
  "status": "success",
  "task_id": "task_xxx",
  "data": [
    {
      "url": "https://cdn.example.com/generated/video-1.mp4"
    }
  ],
  "usage": {
    "input_tokens": 0,
    "output_tokens": 102960,
    "total_tokens": 102960
  },
  "cost": {
    "spend": 0.12
  }
}

说明:

  • data 为视频结果数组
  • ReachAPI 对成功视频结果至少保证返回 data[].url

10. 回调说明

如果提交任务时传了 callback_url,任务进入终态后,网关会向该地址发送 POST 请求。回调 body 与任务查询响应一致。

11. 约束与说明

  • input.content 为必填
  • resolution 为必填
  • duration_seconds 必须为 -1 或位于 4-12 范围内
  • aspect_ratio 支持 adaptive
  • 输入素材值不能为空;使用 URL 时必须保证服务端可访问

On this page