日期: 2026-07-08
状态: 待用户审阅
方案: A - 新增独立渠道类型 DoubaoVideoCompatibleTianyiYun
天翼云 Seedance 渠道提供与 Doubao/Seedance 类似的异步视频生成能力。截图中的上游 API 使用:
POST https://ai.ctaigw.cn/v1/contents/generations/tasksGET https://ai.ctaigw.cn/v1/contents/generations/tasks/{task_id}Authorization: Bearer {api_key}cdance2.0-0611cdance2.0-fast-0611目标是在 new-api 中新增独立渠道类型,复用现有 Seedance/Doubao 对外入口与任务链路,不把天翼云行为混入火山 Doubao 或 Aiping 渠道。
DoubaoVideoCompatibleTianyiYunhttps://ai.ctaigw.cnPOST /api/v3/contents/generations/tasksGET /api/v3/contents/generations/tasks/{task_id}POST /v1/contents/generations/tasksGET /v1/contents/generations/tasks/{task_id}cdance2.0-0611cdance2.0-fast-0611/v1/contents/generations/tasksDoubaoVideoCompatibleAiping 渠道语义新增渠道保持独立:
用户请求
-> POST /api/v3/contents/generations/tasks
-> 现有 token auth / distribute / task relay
-> ChannelTypeDoubaoVideoCompatibleTianyiYun
-> doubao_tianyiyun TaskAdaptor
-> POST https://ai.ctaigw.cn/v1/contents/generations/tasks
查询任务:
用户请求
-> GET /api/v3/contents/generations/tasks/{public_task_id}
-> 本地任务表定位 upstream task id
-> doubao_tianyiyun FetchTask
-> GET https://ai.ctaigw.cn/v1/contents/generations/tasks/{upstream_task_id}
这样做的理由:
用户侧模型名直接使用天翼云模型 ID:
cdance2.0-0611cdance2.0-fast-0611管理员仍可使用现有模型映射能力,把内部展示模型映射到天翼云模型 ID。
请求体字段优先沿用现有 Doubao/Aiping Seedance 结构:
modelcontentratiodurationwatermark适配器不额外把 duration 改成 seconds,因为截图示例明确使用 duration。
提交任务时,上游返回的 task id 存入本地任务记录;返回给用户的仍是 new-api public task id,避免暴露不同上游 ID 体系。
查询任务时,状态映射采用现有异步任务语义:
| 上游状态 | new-api 状态 |
|---|---|
pending, queued |
queued |
processing, running |
in_progress |
succeeded, success |
success |
failed, expired, cancelled |
failure |
| 其它未知状态 | in_progress |
成功时从上游响应中提取视频 URL。优先兼容现有字段 content.video_url;如果真实验证发现字段不同,再按真实返回补充解析。
普通渠道“测试”按钮不适合直接测试异步视频渠道。该新渠道应与现有 Doubao/Vidu 类似,避免用聊天补全接口做快速测试。
实现后的验证分两层:
自动化测试
真实上游验证
cdance2.0-0611 或 cdance2.0-fast-0611。预期实现会触及:
constant/channel.go
ChannelTypeDummy 前新增渠道类型。ChannelBaseURLs 与 ChannelTypeNames。relay/channel/task/doubao_tianyiyun/
constants.goadaptor.gorelay/relay_adaptor.go
common/api_type.go
common/endpoint_type.go
EndpointTypeDoubaoVideo。controller/channel-test.go
web/src/constants/channel.constants.js
根据实现中发现的实际依赖,可能还需要补充与模型能力、计费矩阵相关的白名单,但应保持最小改动。
ChannelBaseURLs 是按 channel type 索引的数组,新增类型必须同步维护索引,否则会造成渠道默认 base URL 错位。DoubaoVideoCompatibleTianyiYun 渠道。https://ai.ctaigw.cn。cdance2.0-0611 与 cdance2.0-fast-0611。/api/v3/contents/generations/tasks 提交时,上游请求落到 /v1/contents/generations/tasks。/v1/contents/generations/tasks/{task_id}。