Veo 3.1 Lite

Developer documentation

Veo 3.1 Lite

Veo 3.1 Lite for Vertex Veo video generation, image-to-video, reference-guided video, and extension workflows.

Model Reference

Video generation models

Text-to-video, image-to-video, first/last frame control, reference images, extend, and remix jobs. Endpoint: https://www.omixa.cloud/api/v1/videos/jobs

Veo 3.1 Lite

veo-3.1-lite-generate-001

Veo 3.1 Lite for Vertex Veo video generation, image-to-video, reference-guided video, and extension workflows.

Video
video per second $0.050000
minimum hold $0.010000
Integration reference

Connect Veo 3.1 Lite

Use Omixa's unified endpoint and your workspace API key. Provider routing, billing, failover, and usage records are handled by Omixa.

POST https://www.omixa.cloud/api/v1/videos/jobs
  • Provider: google
  • Endpoint type: google_veo_video_jobs
Request schema

Request fields

Only send options supported by this model. Required fields and accepted values are listed below.

Field Type Required Accepted values Description
model string Yes veo-3.1-lite-generate-001 Use `veo-3.1-lite-generate-001`. Omixa resolves the active provider route and failover key automatically.
prompt string Yes Any valid value Video instruction. Keep it concrete: subject, scene, action, camera, lighting, and style.
video_operation|task string No text_to_video, image_to_video, first_last_frames, reference_to_video, extend Video workflow.
duration_seconds|seconds number No 1-30 Generated duration in seconds. Omixa validates provider-safe ranges.
aspect_ratio string No 16:9, 9:16, 1:1 Video aspect ratio for Veo-style routes.
resolution|size string No 720p, 1080p, 1280x720, 720x1280, 1920x1080 Output resolution or Sora size.
sample_count|n_variants integer No 1-4 Number of variants where supported. Sora 2 routes may not accept `n_variants`; Omixa omits it for those models.
negative_prompt string No Any valid value What to avoid in Veo-style generations.
person_generation string No Any valid value Person generation safety setting for Veo-style providers.
generate_audio boolean No Any valid value Ask compatible video models to generate audio.
enhance_prompt boolean No Any valid value Provider prompt enhancement.
seed integer No Any valid value Deterministic seed where supported.
start_frame|first_frame|image|input_reference inline image No Any valid value Starting image for image-to-video. Use an inline image object/data URL.
last_frame|end_frame inline image No Any valid value Ending image for first/last-frame generation.
reference_images array No Any valid value Reference images for reference-to-video. Veo supports multiple inline images through Omixa.
source_video|source_video_id|video_id string|inline video No Any valid value Source video or operation ID for extend/remix workflows.
wait_seconds integer No Any valid value How long Omixa waits before the first status poll.
poll_interval_seconds integer No Any valid value Polling interval for long-running video jobs.
Ready to send

Payload and response

Start with this model-safe payload and expect the normalized Omixa response shape shown beside it.

Example JSON payload
{
    "model": "veo-3.1-lite-generate-001",
    "prompt": "A smooth camera move through a neural network converging into one API endpoint.",
    "video_operation": "image_to_video",
    "duration_seconds": 8,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "start_frame": {
        "type": "image_url",
        "image_url": {
            "url": "data:image/png;base64,<base64-start-frame>"
        }
    },
    "sample_count": 1,
    "wait_seconds": 3,
    "poll_interval_seconds": 2
}
Response shape
{
    "provider": "google",
    "model": "veo-3.1-lite-generate-001",
    "status": "running|succeeded",
    "operation": "provider-operation-name",
    "poll_after_seconds": 5,
    "data": [
        {
            "url": "https://...",
            "content_type": "video/mp4"
        }
    ]
}
Language examples

Copy-ready integration code

Replace the example API key with a workspace key and keep model-specific fields unchanged unless the table above marks them optional.

cURL
curl -X POST https://www.omixa.cloud/api/v1/videos/jobs \
  -H "Authorization: Bearer omx_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-lite-generate-001",
    "prompt": "A smooth camera move through a neural network converging into one API endpoint.",
    "video_operation": "image_to_video",
    "duration_seconds": 8,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "start_frame": {
        "type": "image_url",
        "image_url": {
            "url": "data:image/png;base64,<base64-start-frame>"
        }
    },
    "sample_count": 1,
    "wait_seconds": 3,
    "poll_interval_seconds": 2
}'
JavaScript fetch
const response = await fetch('https://www.omixa.cloud/api/v1/videos/jobs', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer omx_live_xxx',
    'Content-Type': 'application/json'
  },
  body: "{\n    \"model\": \"veo-3.1-lite-generate-001\",\n    \"prompt\": \"A smooth camera move through a neural network converging into one API endpoint.\",\n    \"video_operation\": \"image_to_video\",\n    \"duration_seconds\": 8,\n    \"aspect_ratio\": \"16:9\",\n    \"resolution\": \"720p\",\n    \"start_frame\": {\n        \"type\": \"image_url\",\n        \"image_url\": {\n            \"url\": \"data:image/png;base64,<base64-start-frame>\"\n        }\n    },\n    \"sample_count\": 1,\n    \"wait_seconds\": 3,\n    \"poll_interval_seconds\": 2\n}"
});
const data = await response.json();
Python requests
import requests

response = requests.post(
    'https://www.omixa.cloud/api/v1/videos/jobs',
    headers={'Authorization': 'Bearer omx_live_xxx', 'Content-Type': 'application/json'},
    json={
    "model": "veo-3.1-lite-generate-001",
    "prompt": "A smooth camera move through a neural network converging into one API endpoint.",
    "video_operation": "image_to_video",
    "duration_seconds": 8,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "start_frame": {
        "type": "image_url",
        "image_url": {
            "url": "data:image/png;base64,<base64-start-frame>"
        }
    },
    "sample_count": 1,
    "wait_seconds": 3,
    "poll_interval_seconds": 2
}
)
print(response.json())
PHP cURL
$ch = curl_init('https://www.omixa.cloud/api/v1/videos/jobs');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ['Authorization: Bearer omx_live_xxx', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{
    "model": "veo-3.1-lite-generate-001",
    "prompt": "A smooth camera move through a neural network converging into one API endpoint.",
    "video_operation": "image_to_video",
    "duration_seconds": 8,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "start_frame": {
        "type": "image_url",
        "image_url": {
            "url": "data:image/png;base64,<base64-start-frame>"
        }
    },
    "sample_count": 1,
    "wait_seconds": 3,
    "poll_interval_seconds": 2
}',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
C# HttpClient
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "omx_live_xxx");
var json = @"{
    ""model"": ""veo-3.1-lite-generate-001"",
    ""prompt"": ""A smooth camera move through a neural network converging into one API endpoint."",
    ""video_operation"": ""image_to_video"",
    ""duration_seconds"": 8,
    ""aspect_ratio"": ""16:9"",
    ""resolution"": ""720p"",
    ""start_frame"": {
        ""type"": ""image_url"",
        ""image_url"": {
            ""url"": ""data:image/png;base64,<base64-start-frame>""
        }
    },
    ""sample_count"": 1,
    ""wait_seconds"": 3,
    ""poll_interval_seconds"": 2
}";
var response = await client.PostAsync("https://www.omixa.cloud/api/v1/videos/jobs", new StringContent(json, System.Text.Encoding.UTF8, "application/json"));
var body = await response.Content.ReadAsStringAsync();
Go net/http
payload := []byte(`{
    "model": "veo-3.1-lite-generate-001",
    "prompt": "A smooth camera move through a neural network converging into one API endpoint.",
    "video_operation": "image_to_video",
    "duration_seconds": 8,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "start_frame": {
        "type": "image_url",
        "image_url": {
            "url": "data:image/png;base64,<base64-start-frame>"
        }
    },
    "sample_count": 1,
    "wait_seconds": 3,
    "poll_interval_seconds": 2
}`)
req, _ := http.NewRequest("POST", "https://www.omixa.cloud/api/v1/videos/jobs", bytes.NewReader(payload))
req.Header.Set("Authorization", "Bearer omx_live_xxx")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
Production checklist

Operational notes

  • Authenticate with `Authorization: Bearer omx_live_xxx`.
  • Omixa handles provider keys, routing, billing, failover, and usage recording behind this endpoint.
  • Google Vertex requests use active Vertex accounts configured by the admin; Omixa retries the next healthy account when a route fails before output starts.
  • Video generation is usually long-running. Store the returned `operation` and poll `/api/v1/videos/jobs/status` until the status is final.
Copied Markdown