在 Lazu 上调用 seedance-2.5:$0.103 / 秒。
Seedance 2.5 by ByteDance. Text-to-video, first/last-frame and multimodal reference generation (images, video, audio), 4-30 s at 480p, 720p or 1080p, with native audio.
价格与线路
单位:美元 / 百万 token。可用率为近 7 天,每格 2 小时。
- 480p
- $0.103 / 秒
- 720p
- $0.231 / 秒
- 1080p
- $0.569 / 秒
- 参考视频
- 与输出时长一起按秒计费
- 结算
- 按完成后的实际用量结算
价格读取于 2026-11-03 19:16 UTC · 怎么选线路 · seedance-2.5.json · seedance-2.5.md
能力
调用示例
# 1. Submit: HTTP 202 with the job id (mjob_...) and the amount held
curl https://api.lazu.ai/v1/videos \
-H "Authorization: Bearer $LAZU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"prompt": "A cinematic product reveal on a clean studio table",
"seconds": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}'
# 2. Wait: answers when the status changes or the job finishes (60 s at most),
# with progress and eta_seconds; repeat until status is succeeded or failed
curl "https://api.lazu.ai/v1/videos/mjob_...?wait=60" \
-H "Authorization: Bearer $LAZU_API_KEY"
# 3. Download the MP4
curl --fail https://api.lazu.ai/v1/videos/mjob_.../content \
-H "Authorization: Bearer $LAZU_API_KEY" -o video.mp4
import os
import requests
API = "https://api.lazu.ai/v1/videos"
headers = {"Authorization": "Bearer " + os.environ["LAZU_API_KEY"]}
job = requests.post(API, headers=headers, json={
"model": "seedance-2.5",
"prompt": "A cinematic product reveal on a clean studio table",
"seconds": 5,
"resolution": "720p",
}).json()
while job["status"] in ("pending", "running"):
# Answers when the status changes or the job finishes, 60 s at most.
job = requests.get(f"{API}/{job['id']}", params={"wait": 60},
headers=headers, timeout=90).json()
print(job["status"], job.get("progress"), "%")
if job["status"] == "succeeded":
video = requests.get(job["artifact"]["url"], timeout=300)
open("video.mp4", "wb").write(video.content)
const API = "https://api.lazu.ai/v1/videos";
const headers = {
Authorization: `Bearer ${process.env.LAZU_API_KEY}`,
"Content-Type": "application/json",
};
let job = await (await fetch(API, {
method: "POST",
headers,
body: JSON.stringify({
model: "seedance-2.5",
prompt: "A cinematic product reveal on a clean studio table",
seconds: 5,
resolution: "720p",
}),
})).json();
while (job.status === "pending" || job.status === "running") {
// Answers when the status changes or the job finishes, 60 s at most.
job = await (await fetch(`${API}/${job.id}?wait=60`, { headers })).json();
console.log(job.status, job.progress, "%");
}
if (job.status === "succeeded") console.log(job.artifact.url);
视频生成是异步任务:先提交,再等它完成,然后下载文件。字段、参考素材和计费的完整说明见指南。 视频接入指南
常见问题
怎么调用 seedance-2.5?
视频生成是异步任务。POST /v1/videos 会立即返回任务 ID;然后用 GET /v1/videos/{id}?wait=60 查询,状态一变就返回,每次都带 progress 和 eta_seconds,直到 status 变成 succeeded;也可以用 GET /v1/videos/{id}/events 实时接收进度。完成后下载 artifact.url(1 小时内有效的链接),或带密钥请求 GET /v1/videos/{id}/content。通过 API 生成的视频保存 3 天。
可以用 OpenAI SDK 吗?
视频不行。OpenAI 已经停用了自家的视频接口,它的 SDK 帮助函数期望的状态和字段也和我们不同。直接用上面的 HTTP 接口即可,任何语言都是三个普通请求。
怎么计费?
按生成视频的秒数和所选分辨率计费。提交时按请求的秒数预扣,视频完成后按服务商报告的实际用量结算,多余部分立即退回;任务失败全额退款。任务从提交那一刻起就会以“执行中”出现在你的使用日志里,直到结算。