模型分组查询与在线调用
新增 /v1/video-models 返回模型支持的分辨率;文档站支持 API Playground 和 cURL、Python、JavaScript、Java、Go 代码生成。
SEED VIDEO PLATFORM
使用统一接口提交文本、图片、视频与音频素材,异步获取最终成片。平台负责内部处理与素材校验。
这里记录影响 API 调用和 SDK 使用的重要变化。
新增 /v1/video-models 返回模型支持的分辨率;文档站支持 API Playground 和 cURL、Python、JavaScript、Java、Go 代码生成。
账户资产改为人民币余额;Token 仅衡量任务工作量,扣款按模型、最终输出规格和配置倍率计算。
Seed V1 与火山兼容接口均支持 callback_url,并分别返回各自的任务查询格式。
创建视频任务必须显式传入 model_id 与 resolution;火山兼容接口必须显式传入 model 与 resolution。
在用户控制台创建 API Token,仅保存到服务端环境变量。
文本可直接提交;素材调用 SDK 上传后作为输入引用。
任务成功后获取短期有效的 output_url 下载成片。
/v1/credits/balance提交任务前查询可用人民币余额。
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxx
Idempotency-Key: your-business-order-id
/v1/credits/balance查询当前用户的人民币余额,金额字段统一以分为单位。
无路径参数和请求体。
total_balance_centsinteger账户余额总额,包含冻结余额available_balance_centsinteger当前可用余额frozen_balance_centsinteger处理中任务冻结金额consumed_balance_centsinteger历史累计消费金额currencystring固定为 CNYupdated_atdatetime余额更新时间{
"total_balance_cents": 5000,
"available_balance_cents": 4853,
"frozen_balance_cents": 147,
"consumed_balance_cents": 0,
"currency": "CNY",
"updated_at": "2026-08-27T03:00:00Z"
}
SDK 的 upload_asset / uploadAsset 会自动完成签名地址申请、文件直传和上传校验。调用方只拿到可用于任务的 asset_id。
文本在带素材的场景中可选。请在提示词中清楚说明每个参考素材的用途,例如“参考视频 1 的动作节奏,使用音频 1 作为背景音乐”。
下载包中的多模态示例遇到参考音频会自动开启 generate_audio=true。直接调用 HTTP 接口时,请自行传入该字段。
需要严格保持首帧或首尾帧一致时,使用 first_frame 和 last_frame。该模式不与 reference_* 多模态素材混用。
/v1/video-tasks{
"prompt": "镜头从室内平稳移动到窗外夜景",
"inputs": [
{"asset_id": "首帧素材 ID", "role": "first_frame"},
{"asset_id": "尾帧素材 ID", "role": "last_frame"}
]
}请求基地址为 https://api.gate.ayshq.com。以下接口均需要 Authorization: Bearer <API Token>;文档中的路径需要拼接到该基地址后调用。文件直传完成后,平台自动完成媒体与素材校验;调用方只需查询素材状态。
/v1/assets/upload-requests申请本地文件的临时直传地址。
media_typestring是IMAGE、VIDEO 或 AUDIOcontent_typestring是文件 MIME 类型,如 image/pngsizeinteger是文件字节数,必须准确notestring否素材备注,最多 200 字符{
"media_type": "IMAGE",
"content_type": "image/png",
"size": 245812,
"note": "产品正面参考图"
}
{
"asset_id": "0e7fe1c0-cf4a-4bb0-b2bc-e8ef0fc9ce2e",
"upload_url": "https://storage.example.com/signed-upload-url",
"expires_at": "2026-07-26T03:15:00Z",
"status": "PENDING_UPLOAD"
}
{upload_url}使用上一步返回的完整 URL 直传文件。该请求发往存储服务,不携带 Seed Video 的 Authorization。
Content-Typestring是必须与申请上传地址时一致请求体binary是完整文件二进制内容curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: image/png" \
--data-binary @reference.png
存储服务返回 HTTP 2xx 后,使用 GET /v1/assets/{asset_id} 查询。PENDING_UPLOAD 表示平台仍在校验,READY 表示素材已可用于创建任务,FAILED 时读取 error_message。
/v1/assets/url-imports让平台从公开 URL 下载并校验素材,适合已有公网图片、视频或音频地址的场景。
source_urlstring是公开 HTTP(S) 地址,最大 100 MBmedia_typestring是IMAGE、VIDEO 或 AUDIOnotestring否素材备注,最多 200 字符{
"source_url": "https://example.com/reference.mp4",
"media_type": "VIDEO",
"note": "动作参考"
}
返回与素材详情相同的对象,成功时 status 为 READY,并包含短期有效的 preview_url。
/v1/assets查询当前用户的素材列表,按创建时间倒序返回。
[
{
"id": "0e7fe1c0-cf4a-4bb0-b2bc-e8ef0fc9ce2e",
"media_type": "IMAGE",
"status": "READY",
"content_type": "image/png",
"size": 245812,
"width": 1280,
"height": 720,
"note": "产品正面参考图",
"preview_url": "https://storage.example.com/signed-preview-url",
"created_at": "2026-07-26T03:00:00Z"
}
]
/v1/assets/{asset_id}查询单个素材详情,返回字段与素材列表中的对象一致。
asset_idUUID是素材 ID返回素材对象,包含可播放/预览的短期 preview_url。
/v1/assets/{asset_id}更新素材备注,不会改变素材文件本身。
notestring/null是最多 200 字符;传空字符串可清除备注{"note": "片头产品参考图"}
返回更新后的素材对象。
https://api.gate.ayshq.com。例如创建任务的完整地址是 https://api.gate.ayshq.com/v1/video-tasks。generate_audio 为可选布尔字段,默认 false。需要成片包含声音时传 true;使用 reference_audio 时也应传 true。参考音频用于引导生成的声音,不会被原样拼接到成片。model_id + resolution 必须是当前账户已启用的精确组合,请先通过模型查询接口确认。/v1/video-tasks创建异步视频生成任务。建议每次传唯一的 Idempotency-Key。
Idempotency-Keystring否最长 100 字符;相同键和相同请求返回原任务promptstring条件最多 2000 字符;无素材时必填model_idstring是指定生成模型;与 resolution 组成精确输出方案resolutionstring是480p、720p、1080p、2k、4k;必须存在可用模型组合aspect_ratiostring否16:9、9:16、1:1、4:3、3:4、21:9、adaptiveduration_secondsinteger否默认 4 秒;Seedance 2.5 模型支持 4–30 秒,其他模型支持 4–15 秒generate_audioboolean否是否生成声音,默认 falsecallback_urlstring否公网 HTTP(S) 回调地址;返回 Seed V1 任务查询格式inputsarray条件已完成校验的素材;无 prompt 时必填,最多 9 个inputs[].asset_idUUID是素材 IDinputs[].rolestring是first_frame、last_frame、reference_image、reference_video 或 reference_audio{
"prompt": "清晨海面上的航拍镜头,阳光穿过薄雾",
"model_id": "doubao-seedance-2-0-260128",
"resolution": "480p",
"aspect_ratio": "16:9",
"duration_seconds": 4,
"generate_audio": false,
"callback_url": "https://client.example.com/seed-callback",
"inputs": []
}
创建任务必须填写模型;请先查询当前账户可用的 model_id + resolution 组合。
{
"prompt": "清晨海面上的航拍镜头,阳光穿过薄雾",
"model_id": "doubao-seedance-2-5-260628",
"resolution": "480p",
"duration_seconds": 4
}
{
"id": "a248ba24-f8a8-4f80-af8c-2da9cb64f615",
"status": "queued",
"created_at": "2026-07-26T03:10:00Z",
"updated_at": "2026-07-26T03:10:00Z"
}
Seed V1 callback_url/v1/video-tasks 创建任务时传入公网回调地址。回调正文与 GET /v1/video-tasks/{task_id} 完全一致,状态为 queued、processing、succeeded 或 failed。
POST https://client.example.com/seed-callback
Content-Type: application/json
X-Seed-Callback-Event-Id: 67b0d06d-...
X-Seed-Task-Id: a248ba24-...
{
"id": "a248ba24-f8a8-4f80-af8c-2da9cb64f615",
"status": "succeeded",
"output_url": "https://storage.example.com/signed-output-url",
"created_at": "2026-08-21T03:10:00Z",
"updated_at": "2026-08-21T03:15:30Z",
"completed_at": "2026-08-21T03:15:30Z"
}
回调地址不能是内网、本机或携带 URL 凭证的地址。接收端应在 5 秒内返回 2xx;终态失败后最多再重试 3 次,间隔 5 秒。请用 X-Seed-Callback-Event-Id 幂等去重。回调失败不影响任务和余额结算。
/v1/video-tasks/{task_id}查询任务状态。建议在 queued 或 processing 时每 5 至 10 秒轮询。
task_idUUID是创建任务返回的任务 ID{
"id": "a248ba24-f8a8-4f80-af8c-2da9cb64f615",
"status": "processing",
"created_at": "2026-07-26T03:10:00Z",
"updated_at": "2026-07-26T03:11:20Z"
}
{
"id": "a248ba24-f8a8-4f80-af8c-2da9cb64f615",
"status": "succeeded",
"output_url": "https://storage.example.com/signed-output-url",
"created_at": "2026-07-26T03:10:00Z",
"updated_at": "2026-07-26T03:15:30Z",
"completed_at": "2026-07-26T03:15:30Z"
}
{
"id": "a248ba24-f8a8-4f80-af8c-2da9cb64f615",
"status": "failed",
"error": {"code": 50010, "error": "VIDEO_PROCESSING_FAILED", "message": "Video processing did not complete"},
"completed_at": "2026-07-26T03:12:00Z"
}
/v1/video-tasks分页查询当前用户的任务列表。
statusstringallall、queued、processing、succeeded、failedpageinteger0从 0 开始的页码sizeinteger20每页 1 至 100 条{
"items": [{
"id": "a248ba24-f8a8-4f80-af8c-2da9cb64f615",
"status": "succeeded",
"output_url": "https://storage.example.com/signed-output-url",
"created_at": "2026-07-26T03:10:00Z",
"updated_at": "2026-07-26T03:15:30Z",
"completed_at": "2026-07-26T03:15:30Z"
}],
"total": 1,
"page": 0,
"size": 20
}
/v1/video-models按模型分组返回当前账户支持的全部分辨率。
[{"model_id":"doubao-seedance-2-0-260128","resolutions":["480p","720p","1080p"]}]
如果你的系统已经按火山官方协议开发,可以直接使用下面这套接口。它与本页的 /v1/... 业务接口并行,二者请求格式互不影响。请求基地址仍然是 https://api.gate.ayshq.com。
/api/v3/contents/generations/tasks创建视频生成任务。支持 text、image_url、video_url、audio_url 内容类型;公网素材 URL 会由平台导入并校验。
{
"model": "doubao-seedance-2-0-260128",
"content": [{"type": "text", "text": "一只猫在窗边"}],
"resolution": "1080p",
"ratio": "16:9",
"duration": 4,
"generate_audio": true,
"callback_url": "https://client.example.com/video-callback"
}
{"id":"a248ba24-f8a8-4f80-af8c-2da9cb64f615","model":"doubao-seedance-2-0-260128","status":"queued","created_at":"2026-08-18T03:10:00Z"}
callback_url创建任务时传入公网 HTTP(S) 回调地址。平台会在整体状态变为 queued、running、succeeded、failed 或 expired 时发送 JSON,正文与任务查询响应一致。取消任务使用 failed 状态并在 error.code 中返回 CANCELLED。
POST https://client.example.com/video-callback
Content-Type: application/json
X-Seed-Callback-Event-Id: 67b0d06d-...
X-Seed-Task-Id: a248ba24-...
{
"id": "a248ba24-f8a8-4f80-af8c-2da9cb64f615",
"model": "doubao-seedance-2-0-260128",
"status": "succeeded",
"content": {"video_url": "https://storage.example.com/video.mp4"},
"resolution": "1080p",
"ratio": "16:9",
"duration": 4,
"generate_audio": true
}
接收端应在 5 秒内返回任意 2xx。终态首次失败后最多再重试 3 次,间隔 5 秒;同一事件可能重复投递,请使用 X-Seed-Callback-Event-Id 幂等去重。内网、本机、携带 URL 凭证或片段的地址会被拒绝。
/api/v3/contents/generations/tasks/{task_id}查询任务。状态为 queued、running、succeeded、failed 或 expired;成功时从 content.video_url 读取成片地址。
{"id":"a248ba24-f8a8-4f80-af8c-2da9cb64f615","status":"succeeded","content":{"video_url":"https://storage.example.com/video.mp4"}}
/api/v3/contents/generations/tasks分页查询任务。参数:page_num(从 1 开始,默认 1)、page_size(1 至 100,默认 20)、status。
{"data":[],"total":0,"page_num":1,"page_size":20}
/api/v3/contents/generations/tasks/{task_id}取消尚未完成的任务。成功返回 HTTP 204。
真人/虚拟素材本页接口完整兼容火山素材库协议。普通虚拟素材走 CreateAssetGroup → CreateAsset;真人素材必须先完成 CreateVisualValidateSession → GetVisualValidateResult。平台返回自己的 Group-* 和 Asset-*,内部完成上游 ID 映射,客户不会接触上游原始素材 ID。
平台同时兼容火山官方素材库的 AK/SK HMAC 请求。客户在用户控制台创建一枚 API Token 后,将同一枚完整 Token 同时填写为官方 SDK 的 Access Key ID(AK)和 Secret Access Key(SK),请求根地址使用 https://api.gate.ayshq.com/:
AK = sk_live_xxx
SK = sk_live_xxx
Region = cn-beijing
Service = ark
Version = 2024-01-01
官方 SDK 生成的素材请求可以直接发送到平台根路径,也兼容 K23 风格的 /seedance/assets/ 路径。
素材库 Action 的完整请求形式为:
POST https://api.gate.ayshq.com/?Action=CreateAssetGroup&Version=2024-01-01
Authorization: HMAC-SHA256 Credential=sk_live_xxx/20260831/cn-beijing/ark/request, ...
X-Date: 20260831T120000Z
X-Content-Sha256: <请求体 SHA-256>
支持 CreateAssetGroup、GetAssetGroup、UpdateAssetGroup、DeleteAssetGroup、ListAssetGroups、CreateAsset、GetAsset、UpdateAsset、ListAssets、DeleteAsset、CreateVisualValidateSession 和 GetVisualValidateResult。
POST ?Action=CreateVisualValidateSession&Version=2024-01-01
{
"CallbackURL": "https://client.example.com/liveness-result",
"ProjectName": "default"
}
返回:
{
"BytedToken": "validation-token",
"H5Link": "https://ark.volcengine.com/...",
"CallbackURL": "https://client.example.com/liveness-result"
}
终端用户打开 H5Link 完成本人认证。回调中的 resultCode=10000 表示认证成功。
POST ?Action=GetVisualValidateResult&Version=2024-01-01
{"BytedToken":"validation-token","ProjectName":"default"}
返回:{"GroupId":"Group-平台素材组ID"}
POST ?Action=CreateAsset&Version=2024-01-01
{
"GroupId": "Group-平台素材组ID",
"URL": "https://client.example.com/person.jpg",
"Name": "已授权真人主播",
"AssetType": "Image",
"ProjectName": "default"
}
返回中的 Id 为 Asset-平台素材ID。
使用 GetAsset 轮询,只有 Status=Active 才能生成。视频请求中使用 asset://Asset-平台素材ID;平台会在提交上游前自动替换成对应的上游素材 ID。
填写 API Key 后可直接创建一条测试任务;生成的代码使用环境变量,不会显示或保存当前 Key。
尚未发送请求{
"code": 40001,
"error": "VALIDATION_FAILED",
"message": "At least one of prompt or inputs is required",
"request_id": "client-request-000001"
}
请保存响应头或响应体中的 request_id,排查问题时提供给支持人员。任务本身的生成失败通过任务状态 failed 返回,不会表现为 HTTP 请求失败。
仓库中提供只依赖标准库的 Python 客户端,以及基于 JDK HttpClient 和 Jackson 的 Java 客户端。多模态示例已覆盖本页全部七种组合。
压缩包不包含 Token。解压后按照包内 README 设置 SEED_API_TOKEN 和 SEED_API_BASE_URL,即可运行示例。