Skip to content

Veo

Veo is an advanced AI video generation model series supporting text-to-video and image-to-video generation, with audio ("sound on") output.

POST https://llm.siraya.ai/v1/videos/generations

Supported Models

Model ID Description
veo3 Veo 3 video generation, with sound on
veo3-fast Faster and more cost effective version of Veo 3
veo3.1 Veo 3.1 video generation, with sound on
veo3.1-fast Faster and more cost effective version of Veo 3.1
Authorization string Required
Your API Key (e.g., `Bearer `).

Body

model string Required
The model ID (e.g., `veo3`, `veo3.1`).
prompt string Required
A text description for the video content.
seconds integer Default: 8
The duration of the video in seconds. Possible enum values: 4, 6, 8.
seed integer
Random seed for reproducibility. The same seed produces the same video.
image_url string
(Optional) Input image URL for image-to-video generation.
size string
Pixel dimensions, e.g. 1280x720. Auto-resolves to resolution + aspect_ratio; interchangeable with them.
resolution string
Output resolution: 480p, 720p, 1080p. Interchangeable with size.
aspect_ratio string Default: "16:9"
Aspect ratio: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9.
generate_audio boolean
Generate an AI audio track for the video.
frame_images array
First-frame and/or last-frame control. Each item has a `frame_type` (`first_frame` or `last_frame`) and an `image_url`.
input_references array
Soft-guidance references (image / video / audio). Each item has a `type`, a `url`, and an optional `role`.
output_format string Default: url
Result format (`url` or `b64_json`).
extra_body map[string]any
Specific parameters.
negative_prompt string
Negative prompt describing content to exclude.
async boolean Default: false
When false, the request waits for generation to finish and returns the completed video URL. When true, it returns immediately with a video id you poll for status. See Asynchronous generation.
callbackUrl string
Only used when async is true. A URL the router will POST to once generation completes (or fails), so you don't have to poll.
curl https://llm.siraya.ai/v1/videos/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d '{
    "model": "veo3.1",
    "prompt": "A cute baby sea otter"
  }'
import requests

url = "https://llm.siraya.ai/v1/videos/generations"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API_KEY>"
}
data = {
    "model": "veo3.1",
    "prompt": "A cute baby sea otter"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

Fast Variants

The veo3-fast and veo3.1-fast variants are faster and more cost-effective. In place of size, seconds, resolution, aspect_ratio, negative_prompt, and seed, they expose the output_format parameter (url or b64_json, default url) alongside model, prompt, and image_url.