https://biz.anyroute.iotask_xxx 视频任务
asset_xxx 私有素材
assetgrp_xxx 客户素材组
char_xxx 公域人物dreamina-seedance-2-0-260128
dreamina-seedance-2-0-ep
dreamina-seedance-2-0-fast-260128
dreamina-seedance-2-0-fast-ep
dreamina-seedance-2-0-mini-260615
dreamina-seedance-2-0-mini-ep创建素材组 -> 创建素材并传入 group_id -> 刷新到 active -> 视频使用 asset://asset_xxxdreamina-seedance-2-0-fast-hc
dreamina-seedance-2-0-hc
dreamina-seedance-2-0-mini-hc直接创建素材,不传 group_id -> 刷新到 active -> 视频使用 asset://asset_xxxasset_channel_mismatch 或 asset_binding_conflict。type | 载荷字段 | 支持的 role |
|---|---|---|
text | text | 不传 role |
image_url | image_url.url | reference_image、first_frame、last_frame |
video_url | video_url.url | reference_video |
audio_url | audio_url.url | reference_audio |
asset://asset_xxx、asset://char_xxx、受限 Base64 Data URL。asset://asset_xxx。asset://asset_xxx、受限 Base64 Data URL。multipart/form-data。data:image/jpeg;base64,<BASE64_DATA>jpeg、png、webp、bmp、tiff、gif,格式名必须小写。单张图片解码后必须小于 30 MB。data:audio/mpeg;base64,<BASE64_DATA>wav、mp3、mpeg。单段音频不超过 15 MB,最多 3 段。参考音频不能作为唯一参考输入,必须同时提供至少一张参考图片或一个参考视频。| 字段 | 类型 | 说明 |
|---|---|---|
model | string | 必填,公开模型名称 |
content | array | 必填,1-64 项 |
duration | integer | 可选,4-15 秒 |
resolution | string | 可选,以当前模型能力为准 |
ratio | string | 可选 ,以当前模型能力为准 |
generate_audio | boolean | 可选,是否生成音频 |
watermark | boolean | 可选,是否添加水印 |
return_last_frame | boolean | 可选,是否返回尾帧 |
callback_url | string | 可选,接收平台任务回调的公网 HTTPS URL |
frames、seed、camera_fixed、service_tier、execution_expires_after、priority、draft 和 tools。提交未支持的字段会返回 unsupported_video_parameter,不会静默丢弃字段。duration 只接受 4-15 秒内的整数,不支持 -1。resolution 和 ratio 的具体可用值以公开模型能力及接口校验结果为准;布尔参数会保留显式传入的 false。400 invalid_request。Idempotency-Key。建议每个业务订单使用一个稳定且唯一的 Key。active 状态:{
"model": "dreamina-seedance-2-0-260128",
"content": [
{
"type": "text",
"text": "从第一帧平滑过渡到最后一帧"
},
{
"type": "image_url",
"image_url": {"url": "https://media.example.com/first.jpg"},
"role": "first_frame"
},
{
"type": "image_url",
"image_url": {"url": "https://media.example.com/last.jpg"},
"role": "last_frame"
}
],
"duration": 4,
"resolution": "480p",
"ratio": "16:9",
"return_last_frame": true
}{
"model": "dreamina-seedance-2-0-260128",
"content": [
{
"type": "text",
"text": "参考视频中的动作节奏,保持画面稳定"
},
{
"type": "video_url",
"video_url": {"url": "asset://asset_xxx"},
"role": "reference_video"
}
],
"duration": 4,
"resolution": "480p",
"ratio": "16:9"
}{
"model": "dreamina-seedance-2-0-260128",
"content": [
{
"type": "text",
"text": "参考人物和音频生成自然讲述视频"
},
{
"type": "image_url",
"image_url": {"url": "asset://asset_xxx"},
"role": "reference_image"
},
{
"type": "audio_url",
"audio_url": {"url": "https://media.example.com/voice.mp3"},
"role": "reference_audio"
}
],
"duration": 4,
"resolution": "480p",
"ratio": "16:9",
"generate_audio": true
}200:{
"id": "task_xxx"
}202,响应中仍包含同一个 task_xxx。此时不要重新提交,应查询该任务。{
"id": "task_xxx",
"model": "dreamina-seedance-2-0-260128",
"status": "succeeded",
"progress": 100,
"error": null,
"created_at": 1783670400,
"updated_at": 1783670580,
"content": {
"video_url": "https://biz.anyroute.io/v1/videos/task_xxx/content",
"last_frame_url": "https://biz.anyroute.io/v1/videos/task_xxx/last-frame"
},
"usage": {
"completion_tokens": 40594,
"total_tokens": 40594
},
"duration": 4,
"resolution": "480p",
"ratio": "16:9",
"generate_audio": false,
"watermark": false,
"return_last_frame": true
}queued | running | cancelled | succeeded | failed | expiredprogress 为 0-100 的归一化整数。只有成功任务才会返回结果地址。没有可信 usage 时,平台不会生成该字段。| 参数 | 说明 |
|---|---|
page_num | 默认 1,范围 1-500 |
page_size | 默认 20,范围 1-500 |
filter.status | 可重复,筛选任务状态 |
filter.task_ids | 可重复,最多 100 个任务 ID |
filter.model | 按公开模型名称筛选 |
{
"items": [],
"total": 0
}private, no-store。结果已过期且无法安全刷新时返回 410 video_result_expired。callback_url。平台在任务状态变化时向该地址发送 POST 回调。event_id 去重。回调失败不会改变任务状态、结果或计费。{
"event_id": "evt_xxx",
"type": "succeeded",
"created_at": 1783670580,
"data": {
"id": "task_xxx",
"model": "dreamina-seedance-2-0-260128",
"status": "succeeded",
"error": null,
"created_at": 1783670400,
"updated_at": 1783670580,
"version": 4,
"content": {
"video_url": "https://biz.anyroute.io/v1/videos/task_xxx/content"
}
}
}X-New-Api-Event-Id
X-New-Api-Task-Id
X-New-Api-Timestamp
X-New-Api-Signature: v1=<hex hmac-sha256>new-api-video-callback-v1,无 salt。签名内容为:timestamp + "\n" + event_id + "\n" + raw_request_body/v1/videos 兼容接口Idempotency-Key。201:{
"id": "assetgrp_xxx",
"object": "asset_group",
"name": "presenter-assets",
"description": "Presenter private assets",
"group_type": "AIGC",
"status": "active",
"route_group_id": "g000xx",
"route_group_name": "Seedance 普通/EP 分组展示名称",
"created_at": 1783670400,
"updated_at": 1783670400
}route_group_name 是当前服务分组的对外展示名称。客户业务应保存 assetgrp_xxx,并在后续创建普通/EP 素材时将其作为 group_id。group_type: "AIGC"。当前模型不提供独立真人 H5 授权或 LivenessFace 素材组流程。limit、after、status 和 route_group_id。limit 默认为 20,范围 1-100。{
"object": "list",
"data": [],
"first_id": null,
"last_id": null,
"has_more": false
}creating | active | failed | create_unknown | invalid |
deleting | deleted | delete_failedIdempotency-Key。素材创建只接受 JSON,url 必须是可公开访问的 HTTPS URL。asset:// 或 Multipart 上传。平台不保存素材文件二进制。asset_type 可使用:Image | Video | Audioassetgrp_xxx:group_id 时返回 400 invalid_request。group_id:202 和当前素材对象:{
"id": "asset_xxx",
"object": "asset",
"name": "presenter-front",
"asset_type": "Image",
"status": "processing",
"group_id": "assetgrp_xxx",
"route_group_id": "g000xx",
"route_group_name": "Seedance 普通/EP 分组展示名称",
"created_at": 1783670400,
"updated_at": 1783670400
}group_id,并返回 HC 服务分组的当前对外展示名称。creating | processing | active | failed | create_unknown |
invalid | deleting | deleted | delete_failedactive 素材可以用于视频。processing 不代表失败,应调用刷新接口查询最终状态。| 参数 | 说明 |
|---|---|
limit | 默认 20,范围 1-100 |
after | 上一页返回的 last_id |
status | 素材状态 |
asset_type | Image、Video、Audio |
group_id | 普通/EP 客户素材组 ID |
route_group_id | 按服务分组筛选;通常不需要填写 |
{
"object": "list",
"data": [],
"first_id": null,
"last_id": null,
"has_more": false
}200 和更新后的素材对象。建议以合理间隔轮询,直到状态成为 active 或 failed。invalid 时应显式创建新素材。平台不会自动重新上传或复制到另一种素材模式。根据模型选择普通/EP或 HC 流程
-> 创建私有素材
-> 刷新到 active
-> 视频使用 asset://asset_xxxasset://。平台不会在提交前做人脸识别;直接使用公网 URL 或 Base64 不符合当前模型规则时,任务会按正常异步失败返回。real_person_auth_not_supportedmodel。可选参数包括 limit、after、q、tags、gender、age_group 和 nationality。{
"object": "list",
"data": [
{
"id": "char_xxx",
"object": "public_character",
"name": "business-presenter",
"preview_url": "https://media.example.com/presenter-preview.jpg",
"tags": ["business", "presenter"],
"route_group_id": "g000xx",
"route_group_name": "Seedance 普通/EP 分组展示名称",
"reference": "asset://char_xxx"
}
],
"first_id": "char_xxx",
"last_id": "char_xxx",
"has_more": false
}reference:{
"type": "image_url",
"image_url": {"url": "asset://char_xxx"},
"role": "reference_image"
}public_catalog_not_supported。Idempotency-Key:POST /api/v3/contents/generations/tasksPOST /v1/videosPOST /v1/assetsPOST /v1/asset-groups409 idempotency_conflict。409 idempotency_in_progress。usage 及平台当前模型、分组和倍率配置结算。素材和素材组的创建、查询与刷新不单独扣除视频额度。{
"usage": {
"completion_tokens": 40594,
"total_tokens": 40594
}
}| 操作 | 结果 |
|---|---|
DELETE /api/v3/contents/generations/tasks/{task_id} | task_cancel_not_supported 或 task_delete_not_supported |
DELETE /v1/assets/{asset_id} | asset_delete_not_supported |
DELETE /v1/asset-groups/{group_id} | asset_group_delete_not_supported |
| 创建真人授权会话 | real_person_auth_not_supported |
| HC 模型创建素材组 | asset_groups_not_supported |
{
"error": {
"message": "asset is not ready",
"type": "asset_not_ready",
"code": "asset_not_ready"
}
}error.code,不要依赖 message 文案。| HTTP | code | 含义 |
|---|---|---|
| 400 | invalid_request | JSON、字段、参数范围或 URL 不合法 |
| 400 | invalid_asset_reference | 非法 asset:// 引用或使用了非平台资源 ID |
| 400 | asset_kind_mismatch | 素材类型与 content 类型不匹配 |
| 400 | asset_groups_not_supported | 当前模型不支持素材组 |
| 400 | unsupported_video_parameter | 当前模型不支持该视频字段、role 或组合 |
| 400 | asset_delete_not_supported | 当前模型不支持删除素材 |
| 400 | asset_group_delete_not_supported | 当前模型不支持删除素材组 |
| 400 | real_person_auth_not_supported | 当前模型没有真人 H5 授权接口 |
| 400 | public_catalog_not_supported | 当前模型未配置平台公域人物目录 |
| 404 | task_not_found | 任务不存在或不属于当前用户 |
| 404 | asset_not_found | 素材不存在或不属于当前用户 |
| 404 | asset_group_not_found | 素材组不存在或不属于当前用户 |
| 404 | public_character_not_found | 公域人物不存在或当前模型不可用 |
| 409 | idempotency_conflict | 同一个幂等 Key 对应不同请求 |
| 409 | idempotency_in_progress | 幂等操作尚不能安全重放 |
| 409 | asset_not_ready | 素材尚未达到 active |
| 409 | asset_binding_conflict | 请求中的素材不能组合使用 |
| 409 | asset_channel_mismatch | 视频模型与素材空间不匹配 |
| 409 | asset_binding_unavailable | 素材当前不可用 |
| 409 | asset_route_group_unavailable | 当前 Token 没有可用的对应模型分组 |
| 409 | asset_route_group_misconfigured | 当前服务分组配置不可用 |
| 409/410 | asset_invalid | 素材已经失效 |
| 410 | video_result_expired | 视频结果已过期且无法刷新 |
| 502/503 | asset_upstream_unavailable | 素材服务暂时不可用 |
1. POST /v1/asset-groups
2. 保存 assetgrp_xxx
3. POST /v1/assets,并传入 group_id
4. 保存 asset_xxx
5. POST /v1/assets/{asset_id}/refresh,直到 active
6. POST /api/v3/contents/generations/tasks
7. 在 content 中使用 asset://asset_xxx
8. GET /api/v3/contents/generations/tasks/{task_id}
9. succeeded 后访问 /v1/videos/{task_id}/content1. POST /v1/assets,不传 group_id
2. 保存 asset_xxx
3. POST /v1/assets/{asset_id}/refresh,直到 active
4. POST /api/v3/contents/generations/tasks,并使用对应 HC 模型
5. 在 content 中使用 asset://asset_xxx
6. GET /api/v3/contents/generations/tasks/{task_id}
7. succeeded 后访问 /v1/videos/{task_id}/content