POST /v1/videos 创建异步 Seedance 视频生成任务。轮询任务直至完成,然后通过返回的 Flatkey 地址下载视频。
支持的模型有 seedance-2.0、seedance-2.0-fast、seedance-2.0-mini 和 seedance-2.5。模型可用性取决于你的账户,请使用 GET /v1/models 获取当前模型列表。
端点
Flatkey 也支持
POST /v1/video/generations 和 GET /v1/video/generations/{task_id}。推荐使用 /v1/videos,以获得标准响应结构和原生 usage 数据。请求
请求头
请求体参数
string
必填
Seedance 模型 ID:
"seedance-2.0"、"seedance-2.0-fast"、"seedance-2.0-mini" 或 "seedance-2.5"。array
必填
多模态输入元素。至少包含一条非空文本、图片、视频或音频。见
content 元素。string
输出分辨率,默认
"720p"。string
输出宽高比:
"16:9"、"4:3"、"1:1"、"3:4"、"9:16"、"21:9" 或 "adaptive",默认 "adaptive"。设为 "adaptive" 时,模型根据输入的图片或视频自动选择比例。seedance-2.5 的首帧和首尾帧任务只支持 "adaptive"。integer
视频时长(秒),默认
5。Seedance 2.0 系列支持 4 至 15;seedance-2.5 支持 4 至 30。boolean
是否在右下角添加 “AI generated” 水印,默认
false。boolean
是否生成同步的单声道音频,默认
true。只需要画面时设为 false;生成的音频偶尔会因版权检测导致任务失败。boolean
是否以图片形式返回生成视频的最后一帧,默认
false。设为 true 时,任务完成后响应中会带 metadata.last_frame_url,可下载与视频尺寸相同、无水印的 JPEG。把它作为下一个任务的 first_frame,即可实现多段续接。与 metadata.url 一样,下载无需鉴权头,请妥善保管该地址。string
仅
seedance-2.5。生成视频的封装格式:"mp4" 或 "mov",默认 "mp4"。MOV 色彩精度更高,适合调色、抠像、合成等后期(H.264、YUV 4:4:4、PCM 音频),但部分播放器无法打开。MOV 结果通过内容端点下载时返回 video/quicktime。string
仅
seedance-2.5 的参考模式任务。告诉模型你要做哪类任务:"auto"(默认)、"reference"、"edit" 或 "extend"。显式指定后,任务类型相关的校验会提前到提交时进行,不合法的组合会立即报错,而不是任务开始后才失败。"reference"、"edit"、"extend" 都要求 content 中有参考素材;只有文本却指定 "reference" 会被拒绝。详见视频编辑与延长。integer
排队优先级,取值
0 至 9,默认 0。数值越大,越会排在同一模型下优先级更低的任务之前。Seedance 2.0 全系列和 seedance-2.5 支持。超出 0–9 会返回 400。integer
任务从创建起最多等待和运行的秒数,超时即过期。默认
172800(48 小时)。如果结果来得太晚就没有用,可以设得更短。string
公网 HTTPS 地址,任务状态每次变化时都会收到一次
POST,详见任务回调。必须使用 https、不能包含用户名密码、长度不超过 2048 个字符,并且解析到公网地址,否则请求返回 400。content 元素
每个 URL 可以是公网 HTTPS 地址、
data:<mime>;base64, 格式的 data URI(仅图片和音频),或者素材库中的 asset:// 引用。整个请求体不得超过 64 MB。
每个任务只能选择一种输入模式,不能混用:
视频编辑
seedance-2.5 可以在参考模式下编辑或延长已有视频。在提示词里描述要做的改动,并用 @Video1 指代该视频。
seedance-2.5 请求一样,编辑按对应分辨率的带视频单价、固定 30 秒计费,与输入、输出视频的实际时长无关。
样片模式
seedance-2.5 可以先生成一个便宜的 480p 样片,确认场景、镜头和动作没问题后,再花钱出正式视频。共需两次请求:
- 生成样片。 按正常请求发送,加上
"draft": true和"resolution": "480p",按普通 480p 视频计费。 - 生成正片。 样片完成后再发一次请求,
content中只放一个指向样片任务 ID 的draft_task,并设置"resolution": "1080p"。
draft_task 时不能再传 duration、ratio、frames、seed、generate_audio、omni_reference_task_type、draft,也不能有其他 content 元素,否则返回 400。return_last_frame、output_format、watermark、priority、execution_expires_after 和 callback_url 仍可设置。
Seedance 不接受直接上传含真人人脸的图片或视频。请先上传为真人素材,再用
asset:// 引用。请求示例
首尾帧输入
多模态参考
响应
响应字段
string
用于轮询任务和下载完成视频的公开任务 ID。
task_id 包含相同的值。string
任务状态:
queued、in_progress、completed 或 failed。integer
生成进度,范围为 0 至 100。
integer
任务创建时的 Unix 时间戳。
查询任务状态
状态值
任务回调
设置callback_url 后,可以接收任务状态变化通知,替代轮询或与轮询配合使用。任务进入 in_progress、completed 或 failed 时,Flatkey 会以 Content-Type: application/json 发送一次 POST。请求体与此刻调用 GET /v1/videos/{task_id} 的返回完全一致,任务完成时包含 metadata.url 和 metadata.last_frame_url。
请在 5 秒内返回任意
2xx 状态码。否则 Flatkey 会在 2 秒和 8 秒后各重试一次,之后不再发送。不跟随重定向。回调没有签名,处理结果前请先查询任务确认;回调可能丢失,请以查询接口为准。
下载视频
video/mp4 数据;任务使用 output_format: "mov" 时返回 video/quicktime。该端点不需要 Bearer token,也可以直接作为 <video> 的资源地址。
错误
请求阶段的错误使用 Flatkey 标准错误结构:端到端示例
下面的示例会创建任务、每五秒轮询一次,并在任务完成后下载视频。运行前需要安装jq。