Veo3.1 Quality API Integration
Use Veo3.1 Quality through Rivya Public API v1 with model id veo3-1-quality, supported inputs, parameters, Files API rules, credits, and response examples.
veo3-1-quality
text, file
Required for reference modes
per_video · generate_720p=225 · generate_1080p=232.5 · generate_4K=285 · extend_quality=225 · get_1080p=7.5 · get_4K=60 · ⌈total⌉
Video
FIXED
5000 characters
Request contract
Send the model id at the top level. Model-specific controls belong in params.
| Key | Type | Required | Default | Description |
|---|---|---|---|---|
| model | string | Yes | veo3-1-quality | Use the veo3-1-quality API model id. |
| prompt | string | Yes | - | Maximum 5000 characters for this model. |
| params | object | No | - | Model-specific parameter object. Use the rows below for allowed keys. |
| client_request_id | string | No | - | Optional client-side id for tracing requests in your system. |
Model parameters
| Key | Type | Required | Default | Range | Options | Description |
|---|---|---|---|---|---|---|
| generationType | select | No | FIRST_AND_LAST_FRAMES_2_VIDEO | - | FIRST_AND_LAST_FRAMES_2_VIDEO | Generation mode |
| aspectRatio | select | No | 16:9 | - | 16:9, 9:16, Auto | Aspect ratio |
| resolution | select | No | 720p | - | 720p, 1080p, 4k | Resolution |
| duration | select | No | 8 | - | 4, 6, 8 | Duration |
| watermark | text | No | - | - | - | Watermark text |
| enableTranslation | select | No | true | - | true, false | Prompt translation |
Upload policy
Upload reference files first, then place the returned URL and duration token inside params.referenceMediaItems.
Reference image: Use 1 image as a starting frame or 2 images as start and end frames. JPEG / PNG · 1–2 · 10 MB.
2
image
Video and audio references should carry durationToken from /api/v1/files when duration verification is required.
| kind | Max size | MIME types |
|---|---|---|
| image | 10 MB | image/jpeg, image/png |
Minimal request
{
"model": "veo3-1-quality",
"prompt": "A cinematic product reveal with smooth camera movement",
"params": {
"generationType": "FIRST_AND_LAST_FRAMES_2_VIDEO",
"aspectRatio": "16:9",
"resolution": "720p",
"duration": "8",
"watermark": "Optional watermark text",
"enableTranslation": "true"
}
}Reference-file request
{
"model": "veo3-1-quality",
"prompt": "A cinematic product reveal with smooth camera movement",
"params": {
"generationType": "FIRST_AND_LAST_FRAMES_2_VIDEO",
"aspectRatio": "16:9",
"resolution": "720p",
"duration": "8",
"watermark": "Optional watermark text",
"enableTranslation": "true",
"referenceMediaItems": [
{
"url": "https://cdn.example.com/reference-image.png",
"kind": "image",
"name": "reference-image.png",
"mimeType": "image/png"
}
]
}
}Create response
The create endpoint returns a public task id. Poll the status endpoint until the task succeeds or fails.
{
"id": "task_veo3_1_quality_example",
"status": "queued",
"model": "veo3-1-quality",
"reserved_credits": 225,
"final_credits": 0,
"settlement_status": "RESERVED",
"created_at": "2026-05-11T00:00:00.000Z",
"updated_at": "2026-05-11T00:00:00.000Z",
"result": null,
"error": null
}Common errors
validation_failed, insufficient_credits, idempotency_conflict, rate_limited, not_found
Some modes require Files API reference uploads.
