curl --request POST \
--url https://api.poyo.ai/api/generate/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "veo3.1-fast-official",
"callback_url": "https://your-domain.com/callback",
"input": {
"prompt": "A cinematic close-up of a paper boat drifting through a neon-lit canal",
"duration": 6,
"aspect_ratio": "16:9",
"resolution": "1080p",
"sound": true
}
}
'{
"code": 200,
"data": {
"task_id": "task-unified-1757165031-uyujaw3d",
"status": "not_started",
"created_time": "2026-05-18T10:30:00"
}
}{
"code": 400,
"error": {
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"code": 400,
"error": {
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}Google
VEO 3.1 Official Video Generation
Official VEO 3.1 video generation with duration, audio control, and image-guided modes
POST
/
api
/
generate
/
submit
curl --request POST \
--url https://api.poyo.ai/api/generate/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "veo3.1-fast-official",
"callback_url": "https://your-domain.com/callback",
"input": {
"prompt": "A cinematic close-up of a paper boat drifting through a neon-lit canal",
"duration": 6,
"aspect_ratio": "16:9",
"resolution": "1080p",
"sound": true
}
}
'{
"code": 200,
"data": {
"task_id": "task-unified-1757165031-uyujaw3d",
"status": "not_started",
"created_time": "2026-05-18T10:30:00"
}
}{
"code": 400,
"error": {
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"code": 400,
"error": {
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}- After submission, a
task_idwill be returned. If you provided acallback_url, when the task status becomesfinishedorfailed, a POST request will be sent to thecallback_url. - Regardless of whether
callback_urlis provided, you can retrieve the response result through the unified Query Task Status endpoint.
VEO 3.1 Official Video Generation
Generate VEO 3.1 videos through PoYo’s official model family. The generation models support text-to-video, image-to-video, first/last-frame video, andgeneration_type driven three-image generation depending on the selected model.
Available Models
- veo3.1-fast-official - Fast official generation with 4, 6, or 8 second duration options
- veo3.1-lite-official - Lightweight official generation with lower per-second pricing
- veo3.1-quality-official - Higher-quality official generation with 4K support
Input Modes
Generation Models
- No
image_urls: text-to-video - One image: image-to-video
- Two images: first/last-frame video;
veo3.1-lite-officialsupports this mode at 8 seconds only - Three images:
generation_type: "reference", fixed at 8 seconds veo3.1-lite-officialsupports at most two images and does not supportgeneration_type: "reference"
Parameters
- prompt: required text prompt
- image_urls: optional image URL array for generation models
- generation_type: optional
frameorreference; if omitted, PoYo infers the mode fromimage_urls; two images onveo3.1-lite-officialstill requireduration: 8 - duration: generation models support
4,6, or8;generation_type: "reference"with threeimage_urlssupports8only;veo3.1-lite-officialwith twoimage_urlssupports8only;veo3.1-lite-officialwithresolution: "1080p"supports8only - aspect_ratio:
16:9or9:16;autois also supported for image-to-video and first/last-frame generation - resolution:
720p,1080p, or4kwhere supported;veo3.1-lite-officialdoes not support4k - sound:
trueby default; setfalsefor silent output
Pricing
Pricing is charged per generated second and varies by model, resolution, and whether audio is generated. See the model page for the current credit table.Authorizations
All API endpoints require Bearer Token authentication.
Use the header:
Authorization: Bearer PoYo_API_KEY
Body
application/json
VEO 3.1 official model identifier
Available options:
veo3.1-fast-official, veo3.1-lite-official, veo3.1-quality-official Input parameters for generation
Show child attributes
Show child attributes
Webhook callback URL for result notifications
Example:
"https://your-domain.com/callback"
