跳转到主要内容
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://toapis.com/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "seedance-2",
    "prompt": "全程使用视频1的第一视角构图,全程使用音频1作为背景音乐。第一人称视角果茶广告,保留清脆摇晃声与轻快节奏。",
    "duration": 11,
    "aspect_ratio": "16:9",
    "image_with_roles": [
      {"url": "https://example.com/ref-image-1.jpg", "role": "first_frame"},
      {"url": "https://example.com/ref-image-2.jpg", "role": "last_frame"}
    ],
    "video_with_roles": [
      {"url": "https://example.com/ref-video-1.mp4", "role": "reference_video"}
    ],
    "audio_with_roles": [
      {"url": "https://example.com/ref-audio-1.mp3", "role": "reference_audio"}
    ],
    "resolution": "720p",
    "generate_audio": true
  }'
{
  "id": "tsk_vid_xxx",
  "object": "generation.task",
  "model": "seedance-2",
  "status": "in_progress",
  "progress": 50,
  "created_at": 1778569600,
  "metadata": {}
}

Documentation Index

Fetch the complete documentation index at: https://docs.toapis.com/llms.txt

Use this file to discover all available pages before exploring further.

  • 支持 seedance-2seedance-2-fast
  • 支持文生视频、首帧图生视频、首尾帧图生视频、多模态参考生视频
  • 支持参考图、参考视频、参考音频联合控制
  • 支持同步音频生成、随机种子、返回尾帧
  • 异步任务管理,通过任务 ID 查询结果

Authorizations

Authorization
string
必填
所有接口均需要使用 Bearer Token 进行认证获取 API Key:访问 API Key 管理页面 获取您的 API Key使用时在请求头中添加:
Authorization: Bearer YOUR_API_KEY

Body

model
string
默认值:"seedance-2"
必填
视频生成模型名称可用模型:
  • seedance-2 - 标准版,支持更长时长,适合更高质量输出
  • seedance-2-fast - 快速版,适合预览、迭代和更低延迟场景
prompt
string
视频内容描述支持中英文输入。建议明确描述场景、镜头运动、主体动作、风格和声音氛围。建议:
  • 中文尽量控制在 500 字以内
  • 英文尽量控制在 1000 词以内
  • 需要引用参考素材时,使用“图片1 / 视频1 / 音频1”的方式指代
duration
integer
默认值:0
视频时长(秒)取值规则:
  • seedance-24-15
  • seedance-2-fast4-12
  • 0:自动时长
  • -1:自动时长
seedance-2-fast 不支持超过 12 秒的视频时长。
aspect_ratio
string
视频宽高比可选项:
  • 21:9
  • 16:9
  • 4:3
  • 1:1
  • 3:4
  • 9:16
建议优先使用 aspect_ratio 作为对外字段。
image_urls
string[]
兼容模式下的图片 URL 数组推荐优先使用 image_with_roles,这样可以显式声明 first_framelast_framereference_image兼容规则:
  • 传 1 张图时,通常按首帧图处理
  • 传多张图时,角色推断会带来歧义,不建议用于新接入
image_urls 不应与 image_with_roles 同时使用。
image_with_roles
array
带角色的图片数组支持场景:
  • 首帧图生视频:first_frame 1 张
  • 首尾帧图生视频:first_frame 1 张 + last_frame 1 张
  • 多模态参考生视频:reference_image 1-9 张
  • first_frame 最多 1 张
  • last_frame 最多 1 张
  • reference_image 最多 9
  • 首帧/首尾帧模式不能与参考模式混用
video_with_roles
array
带角色的视频数组当前仅支持多模态参考模式使用 reference_video限制:
  • 最多 3 条参考视频
audio_with_roles
array
带角色的音频数组当前仅支持多模态参考模式使用 reference_audio限制:
  • 最多 3 段参考音频
audio_with_roles 不能单独使用,至少还需要一个图片或视频参考输入。
resolution
string
默认值:"720p"
视频分辨率可选项:
  • 720p
  • 1080p
seedance-2-fast 不支持 1080p
generate_audio
boolean
默认值:true
是否生成同步音频
  • true:生成带音频的视频
  • false:生成无声视频
seed
integer
随机种子,用于控制生成随机性
callback_url
string
异步任务回调地址需与 trace_id 一起传递时才生效。
trace_id
string
调用方自定义透传 ID回调触发时会原样返回,需与 callback_url 一起传递时才生效。

使用已入库素材

如果你已经通过私域素材接口完成了素材入库,并拿到了可用的 asset_id,那么在视频生成接口中,你不需要再传原始素材 URL,而是直接使用:
  • asset://<ASSET_ID>
适用范围:
  • 虚拟人像素材
  • 真人人像素材
  • 已经处理完成并处于 active 状态的图片、视频、音频素材
使用前你需要先完成以下流程:
  1. 先在素材接口中创建素材组或完成真人认证
  2. 上传素材并拿到 asset_id
  3. 轮询素材状态,确认已经变为 active
  4. 在视频生成请求中把素材地址写成 asset://<ASSET_ID>
你可以参考这两组素材文档完成入库:

在生成请求中的写法

图片素材可用于:
  • first_frame
  • last_frame
  • reference_image
视频素材可用于:
  • reference_video
音频素材可用于:
  • reference_audio
最小示例:
{
  "model": "seedance-2",
  "prompt": "让图片1中的人物站在落地窗前缓慢转身,镜头轻微推进,保持人物服装和面部特征一致",
  "image_with_roles": [
    {
      "url": "asset://asset_img_01KXXXXXXX",
      "role": "reference_image"
    }
  ]
}
包含视频和音频参考的示例:
{
  "model": "seedance-2",
  "prompt": "保持图片1中的人物形象,参考视频1的镜头运动和音频1的节奏氛围,生成一段室内口播视频",
  "image_with_roles": [
    {
      "url": "asset://asset_img_01KXXXXXXX",
      "role": "reference_image"
    }
  ],
  "video_with_roles": [
    {
      "url": "asset://asset_vid_01KXXXXXXX",
      "role": "reference_video"
    }
  ],
  "audio_with_roles": [
    {
      "url": "asset://asset_aud_01KXXXXXXX",
      "role": "reference_audio"
    }
  ]
}
只有状态为 active 的素材才能用于视频生成。如果你传入了 asset://<ASSET_ID> 但素材仍在 processing 或已经 failed,生成请求会失败或无法达到预期效果。

输入组合规则

支持的典型输入组合:
  • 纯文本:文生视频
  • 文本 + 1 张首帧图:首帧图生视频
  • 文本 + 首帧图 + 尾帧图:首尾帧图生视频
  • 文本 + 参考图:多模态参考生视频
  • 文本 + 参考视频:视频参考生视频
  • 文本 + 参考图 + 参考音频:多模态参考生视频
  • 文本 + 参考图 + 参考视频 + 参考音频:多模态参考生视频
三种模式互斥:
  • 首帧图生视频
  • 首尾帧图生视频
  • 多模态参考生视频
如果你需要严格控制起始画面和结束画面,请优先使用 first_frame / last_frame;如果更看重综合参考能力,请使用 reference_image / reference_video / reference_audio

能力与约束

项目seedance-2seedance-2-fast
主要定位更高质量与更长时长更快生成与更低延迟
时长4-15 秒,支持自动时长4-12 秒,支持自动时长
分辨率720p / 1080p720p
图片角色first_frame / last_frame / reference_imagefirst_frame / last_frame / reference_image
视频角色reference_videoreference_video
音频角色reference_audioreference_audio
同步音频generate_audiogenerate_audio
回调通知callback_url + trace_idcallback_url + trace_id

Response

id
string
任务唯一标识符,用于查询任务状态
object
string
对象类型,固定为 generation.task
model
string
使用的模型名称
status
string
任务状态
  • queued - 排队等待处理
  • in_progress - 处理中
  • completed - 成功完成
  • failed - 失败
progress
integer
任务进度百分比(0-100)
created_at
integer
任务创建时间戳(Unix 时间戳)
metadata
object
任务元数据
视频生成为异步任务,提交后会返回任务 ID。可使用 获取视频任务状态 查询进度和结果。
curl --request POST \
  --url https://toapis.com/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "seedance-2",
    "prompt": "全程使用视频1的第一视角构图,全程使用音频1作为背景音乐。第一人称视角果茶广告,保留清脆摇晃声与轻快节奏。",
    "duration": 11,
    "aspect_ratio": "16:9",
    "image_with_roles": [
      {"url": "https://example.com/ref-image-1.jpg", "role": "first_frame"},
      {"url": "https://example.com/ref-image-2.jpg", "role": "last_frame"}
    ],
    "video_with_roles": [
      {"url": "https://example.com/ref-video-1.mp4", "role": "reference_video"}
    ],
    "audio_with_roles": [
      {"url": "https://example.com/ref-audio-1.mp3", "role": "reference_audio"}
    ],
    "resolution": "720p",
    "generate_audio": true
  }'
{
  "id": "tsk_vid_xxx",
  "object": "generation.task",
  "model": "seedance-2",
  "status": "in_progress",
  "progress": 50,
  "created_at": 1778569600,
  "metadata": {}
}