Fast · 720p
360
credits / request
= $0.36 USD / request
100 requests ≈ $36.00 · 1,000 requests ≈ $360.00
- duration
- 4, 6, 8
- model
- veo3_fast
- resolution
- 720p
Generate 4, 6, or 8-second videos with native audio from text, images, or references at 720p, 1080p, or 4K.
veo3New accounts start with $0.20 in free credits, about 1 request at the starting price.
Veo 3.1 is developed by Google. Wizzx provides API access to it and does not own the model. All trademarks belong to their respective owners.
Need a first frame? Create one with
Model Guide
Generate 4, 6, or 8-second videos with native audio from text, images, or references at 720p, 1080p, or 4K.
Veo 3.1 is Google DeepMind’s cinematic video model, built around stronger prompt adherence, realistic motion and physics, visual consistency, and native audio. Wizzx exposes three variants through the backend model key veo3: choose Fast for balanced fidelity and cost, Lite for lower-cost, higher-volume generation, or Quality for the highest-fidelity finals.
| Core strength | What it changes |
|---|---|
| Native audio | Describe dialogue, ambience, sound effects, or musical intent in the same brief as the visuals |
| Prompt adherence | Direct the subject, action, camera, lighting, and sound with a more structured shot description |
| Motion and physical coherence | Better fit for scenes where object interaction and believable movement carry the idea |
| Multiple starting modes | Generate from text, animate a starting image, or guide the clip with visual references |
| Mode | Best when |
|---|---|
| Text to video | You want the model to design the complete shot from a written brief |
| Image to video | You already have the first visual and need to define motion, camera movement, and sound |
| Reference to video | Up to three visual references should guide the subject, style, or scene; Fast and Lite support this mode (Quality does not), and Wizzx requires an 8-second duration |
veo3_fast, veo3_lite, and veo3_qualityThese are the controls currently exposed by Wizzx, not the full feature surface of every Veo product. The pricing cards above come directly from the Wizzx backend catalog.
Text-to-video example: A quiet neighborhood bakery before sunrise. The baker slides a tray of croissants into the oven as the camera slowly dollies past the flour-dusted counter. Warm tungsten light, cool blue street light through the window. Soft oven fan, metal tray scrape, distant delivery truck; no music.
Image-to-video example: Keep the person’s face, wardrobe, and the neon storefront unchanged. Add a gentle handheld push-in as rain falls and reflections move across the pavement. The subject looks toward camera, then smiles slightly. Light city ambience and rain, no dialogue.
Native audio is a defining capability, but Google notes that natural, consistent spoken audio—especially longer speech—continues to improve. Keep dialogue short and evaluate speech separately from the visual result.
Backend pricing
Model identity, billing unit and every price tier below are read from the backend catalog.
360
credits / request
= $0.36 USD / request
100 requests ≈ $36.00 · 1,000 requests ≈ $360.00
390
credits / request
= $0.39 USD / request
100 requests ≈ $39.00 · 1,000 requests ≈ $390.00
1,080
credits / request
= $1.08 USD / request
100 requests ≈ $108.00 · 1,000 requests ≈ $1080.00
180
credits / request
= $0.18 USD / request
100 requests ≈ $18.00 · 1,000 requests ≈ $180.00
210
credits / request
= $0.21 USD / request
100 requests ≈ $21.00 · 1,000 requests ≈ $210.00
900
credits / request
= $0.90 USD / request
100 requests ≈ $90.00 · 1,000 requests ≈ $900.00
1,924
credits / request
= $1.924 USD / request
100 requests ≈ $192.40 · 1,000 requests ≈ $1924.00
1,924
credits / request
= $1.924 USD / request
100 requests ≈ $192.40 · 1,000 requests ≈ $1924.00
2,885
credits / request
= $2.885 USD / request
100 requests ≈ $288.50 · 1,000 requests ≈ $2885.00
1 credit = $0.001 USD. The final deduction returned by the API is authoritative.
Back to all modelsEvery request is asynchronous: submit the task, keep the task ID, then poll for the result. The body below uses the model's default settings.
Sign in and create a key in the dashboard. Set WIZZX_API_KEY in your server environment; never expose it in browser code.
Send a POST request to the model endpoint. A successful submission returns data.task_id; keep that ID before polling. Submission is not generation completion.
Replace YOUR_TASK_ID with the returned ID and query /api/v1/task/status. Wait for SUCCEEDED and read the output URLs. Stop on FAILED or REVIEW_REQUIRED; do not automatically resubmit an uncertain task.
curl -X POST \
https://api.wizzx.ai/api/v1/task/submit/veo3 \
-H "Authorization: Bearer $WIZZX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "veo3_fast",
"type": "text-to-video",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"enable_translation": true,
"prompt": "A slow aerial push-in over a coastal cliff road at golden hour, cinematic motion"
}'const response = await fetch("https://api.wizzx.ai/api/v1/task/submit/veo3", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WIZZX_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "veo3_fast",
"type": "text-to-video",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"enable_translation": true,
"prompt": "A slow aerial push-in over a coastal cliff road at golden hour, cinematic motion"
}),
});
const payload = await response.json();
const task = payload.data ?? payload;
const taskId = task.task_id;import os
import requests
response = requests.post(
"https://api.wizzx.ai/api/v1/task/submit/veo3",
headers={
"Authorization": f"Bearer {os.environ['WIZZX_API_KEY']}",
},
json={
"model": "veo3_fast",
"type": "text-to-video",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"enable_translation": True,
"prompt": "A slow aerial push-in over a coastal cliff road at golden hour, cinematic motion"
},
)
payload = response.json()
task = payload.get("data", payload)
task_id = task["task_id"]curl -X POST \
https://api.wizzx.ai/api/v1/task/status \
-H "Authorization: Bearer $WIZZX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"task_id": "YOUR_TASK_ID"
}'const response = await fetch("https://api.wizzx.ai/api/v1/task/status", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WIZZX_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ task_id: "YOUR_TASK_ID" }),
});
const payload = await response.json();
const task = payload.data ?? payload;import os
import requests
response = requests.post(
"https://api.wizzx.ai/api/v1/task/status",
headers={
"Authorization": f"Bearer {os.environ['WIZZX_API_KEY']}",
},
json={"task_id": "YOUR_TASK_ID"},
)
payload = response.json()
task = payload.get("data", payload)The fields this endpoint accepts on Wizzx, read from the same schema as the Playground form.
| Parameter | Type | Default | Allowed values | Description |
|---|---|---|---|---|
promptPromptrequired | string | — | — | Describe the video you want to generate |
modelModel Variant | string | veo3_fast | veo3_fast · veo3_lite · veo3_quality | Fast balances fidelity and cost; Lite is the lower-cost high-volume option; Quality is the highest-fidelity option. |
typeGeneration Typerequired | string | text-to-video | text-to-video · image-to-video · reference-to-video | — |
image_urlsInput Images | url[] ≤ 3 | — | — | Add first/last frames or up to 3 visual references for reference mode. |
durationDuration | integer | 8 | 4 · 6 · 8 | Choose 4, 6, or 8 seconds. Reference to video supports 8 seconds only; Quality supports 6 or 8 seconds. |
resolutionResolution | string | 720p | 720p · 1080p · 4k | Resolution selects the fixed per-video price. |
aspect_ratioAspect Ratio | string | 16:9 | 16:9 · 9:16 · Auto | — |
enable_translationEnable Translation | boolean | true | — | Translate prompt to English for better results |
watermarkWatermark | string | — | — | Custom watermark text |
seedsSeed | integer | — | 10000 – 99999 | Random seed for reproducibility (10000-99999) |
Wizzx API
New accounts get $0.20 in free credits. Pay as you go with no subscription, and failed tasks are refunded.