v29

latestOpenAPI 3.1.0raw.githubusercontent.com2026-03-233765161.7 KB
v1 video

Generate Video

Dedicated video generation endpoint using the Universal Schema with flat parameters.

**Universal Base Schema:**
- user_id (str, required): The end-user ID
- project_id (str, optional): The project ID
- persona_id (str, optional): The specific system persona/voice to use
- disabled_learning (bool, optional): If true, request is ignored by long-term memory
- use_reasoning (bool, optional): Enable reasoning loop for constraint-satisfying generation

**Input:**
- text_input (str, required): The prompt/description for video generation
- session_id (str, optional): Session ID for conversation context

**Reference inputs:**
- image_base64 (str, optional): Base64 encoded reference image for context
- video_base64 (str, optional): Base64 encoded reference video for context
- audio_base64 (str, optional): Base64 encoded reference audio for context

**Video Params (Flat):**
- model (str, optional): Model ID (default: veo-3.0-generate-preview)
- duration (float, optional): Target duration in seconds (4, 6, or 8)
- aspect_ratio (str, optional): Aspect ratio: "16:9" or "9:16" (default: 16:9)
- seed (int, optional): Random seed for reproducibility

**Authentication**: Requires valid API key or JWT token
post/v1/video/generations

Request body

user_idstring required

The end-user ID

project_idstring nullable

The project ID

persona_idstring nullable

The specific system persona/voice to use

disabled_learningboolean

If true, this request is ignored by long-term memory

use_reasoningboolean

Enable Chain-of-Thought/Reasoning steps before generation

max_reasoning_iterationsinteger

Max reasoning steps if reasoning is enabled

text_inputstring required

The prompt/description for video generation

session_idstring nullable

Session ID for conversation context

modelstring

Video generation model ID

durationnumber nullable

Target duration in seconds

aspect_ratiostring

Aspect ratio for the generated video: '16:9' or '9:16'.

seedinteger nullable

Random seed for reproducibility

advanced_creativeboolean

Enable first+last frame workflow: generates a starting frame and an ending frame via the image pipeline, then uses Veo's first-and-last-frame feature to animate the transition between them.

image_base64string nullable

Base64 encoded reference image for context (e.g., start frame)

video_base64string nullable

Base64 encoded reference video for context

audio_base64string nullable

Base64 encoded reference audio for context

Example request

{
  "aspect_ratio": "16:9",
  "duration": 5,
  "model": "veo-3.0-generate-preview",
  "project_id": "proj_ABC",
  "seed": 12345,
  "text_input": "A golden retriever running on a beach at sunset",
  "use_reasoning": false,
  "user_id": "user_123"
}

Response

Successful Response

video_base64string nullable

Base64 encoded video. Present when the payload is under ~30 MB. May be absent for very large outputs.

video_urlstring nullable

Signed GCS URL to download the video (expires after 24 h). Always present when the upload succeeds.

output_typestring

Delivery method: 'both' (base64 + url), 'url' (url only, base64 omitted due to size), or 'base64' (GCS upload failed).

video_formatstring

Video format, e.g. mp4, webm

successboolean

Whether the request succeeded