Veo V2

Text to Video

Generate one or more videos from a text prompt. Returns immediately with 202 Accepted and task IDs for polling.

Example

curl -X POST https://genaipro.io/api/v2/veo/text-to-video \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A drone flying over mountains",
    "aspect_ratio": "VIDEO_ASPECT_RATIO_LANDSCAPE",
    "number_of_videos": 1
  }'

Rate limit: 30 requests/minute

post/v2/veo/text-to-video

Request body

promptstring required

Text description of the video to generate

aspect_ratio'VIDEO_ASPECT_RATIO_LANDSCAPE' | 'VIDEO_ASPECT_RATIO_PORTRAIT' required

Video aspect ratio

number_of_videosinteger required

Number of videos to generate (1–4)

upscale_resolution'' | 'none' | '1080p'

Optional upscale resolution. Leave empty or none to disable upscale. 4k is not supported for video and returns 400.

callback_urlstring

Optional webhook URL. When the task reaches a terminal state (completed or failed), GenAIPro POSTs the task status (same shape as GET /v2/veo/tasks/{id}) to this URL.

Example request

{
  "prompt": "A cat walking on the beach at sunset",
  "aspect_ratio": "VIDEO_ASPECT_RATIO_LANDSCAPE",
  "number_of_videos": 2
}

Response

Task accepted for processing. Returns exactly one history item representing the parent task; use its id to poll GET /v2/veo/tasks/{id}.

Example response

{
  "histories": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "prompt": "A cat walking on the beach at sunset",
      "status": "processing",
      "created_at": "2026-04-03T10:00:00Z"
    }
  ]
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.