Text to Video
Changed onGenerate 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
}'
Omni 1.1, two 6-second 1080p clips with watermark:
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": 2,
"model": "omni_flash",
"duration": 6,
"resolution": "1080p",
"watermark": true
}'
Rate limit: 30 requests/minute — shared across all four Veo creation endpoints.
Request
- Base URLhttps://genaipro.io/api
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Request body
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
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
- info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status
- info