AI
List AI video generation options
Read-only discovery for public Veo video generation. This endpoint does not generate video or spend credits.
get/api/v1/ai/video-options
Request
- Base URL: https://www.poster.ly
- URL: https://www.poster.ly/api/v1/ai/video-options
- Auth: HTTP bearer
Response
Video generation options
Video Options Response required
Example response
{
"provider": "multiple",
"providers": [
{
"id": "google",
"identifier": "google_veo",
"label": "Google Veo 3.1",
"models": [
"lite",
"fast",
"standard"
],
"durations_seconds": [
4,
6,
8
],
"resolutions": [
"720p",
"1080p"
],
"aspect_ratios": [
"16:9",
"9:16"
],
"constraints": [
"1080p output requires an 8-second duration"
]
},
{
"id": "xai",
"identifier": "xai_grok",
"label": "xAI Grok Imagine Video 1.5",
"models": [
"grok-imagine-video-1.5"
],
"durations_seconds": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15
],
"resolutions": [
"480p",
"720p",
"1080p"
],
"aspect_ratios": [
"1:1",
"16:9",
"9:16",
"4:3",
"3:4",
"3:2",
"2:3"
],
"constraints": [
"end_image_url and source_video_url are not supported",
"reference-to-video is capped at 720p",
"generated videos include audio by default"
]
}
],
"public_generation_status": "available",
"dashboard_generation_route": "/api/ai/videos/generate",
"public_generation_route": "/api/v1/ai/generate-video",
"public_function_route": "/api/v1/ai/video-function",
"public_job_routes": {
"list": "/api/v1/ai/video-jobs",
"get": "/api/v1/ai/video-jobs/{id}"
},
"identifiers": [
"google_veo",
"veo3",
"xai_grok",
"grok_imagine"
],
"tools": [
{
"functionName": "list_input_modes",
"description": "Return supported input modes, defaults, and constraints for the selected video provider.",
"params_schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"functionName": "estimate_cost",
"description": "Estimate Google Veo or xAI Grok credit cost before queueing a public generation job. Select the provider with the identifier.",
"params_schema": {
"type": "object",
"properties": {
"model": {
"type": "string",
"enum": [
"lite",
"fast",
"standard"
]
},
"duration_seconds": {
"type": "integer",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15
]
},
"resolution": {
"type": "string",
"enum": [
"480p",
"720p",
"1080p"
]
},
"output": {
"type": "string",
"enum": [
"vertical",
"horizontal"
]
},
"input_image_count": {
"type": "integer",
"enum": [
0,
1,
2,
3
]
}
},
"additionalProperties": false
}
},
{
"functionName": "validate_request",
"description": "Validate a prospective public video-generation payload without spending credits.",
"params_schema": {
"type": "object",
"additionalProperties": true,
"required": [
"prompt"
]
}
}
],
"models": [
{
"id": "lite",
"label": "Veo 3.1 Lite",
"provider_model": "veo-3.1-lite-generate-001",
"description": "Cheapest generation for drafts, storyboards, and high-volume variants. Text-to-video and image-to-video only.",
"credit_costs": {
"4": {
"720p": 48,
"1080p": 72
},
"6": {
"720p": 72,
"1080p": 108
},
"8": {
"720p": 96,
"1080p": 144
}
}
},
{
"id": "fast",
"label": "Veo 3.1 Fast",
"provider_model": "veo-3.1-fast-generate-001",
"description": "Lower-latency social video generation for drafts, UGC concepts, and quick variants.",
"credit_costs": {
"4": {
"720p": 140,
"1080p": 140
},
"6": {
"720p": 210,
"1080p": 210
},
"8": {
"720p": 280,
"1080p": 280
}
}
},
{
"id": "standard",
"label": "Veo 3.1 Standard",
"provider_model": "veo-3.1-generate-001",
"description": "Higher-quality generation for polished brand, product, and campaign videos.",
"credit_costs": {
"4": {
"720p": 360,
"1080p": 360
},
"6": {
"720p": 540,
"1080p": 540
},
"8": {
"720p": 720,
"1080p": 720
}
}
}
],
"xai_models": [
{
"id": "grok-imagine-video-1.5",
"label": "Grok Imagine Video 1.5",
"provider_model": "grok-imagine-video-1.5",
"description": "xAI video generation for text, start images, and up to 3 reference images.",
"credit_costs": {
"1": {
"480p": 18,
"720p": 32,
"1080p": 56
},
"2": {
"480p": 36,
"720p": 64,
"1080p": 112
},
"3": {
"480p": 54,
"720p": 96,
"1080p": 168
},
"4": {
"480p": 72,
"720p": 128,
"1080p": 224
},
"5": {
"480p": 90,
"720p": 160,
"1080p": 280
},
"6": {
"480p": 108,
"720p": 192,
"1080p": 336
},
"7": {
"480p": 126,
"720p": 224,
"1080p": 392
},
"8": {
"480p": 144,
"720p": 256,
"1080p": 448
},
"9": {
"480p": 162,
"720p": 288,
"1080p": 504
},
"10": {
"480p": 180,
"720p": 320,
"1080p": 560
},
"11": {
"480p": 198,
"720p": 352,
"1080p": 616
},
"12": {
"480p": 216,
"720p": 384,
"1080p": 672
},
"13": {
"480p": 234,
"720p": 416,
"1080p": 728
},
"14": {
"480p": 252,
"720p": 448,
"1080p": 784
},
"15": {
"480p": 270,
"720p": 480,
"1080p": 840
}
}
}
],
"input_modes": [
{
"id": "text_to_video",
"label": "Text to video",
"required_fields": [
"prompt"
],
"optional_fields": [
"negative_prompt",
"aspect_ratio",
"duration",
"resolution",
"model",
"generate_audio"
]
},
{
"id": "image_to_video",
"label": "Image to video",
"required_fields": [
"prompt",
"image_url"
],
"optional_fields": [
"end_image_url",
"negative_prompt",
"aspect_ratio",
"duration",
"resolution",
"model",
"generate_audio"
]
},
{
"id": "ingredients_to_video",
"label": "Ingredients to video",
"required_fields": [
"prompt",
"reference_images"
],
"optional_fields": [
"negative_prompt",
"aspect_ratio",
"resolution",
"model",
"generate_audio"
],
"constraints": [
"duration is fixed at 8 seconds",
"up to 3 reference images"
]
},
{
"id": "scene_extension",
"label": "Scene extension",
"required_fields": [
"prompt",
"source_video_url"
],
"optional_fields": [
"negative_prompt",
"duration",
"resolution",
"model",
"generate_audio"
]
}
],
"aspect_ratios": [
"16:9",
"9:16"
],
"durations_seconds": [
4,
6,
8
],
"resolutions": [
"720p",
"1080p"
],
"reference_image_types": [
"character",
"object",
"scene"
],
"defaults": {
"model": "fast",
"duration_seconds": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
},
"constraints": {
"prompt_min_length": 5,
"prompt_max_length": 4000,
"negative_prompt_max_length": 500,
"max_reference_images": 3,
"public_generation_requires_job_api": true,
"public_generation_cost_guardrails_required": true
},
"notes": [
"This endpoint is read-only and does not spend credits.",
"Use it to plan public API/MCP video jobs before calling the generation endpoint.",
"Use the video function route for helper calls such as estimate_cost and validate_request.",
"Public video generation is queued and cost-guarded. Poll the video job route for status and final video_url."
]
}Changes
No recorded changes to this operation across all 1 revision of this API.