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

VideoOptionsResponse 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.