PixVerse V6 is PixVerse's March 2026 video model. It generates clips from 1 to 15 seconds at 360p, 540p, 720p or 1080p. Modes cover text-to-video, image-to-video, first-to-last-frame transitions (5 or 8 seconds) and fusion of 1-7 reference images. Generated audio is optional and raises the per-second rate. It also supports a negative prompt of up to 2,048 characters and a seed, with main prompts up to 5,000 characters. PixVerse also offers clip extension and multi-clip output, but Jantaris does not expose those options yet.
Best for
- Low-cost 360p or 540p drafts of an idea
- Combining a character, a product and a location from separate images
- Transitions between two keyframes in an ad or intro
- Silent clips for edits cut to your own music
Prompting tips
- The default resolution is 540p; raise it to 1080p only for the final.
- For a first-to-last-frame transition, send
image_urlandend_image_urlrather thanimage_urls, and setdurationto 5 or 8. - Aspect ratio is honored only in text-to-video and multi-reference mode.
- Leave audio off when you will score the clip yourself, since it raises the rate.
FAQ
How much does the PixVerse V6 API cost?
The base rate is from $0.0405 per second, and generated audio raises the per-second rate. The estimate reflects your settings before you submit, and failed generations are not charged.
Can PixVerse V6 extend a video?
The model can extend its own earlier clips, but Jantaris does not expose that mode yet. For now, generate a new clip and join them in your editor.
What is the longest PixVerse V6 clip?
15 seconds. First/last-frame transitions are limited to 5 or 8 seconds.
How to call PixVerse V6 via API
curl https://jantaris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "pixverse-v6",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"aspect_ratio": "16:9",
"resolution": "540p",
"duration": 5
}
}'import os, time, requests
API = "https://jantaris.com/v1"
H = {"Authorization": f"Bearer {os.environ['JANTARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "pixverse-v6",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"aspect_ratio": "16:9",
"resolution": "540p",
"duration": 5
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://jantaris.com/v1";
const headers = { Authorization: `Bearer ${process.env.JANTARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "pixverse-v6",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"aspect_ratio": "16:9",
"resolution": "540p",
"duration": 5
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Parameters
| Parameter | Type | Allowed | Default |
|---|---|---|---|
prompt * | string | ≤ 5000 chars | |
negative_prompt | string | ||
aspect_ratio | string | 16:9 4:3 1:1 3:4 9:16 2:3 3:2 21:9 | 16:9 |
resolution | string | 360p 540p 720p 1080p | 540p |
duration | integer | 1-15 | 5 |
generate_audio | boolean | false | |
image_url | string | ||
end_image_url | string | ||
image_urls | array | max 7 | |
seed | integer |
The same schema is available from GET /v1/models/pixverse-v6.











