One continuous eight-second shot inside a quiet botanical glasshouse during a sudden rain shower. The camera glides slowly at leaf height past broad wet leaves while droplets strike the glass roof, merge into rivulets, and cast moving reflections across the stone path. Keep the plant geometry stable, water motion physically believable, and the depth transition smooth from foreground leaves to the distant iron doorway. Natural overcast light only. No cuts, no people, no readable text, no logos, no brands, no products, no advertising, no watermark.
Veo 3.1 Text-to-Video API
veo3.1/text-to-videoGenerate an 8-second video from a text prompt. Direct the subject, action, setting, camera movement, lighting, and framing, then choose 720p, 1080p, or 4K output.
Input
Fixed by this endpoint
Output
IdleGenerated video appears here
Configure the input and run the task. Progress and the finished video will stay in this panel.
Examples
Quick Start
Authenticate, submit the exact model contract, then poll the returned task ID. The complete field reference remains in the API documentation.
Authenticate
Send your Vidgo API key as a Bearer token. Keep the key on the server and never expose it in browser code.
- Endpoint
- POST https://api.vidgo.ai/api/generate/submit
- Authentication
- Authorization: Bearer VIDGO_API_KEY
Submit the generation task
Use the exact model ID veo3.1/text-to-video. The submit endpoint returns an asynchronous task ID.
curl --request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "veo3.1/text-to-video",
"input": {
"prompt": "A single continuous shot of a paper boat drifting through a rain-lit city canal at dusk.",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'{
"code": 200,
"data": {
"task_id": "task-unified-...",
"status": "not_started"
}
}Poll for the result
Request task status with task_id until the task reaches finished or failed.
GET https://api.vidgo.ai/api/generate/status/{task_id}not_started → running → finished | failed
Related Models
Frequently Asked Questions
Which model ID does Veo 3.1 Text-to-Video use?
Use veo3.1/text-to-video. The Playground keeps this value locked so requests cannot drift into another Veo workflow.
Which duration is supported?
The current Vidgo endpoint accepts a fixed integer duration of 8 seconds.
Which resolutions and aspect ratios are available?
Use 720p, 1080p, or 4k resolution with 16:9 or 9:16 aspect ratio.
Do I need to submit images?
No. image_urls is not accepted by this text-to-video endpoint.
How do I receive the finished video?
The submit call returns task_id. Poll the status endpoint and read the result when status becomes finished; stop on failed.















