Vidu API:Vidu Q3 和 Q4 模型、价格和代码
Vidu 按输入方式划分模型:Q3 Turbo 和 Q3 Pro 基于提示词或起始帧,而 Q3、Q3 Mix 和 Q4 围绕参考图构建。本文介绍每个模型的功能、每秒价格以及调用方式。
Revana 上的 Vidu 模型
Vidu 是 Shengshu 的视频模型系列。它的模型按你发送的内容来划分:有些基于提示词或起始帧生成,另一些围绕参考图构建,你把角色、产品或场景交给模型,由它放进同一个场景中。在 Revana 上它们都使用同样的请求:
| 模型 | 模型 id | 功能 | 分辨率 | 时长 | 声音 | 起价 |
|---|---|---|---|---|---|---|
| Vidu Q3 Turbo | vidu-q3-turbo | 文生视频、图生视频、首尾帧 | 540p, 720p, 1080p | 1 至 16 秒 | yes | $0.04 / s |
| Vidu Q3 Pro | vidu-q3-pro | 文生视频、图生视频、首尾帧 | 540p, 720p, 1080p | 1 至 16 秒 | yes | $0.07 / s |
| Vidu Q3 | vidu-q3 | 参考图(最多 7 张) | 540p, 720p, 1080p | 3 至 16 秒 | no | $0.05 / s |
| Vidu Q3 Mix | vidu-q3-mix | 参考图(最多 7 张) | 720p, 1080p | 1 至 16 秒 | no | $0.13 / s |
| Vidu Q4 | vidu-q4 | 图生视频、参考图 | 540p 至 4K | 由模型决定 | no | $0.05 / s |
| Vidu Q4 Preview | vidu-q4-preview | 图生视频、参考图(最多 15 张) | 540p 至 4K | 3 至 16 秒 | yes | $0.06 / s |
目前在 Revana 上,每个 Vidu 模型都只有一条线路。这对生产环境使用很值得了解:如果该线路繁忙,任务会等待或失败,而不会转到其他供应商,失败的任务不产生任何费用。
该用哪个 Vidu
- Vidu Q3 Turbo:用文本或起始帧生成低价且带声音的片段,1080p 下每秒 $0.07,是目录中 1080p 价格最低的之一。
- Vidu Q3 Pro:同样的任务,想用 Q3 的更高档位时选它。
- Vidu Q3 或 Q3 Mix:用于参考图生视频,最多发送七张图片(角色、服装、产品、场景),再描述场景。
- Vidu Q4 Preview:支持最多 15 张参考图、声音和最高 4K 输出。
最短 1 秒的片段让 Vidu 适合制作短循环、产品旋转展示和转场,这些时长是其他模型做不到的。
Vidu 价格(2026年10月)
| 模型 | 分辨率 | 每秒 | 5 秒视频 | 10 秒视频 |
|---|---|---|---|---|
| Vidu Q3 Turbo | 540p | $0.04 | $0.20 | $0.40 |
| Vidu Q3 Turbo | 1080p | $0.07 | $0.35 | $0.70 |
| Vidu Q3 Pro | 720p | $0.15 | $0.75 | $1.50 |
| Vidu Q3 Pro | 1080p | $0.16 | $0.80 | $1.60 |
| Vidu Q3 | 720p | $0.10 | $0.50 | $1.00 |
| Vidu Q3 | 1080p | $0.13 | $0.65 | $1.30 |
| Vidu Q3 Mix | 1080p | $0.15 | $0.75 | $1.50 |
| Vidu Q4 Preview | 1080p | $0.13 | $0.65 | $1.30 |
| Vidu Q4 Preview | 4K | $0.42 | $2.10 | $4.20 |
Vidu Q4 的价格为 1080p 下每秒 $0.12、4K 下 $0.39,且没有单独列出时长或画幅选项。任何任务的确切扣费都会以 cost_usd 返回。其他模型的价格请见最便宜的视频 API 指南。
生成一段 Vidu Q3 Turbo 片段
发送 POST /v1/generations,并轮询该生成任务,直到它出现 succeeded 或 failed。这段 8 秒、1080p、带声音的片段费用为 $0.56。
export REVANA_API_KEY="sr_live_..."
# 1. Submit the job (returns 202 with the generation id)
curl https://api.revana.si/v1/generations \
-H "Authorization: Bearer $REVANA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "vidu-q3-turbo",
"input": {
"prompt": "A paper boat drifts down a rain-filled gutter, passing fallen leaves, the camera following at water level. Rain patter and a distant tram bell.",
"resolution": "1080p",
"duration": 8,
"aspect_ratio": "16:9",
"audio": true
},
"max_cost_usd": 0.7
}'
# 2. Poll with the id from step 1 until status is "succeeded" or "failed"
curl https://api.revana.si/v1/generations/gen_01JC2V8K5T \
-H "Authorization: Bearer $REVANA_API_KEY"import os
import time
import requests
API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}
resp = requests.post(f"{API}/generations", headers=HEADERS, json={
"model": "vidu-q3-turbo",
"input": {
"prompt": "A paper boat drifts down a rain-filled gutter, passing fallen leaves, the camera following at water level. Rain patter and a distant tram bell.",
"resolution": "1080p",
"duration": 8,
"aspect_ratio": "16:9",
"audio": True,
},
"max_cost_usd": 0.7,
})
resp.raise_for_status()
job = resp.json()
while job["status"] in ("queued", "running"):
time.sleep(5)
job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()
if job["status"] == "succeeded":
print(job["output"]["urls"], job["cost_usd"])
else:
print("Failed:", job["error"])// Node 18 or later. Save as generate.mjs and run: node generate.mjs
const API = "https://api.revana.si/v1";
const headers = {
Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
"Content-Type": "application/json",
};
const res = await fetch(`${API}/generations`, {
method: "POST",
headers,
body: JSON.stringify({
model: "vidu-q3-turbo",
input: {
prompt: "A paper boat drifts down a rain-filled gutter, passing fallen leaves, the camera following at water level. Rain patter and a distant tram bell.",
resolution: "1080p",
duration: 8,
aspect_ratio: "16:9",
audio: true,
},
max_cost_usd: 0.7,
}),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();
while (job.status === "queued" || job.status === "running") {
await new Promise((r) => setTimeout(r, 5000));
job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}
if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error);用 Vidu Q3 把多张参考图放进同一个场景
做参考图生视频时,把图片放在 image_urls 中发送(Q3 最多七张),并在提示词中说明它们如何组合。本地文件请先用 POST /v1/uploads 上传。这段 6 秒、720p 的片段费用为 $0.60:
{
"model": "vidu-q3",
"input": {
"prompt": "The woman from the first image, wearing the jacket from the second image, walks into the cafe from the third image and waves at the camera.",
"image_urls": [
"https://example.com/woman.jpg",
"https://example.com/jacket.png",
"https://example.com/cafe.jpg"
],
"resolution": "720p",
"duration": 6,
"aspect_ratio": "9:16"
},
"max_cost_usd": 0.8
}Vidu Q3 和 Q3 Mix 只接受参考图。在 image_url 中只给一张起始帧会在扣费之前被拒绝;这种情况请使用 Q3 Turbo 或 Q3 Pro。
所有 Vidu 模型都在模型页面,输入字段在文档,额度包在价格页面。获取 API 密钥开始试用。
常见问题
Vidu API 多少钱?
2026年10月,Vidu Q3 Turbo 的价格从 540p 的每秒 $0.04 到 1080p 的 $0.07。Vidu Q3 Pro 在 1080p 下为 $0.16,Vidu Q3 在 1080p 下为 $0.13。
Vidu Q3、Q3 Turbo 和 Q3 Pro 有什么区别?
Q3 Turbo 和 Q3 Pro 基于提示词、起始帧或首尾帧生成,并带声音。Vidu Q3 和 Q3 Mix 基于最多七张参考图生成。
Vidu 的片段最长能有多长?
最长 16 秒。Q3 Turbo、Q3 Pro 和 Q3 Mix 最短可到 1 秒;Vidu Q3 和 Q4 Preview 从 3 秒起。
Vidu 支持 4K 吗?
Vidu Q4 和 Vidu Q4 Preview 最高支持 4K。Q3 系列模型最高到 1080p。
Vidu 会生成声音吗?
Vidu Q3 Turbo、Q3 Pro 和 Q4 Preview 可以。把 audio 设为 true。