Skip to main content
POST
https://console.mixroute.io
/
v1
/
video
/
generations
curl --request POST \
  --url https://console.mixroute.io/v1/video/generations \
  --header 'Authorization: Bearer sk-xxxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "veo-3.1-fast-generate-preview",
    "prompt": "Morning sunlight on cyber city skyscrapers, camera slowly pushing forward",
    "durationSeconds": 6,
    "aspectRatio": "16:9",
    "resolution": "1080p",
    "generateAudio": false
  }'
{
  "task_id": "task_xxx",
  "status": "pending",
  "created_at": 1709459123
}

Introduction

Veo is a multimodal video generation model from Google Vertex AI, supporting text-to-video (T2V), first-frame constraint, and first-last frame constraint (3.1 series only) for generating coherent videos. Call through Mixroute unified video interface: first submit task to get task_id, then query task to poll status and retrieve results.

Authentication

Bearer Token, e.g., Bearer sk-xxxxxxxxxx

Supported Models

Model IDDescription
veo-3.0-fast-generate-001Text-to-video, first-frame mode, fast version (audio included by default)
veo-3.1-fast-generate-previewText-to-video, first-frame/first-last frame mode, fast version
veo-3.0-generate-previewText-to-video, first-frame mode
veo-3.1-generate-previewText-to-video, first-frame/first-last frame mode

Call Flow

  1. Submit Task: POST /v1/video/generations, pass model, prompt and Veo-specific parameters.
  2. Poll Status: GET /v1/video/generations/{task_id}, until status is succeeded or failed.
  3. Get Result: When successful, the url in the response contains video data (Veo may return data:video/mp4;base64,... or OSS link).

Veo-Specific Parameters

prompt
string
required
Video generation prompt describing the scene and actions.
durationSeconds
integer
Video duration (seconds), supported values: 4, 6, 8.
aspectRatio
string
Aspect ratio, only supports: 16:9, 9:16.
resolution
string
Resolution: 720p, 1080p.
image
string
First frame reference image (URL or Base64), for image-to-video/first-frame constraint.
lastFrameImage
string
Last frame reference image (only veo-3.1 series supported), works with first frame for first-last frame constraint.
generateAudio
boolean
Whether to generate synchronized audio. Fast version models ignore this parameter and always include audio.
sampleCount
integer
Number of videos to generate per request, range 1-4.
For more parameters (such as personGeneration, addWatermark, seed), see Submit Video Task.

Request Examples

curl -X POST "https://console.mixroute.io/v1/video/generations" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-fast-generate-preview",
    "prompt": "Morning sunlight on cyber city skyscrapers, camera slowly pushing forward",
    "durationSeconds": 6,
    "aspectRatio": "16:9",
    "resolution": "1080p",
    "generateAudio": false
  }'
For complete request/response specifications and multi-model comparison, see Submit Video Task and Query Video Task.
curl --request POST \
  --url https://console.mixroute.io/v1/video/generations \
  --header 'Authorization: Bearer sk-xxxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "veo-3.1-fast-generate-preview",
    "prompt": "Morning sunlight on cyber city skyscrapers, camera slowly pushing forward",
    "durationSeconds": 6,
    "aspectRatio": "16:9",
    "resolution": "1080p",
    "generateAudio": false
  }'
{
  "task_id": "task_xxx",
  "status": "pending",
  "created_at": 1709459123
}