创建视频生成任务
本文介绍创建视频生成任务 API 的输入输出参数,供您使用接口时查阅字段含义。模型会依据传入的图片及文本信息生成视频,待生成完成后,您可以按条件查询任务并获取生成的视频。
Seedance 2.0 不支持直接上传含有真人人脸的参考图/视频
Seedance 2.0 系列模型不支持直接上传含有真人人脸的参考图/视频。为了便利创作者对肖像的使用,平台推出了以下解决方案,详情参见 教程。
- 支持使用部分模型的含人脸原始产物作为输入素材
- 支持使用预置虚拟人像作为输入素材
- 支持使用已授权真人素材作为输入
完整调用流程
- 创建任务:调用本接口,从返回体的
id取得任务 ID。 - 等待结果,二选一:
- 创建时填写了
callback_url,任务状态变化会异步推送到该地址; - 或调用获取任务详情轮询,直到
status进入终态。
- 创建时填写了
- 取视频:
status为succeeded时,从content.video_url下载。该地址是带签名的临时地址,有效期至content.expiredAt(任务updated_at之后 24 小时),过期后失效。需要长期保存的视频请在有效期内转存至己方存储,不要直接把该地址存库或分发给终端用户。
接口详情
授权
BearerAuth 需要鉴权的接口请传入 Bearer <token> 形式的访问令牌。
位置: header
请求主体
application/json
视频生成任务创建请求
TypeScript 定义
在 TypeScript 中使用 request body 类型。
创建视频生成任务的请求体,参数适用于 Seedance 2.0 系列模型。 frames、draft、draft_task 不被接受,传入会返回 400 InvalidParameter;safety_identifier 会被接受并留存,但转发上游时一律替换为平台内部用户 ID;seed、camera_fixed、service_tier 在 Seedance 2.0 系列上不生效。
响应主体
application/json
application/json
application/json
application/json
application/json
application/json
application/json
在线请求
请求示例
curl -X POST "https://example.com/api/v3/contents/generations/tasks" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2.0", "content": [ { "type": "text", "text": "镜头缓慢推近海面,日出时分,光线温暖。" } ], "ratio": "16:9", "resolution": "720p", "duration": 5, "watermark": false, "callback_url": "https://your-server.example.com/webhooks/seedance" }'响应示例
{ "content": { "expiredAt": "2026-06-04T10:02:00Z", "last_frame_url": "https://cdn.example.com/last-frame.png", "video_url": "https://cdn.example.com/output.mp4" }, "created_at": 1712664960, "duration": 5, "error": { "code": "upstream_failed", "message": "seedance task failed upstream" }, "execution_expires_after": 172800, "framespersecond": 24, "generate_audio": false, "id": "task_019db400-0000-7000-8000-000000000001", "model": "seedance-2.0", "ratio": "16:9", "resolution": "720p", "revised_prompt": "A cinematic ocean wave at sunset, golden hour lighting.", "seed": 42, "service_tier": "default", "status": "succeeded", "updated_at": 1712664990, "usage": { "completion_tokens": 88, "tool_usage": { "web_search": 0 }, "total_tokens": 88 }}{ "error": { "code": "InvalidParameter", "message": "The parameter content specified in the request is not valid. Request id: 0217790892668142434549f79b621a35", "param": "content", "reasonCode": "seedance_text_blocked_by_moderation", "requestId": "seedance_req_019e8808-d40e-7ccd-873c-072b78b15437", "type": "BadRequest" }}{ "error": { "code": "InvalidParameter", "message": "The parameter content specified in the request is not valid. Request id: 0217790892668142434549f79b621a35", "param": "content", "reasonCode": "seedance_text_blocked_by_moderation", "requestId": "seedance_req_019e8808-d40e-7ccd-873c-072b78b15437", "type": "BadRequest" }}{ "error": { "code": "InvalidParameter", "message": "The parameter content specified in the request is not valid. Request id: 0217790892668142434549f79b621a35", "param": "content", "reasonCode": "seedance_text_blocked_by_moderation", "requestId": "seedance_req_019e8808-d40e-7ccd-873c-072b78b15437", "type": "BadRequest" }}{ "error": { "code": "InvalidParameter", "message": "The parameter content specified in the request is not valid. Request id: 0217790892668142434549f79b621a35", "param": "content", "reasonCode": "seedance_text_blocked_by_moderation", "requestId": "seedance_req_019e8808-d40e-7ccd-873c-072b78b15437", "type": "BadRequest" }}{ "error": { "code": "InvalidParameter", "message": "The parameter content specified in the request is not valid. Request id: 0217790892668142434549f79b621a35", "param": "content", "reasonCode": "seedance_text_blocked_by_moderation", "requestId": "seedance_req_019e8808-d40e-7ccd-873c-072b78b15437", "type": "BadRequest" }}{ "error": { "code": "InvalidParameter", "message": "The parameter content specified in the request is not valid. Request id: 0217790892668142434549f79b621a35", "param": "content", "reasonCode": "seedance_text_blocked_by_moderation", "requestId": "seedance_req_019e8808-d40e-7ccd-873c-072b78b15437", "type": "BadRequest" }}常见问题
输入素材包含真人人脸
直接传入含真人人脸的图片或视频会被拦截,返回 400:
{
"error": {
"code": "InputImageSensitiveContentDetected.PrivacyInformation",
"message": "The request failed because the input image may contain real person.",
"param": "",
"type": "BadRequest"
}
}要使用这类素材,先把它上传到素材库完成肖像授权,再把 url 换成素材库返回的素材 ID 重新提交:
{
"type": "image_url",
"role": "first_frame",
"image_url": { "url": "asset://<ASSET_ID>" }
}image_url、video_url、audio_url 三种素材的用法一致,都是把素材 ID 填在各自的 url 字段里。
上传与授权步骤见素材库。