Documentation Index
Fetch the complete documentation index at: https://apixo.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Veo 3.1 is a Google video generation model for text-to-video, first/last-frame animation, and reference-guided video creation. Use this page when you are ready to call the API after trying the model in the APIXO playground.| Capability | Value |
|---|---|
| Model ID | veo-3-1 |
| Modes | quality, fast |
| Generation types | TEXT_2_VIDEO, FIRST_AND_LAST_FRAMES_2_VIDEO, REFERENCE_2_VIDEO |
| Prompt length | 1-10000 characters |
| Aspect ratios | 16:9, 9:16, auto |
| First/last frame inputs | Up to 2 image URLs |
| Reference inputs | Up to 3 image URLs; fast mode and 16:9 only |
| Output | Video URLs in resultJson.resultUrls |
Endpoint and authentication
Base URL:| Method | Endpoint | Purpose |
|---|---|---|
POST | /generateTask/veo-3-1 | Submit a generation task |
GET | /statusTask/veo-3-1?taskId={taskId} | Poll task status and retrieve results |
Copy-paste async quickstart
This minimal request submits a text-to-video task and returns ataskId.
taskId; you need it to poll for the final result.
Poll for result
resultJson after state becomes success:
Request body
Text-to-video
First/last frame to video
Reference-to-video
Parameters
Result delivery mode. Use
async for polling with statusTask, or callback for webhook delivery.Required when
request_type is callback. Must be a public HTTPS URL that can receive the final task payload. See Webhooks.Veo 3.1 input parameters.
Response format
Submit task response
POST /generateTask/veo-3-1 returns a task ID when the task is accepted:
API status code.
200 means the task was accepted.Human-readable status message.
Unique task identifier used with the status endpoint.
Status response fields
Unique task identifier.
Current task state:
pending, processing, success, or failed.JSON string containing the generated video URLs. Present when
state is success.Machine-readable failure code. Present when
state is failed.Human-readable failure message. Present when
state is failed.Task creation timestamp in Unix milliseconds.
Task completion timestamp in Unix milliseconds. Present after completion.
Processing duration in milliseconds. Present after successful or failed completion when available.
Webhook callback mode
Use callback mode when your backend should receive the final result automatically instead of polling.Billing
Veo 3.1 is billed per generated video. The selectedmode determines the unit price.
| Mode | APIXO price |
|---|---|
fast | $0.20 / video |
quality | $1.50 / video |
Latency and polling
Actual latency may vary by prompt complexity, image inputs, selected route, and current queue load.| Mode | Typical generation time | Recommended first poll | Poll interval |
|---|---|---|---|
fast | 1-3 minutes | 60-90s after task creation | 5-10s |
quality | 1-3 minutes | 90s after task creation | 5-10s |
429, slow down requests and retry with backoff. For account-level details, see System APIs.
Errors and troubleshooting
HTTP errors
| Code | Meaning | What to do |
|---|---|---|
400 | Invalid request body, missing parameter, unsupported mode, unsupported generation type, or invalid image input | Fix the request before retrying |
401 | Missing or invalid API key | Check the Authorization header |
402 | Insufficient balance or quota | Add balance or switch account/key |
403 | Key or route cannot access the model | Check permissions and route strategy |
429 | Rate limit or concurrency limit reached | Retry with exponential backoff |
500 | Server error | Retry with backoff |
502 | Upstream service error | Retry with backoff |
504 | Upstream timeout | Retry or use callback mode for long-running jobs |
Task failure codes
| Fail code | Meaning | What to do |
|---|---|---|
SensitiveContent | Prompt or image input was rejected by safety checks | Change the prompt or input image |
PromptInvalid | Prompt is invalid or rejected upstream | Rewrite the prompt and retry |
ImageFormatIncorrect | Input image format is not accepted | Use a public JPG, JPEG, or PNG URL |
MissingParameter | A required parameter is missing | Check mode, prompt, generationType, and conditional image_urls |
RateLimited | Upstream rate limit reached | Retry with exponential backoff |
Timeout | Upstream service timed out | Retry, reduce input complexity, or use callback mode |
Unknown error | Upstream service returned an unmapped failure | Retry later or contact support with the taskId |
Common validation issues
| Issue | Fix |
|---|---|
Missing mode | Set mode to quality or fast |
Missing generationType | Set one of the supported generation type values |
REFERENCE_2_VIDEO with quality | Use mode: "fast" |
REFERENCE_2_VIDEO with 9:16 or auto | Use aspect_ratio: "16:9" |
| Too many images | Use up to 2 images for first/last-frame generation or up to 3 images for reference generation |
| Empty image URL | Provide non-empty, publicly reachable image URLs |