Skip to content

c/seedance 视频生成(按秒计费)

星算云 c/seedance 视频网关挂载于 /api/v3,对外提供 c/seedance 系列模型(按秒计费)。请求体与响应体沿用上游原生格式(扁平对象)原样透传,平台仅做鉴权、模型校验与按秒计费;鉴权用 Authorization: Bearer xsk_...

Seedance(火山兼容)k/seedance(按秒计费)s/seedance(按秒计费)z/seedance(按秒计费) 区别:本网关只接 c/seedance 开头且按秒计费 的模型;火山系(token 计费)模型请走 POST /api/v3/contents/generations/tasks,k/seedance 模型请走 POST /api/v3/videos/generations/tasks,s/seedance 模型请走 POST /api/v3/s/videos/generations/tasks,z/seedance 模型请走 POST /api/v3/z/videos/generations/tasks

基础信息

项目内容
Base URLhttps://xingsuan.cloud(平台地址)
创建任务POST /api/v3/c/videos/generations/tasks(成功回 202)
查询任务GET /api/v3/c/videos/generations/tasks/{task_id}
Content-Typeapplication/json
鉴权 HeaderAuthorization: Bearer xsk_...(平台 API Key)

API Key 安全

只在服务端保存 API Key,不要放入浏览器、公开仓库或客户端安装包。

官方格式入口(可选)

c/seedance 按秒模型也可经 POST /api/v3/contents/generations/tasks(Seedance 官方格式)调用:创建回 202usagenullduration 必填(整数 [4,30],不支持 -1)、content 必填。计费秒数 = 查询响应回报的 billedSeconds(与本端点同口径,含视频参考时为「参考 + 输出时长」);duration 仅在响应未回报秒数时兜底。详见 Seedance(火山兼容) 的「按秒模型官方格式入口」。

模型

模型代码分辨率适用场景
c/seedance-2.0480p720p1080p4k高质量生成,支持 4K

c/ 前缀用于固定选择 C 渠道。平台以请求体 model 为准。

计费

按「计费秒数 × 分辨率·是否含视频参考单价」计费,单位元/秒,以平台模型配置价格与 API Key 折扣为准,从账户钱包实时扣减。任务失败不收取费用。

分辨率无视频参考含视频参考
480p0.4600000.280000
720p1.0000000.610000
1080p2.4800001.510000
4k5.0600003.110000

计费秒数由平台按以下规则计算:

  • 未用视频参考(含纯图片/音频参考):计费秒数 = 生成时长,用「无视频参考」单价。
  • 使用视频参考:计费秒数 = 所有参考视频总时长 + 生成时长,用「含视频参考」单价。
  • 最终费用 = 计费秒数 × 对应单价 × 账户折扣。

示例(720p,无折扣):

  • 生成 5 秒、无视频参考:5 × 1.00 = 5.00 元。
  • 生成 5 秒、仅图片参考:5 × 1.00 = 5.00 元。
  • 生成 5 秒、参考视频总长 6 秒:(5 + 6) × 0.61 = 6.71 元。

创建任务

POST /api/v3/c/videos/generations/tasks

bash
API_BASE=https://xingsuan.cloud
curl "$API_BASE/api/v3/c/videos/generations/tasks" \
  -H "Authorization: Bearer $XSK_KEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "c/seedance-2.0",
    "prompt": "清晨山路上,一辆黑色电动车沿湿润弯道驶过,远处云雾翻涌,真实电影摄影风格",
    "duration": 5,
    "resolution": "1080p",
    "ratio": "16:9",
    "generate_audio": true,
    "watermark": false
  }'
python
import requests

API_BASE = "https://xingsuan.cloud"
resp = requests.post(
    f"{API_BASE}/api/v3/c/videos/generations/tasks",
    headers={"Authorization": f"Bearer {XSK_KEY}"},
    json={
        "model": "c/seedance-2.0",
        "prompt": "清晨山路上,一辆黑色电动车沿湿润弯道驶过,远处云雾翻涌,真实电影摄影风格",
        "duration": 5,
        "resolution": "1080p",
        "ratio": "16:9",
        "generate_audio": True,
        "watermark": False,
    },
)
data = resp.json()
print(data["task_id"])  # 任务 ID,用于查询

请求参数

参数位置必填默认值说明
AuthorizationHeaderBearer xsk_...
modelBodyc/seedance-2.0
promptBody视频生成提示词,不能为空
durationBody4生成时长秒 [4,15](可不传)
resolutionBody480p480p / 720p / 1080p / 4k
ratioBody16:916:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9
referencesBody[]参考素材数组,最多 12 个,见参考素材
generate_audioBodytrue是否生成同步音频
watermarkBodyfalse是否添加水印

创建响应

创建成功返回 HTTP 202(任务已接收,异步处理),响应为扁平对象:

json
{
  "task_id": "task_09e650d163219bfd056acdf0",
  "status": "running",
  "model": "c/seedance-2.0",
  "createdAt": "2026-07-18T03:45:20.000Z"
}

保存 task_id,后续用它查询任务。

查询任务

GET /api/v3/c/videos/generations/tasks/{task_id}

bash
curl "$API_BASE/api/v3/c/videos/generations/tasks/$TASK_ID" \
  -H "Authorization: Bearer $XSK_KEY"

响应为扁平对象,status 表示任务状态。建议每 5~10 秒轮询一次,succeededfailed 为终态。

status 取值

status含义是否终态
running处理中
succeeded成功,videoUrl 为视频地址
failed失败,error.message 含原因

运行中

json
{
  "task_id": "task_09e650d163219bfd056acdf0",
  "status": "running",
  "model": "c/seedance-2.0",
  "videoUrl": null,
  "usage": null,
  "error": null,
  "createdAt": "2026-07-18T03:45:20.000Z",
  "completedAt": null
}

成功

json
{
  "task_id": "task_09e650d163219bfd056acdf0",
  "status": "succeeded",
  "model": "c/seedance-2.0",
  "videoUrl": "https://example.com/generated-video.mp4",
  "usage": null,
  "error": null,
  "createdAt": "2026-07-18T03:45:20.000Z",
  "completedAt": "2026-07-18T03:49:38.000Z"
}

失败

json
{
  "task_id": "task_09e650d163219bfd056acdf0",
  "status": "failed",
  "model": "c/seedance-2.0",
  "videoUrl": null,
  "usage": null,
  "error": { "code": null, "message": "task failed" },
  "createdAt": "2026-07-18T03:45:20.000Z",
  "completedAt": "2026-07-18T03:46:12.000Z"
}

视频 URL 有效期

videoUrl 可能具有有效期,请在任务成功后及时保存或下载。

参考素材

references 是对象数组,每一项字段如下:

字段类型必填说明
typestringimagevideoaudio
urlstring无需登录即可访问的公网 HTTP(S) URL
rolestring图片对应 reference_image、视频 reference_video、音频 reference_audio;省略时按 type 自动填充

参考素材须为公网可直接访问的 HTTP(S) 地址;预签名 URL 有效期应覆盖素材读取与视频生成全程;不支持本地路径或需登录访问的地址。参考视频的实际媒体时长须不少于 2 秒。图片、视频、音频可在同一 references 数组中组合,总数不超过 12 个。

是否含「视频参考」决定计费单价:references 中存在 type=="video" 的项时用「含视频参考」价,否则用「无视频参考」价(纯图片/音频参考不切换单价)。

图片参考

json
{
  "model": "c/seedance-2.0",
  "prompt": "保持参考图中的人物外观,让人物在海边自然回头并微笑,真实电影镜头",
  "duration": 6,
  "resolution": "720p",
  "ratio": "16:9",
  "references": [
    { "type": "image", "url": "https://example.com/person.png", "role": "reference_image" }
  ]
}

视频参考(用「含视频参考」价)

json
{
  "model": "c/seedance-2.0",
  "prompt": "参考视频中的运镜和人物动作,生成一段发生在雨夜街道的电影镜头",
  "duration": 5,
  "resolution": "720p",
  "ratio": "16:9",
  "references": [
    { "type": "video", "url": "https://example.com/action.mp4", "role": "reference_video" }
  ]
}

音频参考

json
{
  "model": "c/seedance-2.0",
  "prompt": "根据参考音乐的节奏生成城市夜景剪辑,镜头切换与节拍一致",
  "duration": 8,
  "resolution": "1080p",
  "ratio": "16:9",
  "references": [
    { "type": "audio", "url": "https://example.com/music.wav", "role": "reference_audio" }
  ]
}

错误

  • 上游响应:原样透传上游扁平对象(含成功/失败状态)。
  • 平台侧错误(鉴权失败 / 模型不存在 / 非 c/seedance 按秒模型 / 钱包余额不足等):统一为火山风格信封 {"error":{"code":"<字符串>","message":...}}。上游超时 → 504;连接错误 → 502。详见 错误码

路由约束

本网关只接受 c/seedance 开头且按秒计费 的模型;若传入其他模型会返回 400 invalid_request——k/seedance 模型请改用 POST /api/v3/videos/generations/tasks,火山系(token 计费)模型请改用 POST /api/v3/contents/generations/tasks