Model guide

Vidu API: Vidu Q3 and Q4 models, prices and code

Vidu splits its models by input: Q3 Turbo and Q3 Pro work from a prompt or a start frame, while Q3, Q3 Mix and Q4 are built around reference images. Here is what each does, what it costs per second and how to call it.

The Vidu models on Revana

Vidu is Shengshu's video family. Its models split by what you send: some work from a prompt or a start frame, others are built around reference images, where you hand the model characters, products or places and it puts them in one scene. All take the same request on Revana:

Vidu models compared
ModelModel idDoesResolutionLengthSoundPrice from
Vidu Q3 Turbovidu-q3-turbotext to video, image to video, first and last frames540p, 720p, 1080p1 to 16 syes$0.04 / s
Vidu Q3 Providu-q3-protext to video, image to video, first and last frames540p, 720p, 1080p1 to 16 syes$0.07 / s
Vidu Q3vidu-q3reference images (up to 7)540p, 720p, 1080p3 to 16 sno$0.05 / s
Vidu Q3 Mixvidu-q3-mixreference images (up to 7)720p, 1080p1 to 16 sno$0.13 / s
Vidu Q4vidu-q4image to video, reference images540p to 4Kset by the modelno$0.05 / s
Vidu Q4 Previewvidu-q4-previewimage to video, reference images (up to 15)540p to 4K3 to 16 syes$0.06 / s

Each Vidu model has one route on Revana today. That is worth knowing for production use: if that route is busy, the job waits or fails rather than moving to another provider, and a failed job costs nothing.

Which Vidu to use

  • Vidu Q3 Turbo for cheap clips from text or a start frame, with sound: $0.07 per second at 1080p is one of the lowest 1080p prices in the catalogue.
  • Vidu Q3 Pro when you want the higher Q3 tier for the same jobs.
  • Vidu Q3 or Q3 Mix for reference-to-video: send up to seven pictures (a character, an outfit, a product, a place) and describe the scene.
  • Vidu Q4 Preview for up to 15 references, sound and output up to 4K.

Clips from 1 second up make Vidu useful for short loops, product spins and transitions that other models will not go down to.

Vidu pricing (October 2026)

Vidu price per second and per clip
ModelResolutionPer second5 s clip10 s clip
Vidu Q3 Turbo540p$0.04$0.20$0.40
Vidu Q3 Turbo1080p$0.07$0.35$0.70
Vidu Q3 Pro720p$0.15$0.75$1.50
Vidu Q3 Pro1080p$0.16$0.80$1.60
Vidu Q3720p$0.10$0.50$1.00
Vidu Q31080p$0.13$0.65$1.30
Vidu Q3 Mix1080p$0.15$0.75$1.50
Vidu Q4 Preview1080p$0.13$0.65$1.30
Vidu Q4 Preview4K$0.42$2.10$4.20

Vidu Q4 lists $0.12 per second at 1080p and $0.39 at 4K and lists no length or shape options of its own. The exact charge for any job comes back as cost_usd. For other models' prices, see the cheapest video API guide.

Generate a Vidu Q3 Turbo clip

Send POST /v1/generations and poll the generation until it has succeeded or failed. This 8 second 1080p clip with sound costs $0.56.

cURL
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"
Python
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.js
// 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);

Put several references in one scene with Vidu Q3

For reference to video, send the pictures in image_urls (up to seven for Q3) and say in the prompt how they come together. Upload local files first with POST /v1/uploads. This 6 second 720p clip costs $0.60:

Request body
{
  "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 and Q3 Mix only take reference images. A single start frame in image_url is refused before anything is charged; use Q3 Turbo or Q3 Pro for that.

All Vidu models are on the models page, the input fields are in the docs and credit packs are on the pricing page. Get an API key to try them.

Frequently asked questions

How much does the Vidu API cost?

In October 2026, Vidu Q3 Turbo costs from $0.04 per second at 540p to $0.07 at 1080p. Vidu Q3 Pro costs $0.16 at 1080p and Vidu Q3 costs $0.13 at 1080p.

What is the difference between Vidu Q3, Q3 Turbo and Q3 Pro?

Q3 Turbo and Q3 Pro work from a prompt, a start frame or first and last frames, with sound. Vidu Q3 and Q3 Mix work from up to seven reference images.

How long can a Vidu clip be?

Up to 16 seconds. Q3 Turbo, Q3 Pro and Q3 Mix go down to 1 second; Vidu Q3 and Q4 Preview start at 3 seconds.

Does Vidu support 4K?

Vidu Q4 and Vidu Q4 Preview go up to 4K. The Q3 models stop at 1080p.

Does Vidu generate sound?

Vidu Q3 Turbo, Q3 Pro and Q4 Preview can. Set audio to true.

Try Vidu with one key

One API key for every Vidu model and every other video and image model. Prepaid credit from $10, charged only for clips that are delivered.