文生视频(480p / 720p / 1080p)、首尾帧生成视频(480p / 720p)。接口为异步任务:先提交,再轮询取回 MP4 文件。
| Base URL | https://api.clankpt.com |
|---|---|
| 认证 | 请求头 Authorization: Bearer <您的 API Key> |
| 模型 | seedance-2.5 |
| 流程 | ① POST /v1/video/queue 提交任务,拿到 request_id② 每 5 到 10 秒调用一次 POST /v1/video/retrieve,生成中返回 JSON,完成后直接返回 MP4 文件 |
POST /v1/video/queue| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定为 seedance-2.5 |
prompt | string | 是 | 提示词,中英文均可。写清主体、动作、场景、镜头运动和风格,效果更好 |
duration | integer | 是 | 视频时长,4 到 30 秒的整数 |
resolution | string | 是 | 720p、1080p 或 480p |
aspect_ratio | string | 否 | 16:9(默认)、9:16、1:1、4:3、3:4、21:9;480p / 720p 另支持 3:2、2:3、9:21 |
generate_audio | boolean | 否 | 是否同时生成音频,默认 false |
seed | integer | 否 | 随机种子,相同参数和种子可得到相近结果。1080p 不支持,会被忽略 |
image_url | string | 否 | 首帧图片,需公网可直接访问的图片地址。传入后为图生视频。仅 480p / 720p 支持 |
end_image_url | string | 否 | 尾帧图片,需同时传 image_url |
返回(HTTP 200):
{"request_id": "gen-vid-1793713035-eQOzBjp6ueTIHHDWdP6N", "status": "IN_QUEUE", "model": "seedance-2.5"}
额度不足以支付这条视频时返回 402 insufficient_quota,并说明所需和剩余金额。
POST /v1/video/retrieve请求体:{"model": "seedance-2.5", "request_id": "<提交时返回的 request_id>"}
| 情况 | 返回 |
|---|---|
| 生成中 | HTTP 200,Content-Type: application/json,内容如 {"status": "processing", "model": "seedance-2.5"},请稍后再查。1080p 任务还会返回 estimated_ms(预计总耗时,毫秒)和 elapsed_ms(已用时间) |
| 已完成 | HTTP 200,Content-Type: video/mp4,响应体就是视频文件本身,直接保存为 .mp4 |
| 失败 | HTTP 4xx/5xx,JSON 错误,见错误码 |
GET /v1/key返回本 Key 的过期时间、人民币额度(quota.limit 总额度、spent 已用、in_progress 生成中占用、remaining 剩余)和当前单价 pricing。
GET /v1/models返回可用模型及其支持的时长、分辨率、画面比例。
KEY="您的 API Key"
# 1. 提交
curl -s https://api.clankpt.com/v1/video/queue \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"model":"seedance-2.5","prompt":"雪夜的京都小巷,一盏红灯笼在微风中摇晃,镜头缓慢推进","duration":5,"resolution":"720p","aspect_ratio":"16:9"}'
# => {"request_id":"gen-vid-...","status":"IN_QUEUE","model":"seedance-2.5"}
# 2. 轮询取回(完成时写入 out.mp4)
curl -s https://api.clankpt.com/v1/video/retrieve \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"model":"seedance-2.5","request_id":"gen-vid-..."}' -o out.mp4 -w "%{content_type}\n"
# 输出 application/json 表示还在生成(out.mp4 里是 {"status":"processing"}),输出 video/mp4 表示已完成
import time, requests
BASE = "https://api.clankpt.com"
H = {"Authorization": "Bearer 您的 API Key"}
job = requests.post(f"{BASE}/v1/video/queue", headers=H, json={
"model": "seedance-2.5",
"prompt": "雪夜的京都小巷,一盏红灯笼在微风中摇晃,镜头缓慢推进",
"duration": 5, "resolution": "720p", "aspect_ratio": "16:9",
}, timeout=60)
job.raise_for_status()
rid = job.json()["request_id"]
deadline = time.time() + 15 * 60
while time.time() < deadline:
r = requests.post(f"{BASE}/v1/video/retrieve", headers=H,
json={"model": "seedance-2.5", "request_id": rid}, timeout=300)
if r.ok and r.headers.get("content-type", "").startswith("video/"):
open(f"{rid}.mp4", "wb").write(r.content)
print("saved", rid)
break
if not r.ok and r.status_code not in (429, 503):
raise RuntimeError(r.text)
time.sleep(8)
| 项目 | 1080p(16:9) | 720p(16:9) | 480p(16:9) |
|---|---|---|---|
| 分辨率 | 1920 × 1080 | 1280 × 720 | 854 × 480 |
| 编码 / 帧率 | H.265(HEVC)10 位,24 fps | H.264,24 fps | H.264,24 fps |
| 码率(实测) | 约 2.3 Mbps | 约 11 Mbps | 约 4.3 Mbps |
| 文件大小(实测) | 4 秒约 1.2 MB,约 0.3 MB/秒 | 5 秒约 6.9 MB,约 1.4 MB/秒 | 4 秒约 2.2 MB,约 0.5 MB/秒 |
| 时长 | 与请求一致(实测比请求多约 0.04 秒) | ||
| 音频 | generate_audio: true 时包含音轨,否则为无声视频 | ||
竖屏、方形等比例的总像素数与同档 16:9 基本相同,例如 720p 竖屏为 720 × 1280。
request_id。retrieve 会直接传输整个 MP4,720p 15 秒约 20 MB,下载时间取决于网络。错误统一为 {"error": {"message": "...", "type": "...", "code": "..."}}。生成失败、未交付视频的任务不扣费。
| HTTP | code | 含义与处理 |
|---|---|---|
| 400 | invalid_request / invalid_payload | 参数不合法,检查时长、分辨率、画面比例和 JSON 格式 |
| 401 | invalid_api_key | Key 错误或已过期 |
| 402 | insufficient_quota | 额度已用完,请联系服务方 |
| 403 | model_not_allowed | 该 Key 不能使用此模型 |
| 404 | video_route_not_found | request_id 不存在,或不是本 Key 提交的任务 |
| 413 | request_too_large | 请求体过大(上限 25 MB) |
| 429 | rate_limited | 请求过于频繁,稍后重试 |
| 503 | service_unavailable | 服务暂时不可用,稍后重试 |
每个视频都内嵌了模型方签名的 C2PA 内容凭证(Content Credentials,AI 生成内容的国际标准溯源标识)。它由模型方在生成时用数字证书签名,第三方无法伪造,视频被重新编码或剪辑后凭证会失效。
| 凭证字段 | 真实 Seedance 2.5 应显示 |
|---|---|
| 签名证书颁发对象 | Byteplus Pte. Ltd.(字节跳动旗下云服务 BytePlus) |
| 生成工具(claim generator) | BytePlus_ModelArk |
| 模型名(model_name) | dreamina-seedance-2-5 |
| 内容来源类型 | trainedAlgorithmicMedia(AI 生成) |
c2patool out.mp4,检查 validation_state 和上表字段。strings out.mp4 | grep -i seedance 能看到 dreamina-seedance-2-5。这一步只能粗看,不能代替签名验证。同时可以核对画质参数:1080p 应为 1920 × 1080,720p 应为 1280 × 720,均为 24 fps,时长与请求一致。
宽 × 高 × 帧率 × 秒数 ÷ 1024。1080p 每秒 48,600 token,720p 每秒 21,600 token,480p 每秒约 9,600 token。
| 规格 | 每秒 token | 每秒价格 | 5 秒 | 10 秒 | 15 秒 |
|---|---|---|---|---|---|
| 1080p | 48,600 | ¥2.807 | ¥14.03 | ¥28.07 | ¥42.10 |
| 720p | 21,600 | ¥1.134 | ¥5.67 | ¥11.34 | ¥17.01 |
| 480p | 9,600 | ¥0.504 | ¥2.52 | ¥5.04 | ¥7.56 |
GET /v1/key 和在线生成页面右上角均显示人民币剩余额度。image_url / end_image_url 需是公网可直接下载的图片地址,不支持上传本地文件。