VideoGeneration - Python SDK

VideoGeneration method reference

The Python SDK and docs are currently in beta. Report issues on GitHub.

Overview

Video Generation endpoints

Available Operations

generate

Submits a video generation request and returns a polling URL to check status

Example Usage

1from openrouter import OpenRouter
2import os
3
4with OpenRouter(
5 http_referer="<value>",
6 x_open_router_title="<value>",
7 x_open_router_categories="<value>",
8 api_key=os.getenv("OPENROUTER_API_KEY", ""),
9) as open_router:
10
11 res = open_router.video_generation.generate(model="google/veo-3.1", prompt="A serene mountain landscape at sunset", aspect_ratio="16:9", duration=8, resolution="720p")
12
13 # Handle response
14 print(res)

Parameters

ParameterTypeRequiredDescriptionExample
modelstr✔️N/A
promptstr✔️N/A
http_refererOptional[str]The app identifier should be your app’s URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
x_open_router_titleOptional[str]The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
aspect_ratioOptional[components.AspectRatio]Aspect ratio of the generated video16:9
durationOptional[int]Duration of the generated video in seconds8
generate_audioOptional[bool]Whether to generate audio alongside the video. Defaults to true for models that support audio output, false otherwise.true
input_referencesList[components.ContentPartImage]Reference images to guide video generation
providerOptional[components.Provider]Provider-specific passthrough configuration
resolutionOptional[components.Resolution]Resolution of the generated video720p
seedOptional[int]If specified, the generation will sample deterministically, such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed for all providers.
sizeOptional[str]Exact pixel dimensions of the generated video in “WIDTHxHEIGHT” format (e.g. “1280x720”). Interchangeable with resolution + aspect_ratio.1280x720
retriesOptional[utils.RetryConfig]Configuration to override the default retry behavior of the client.

Response

components.VideoGenerationResponse

Errors

Error TypeStatus CodeContent Type
errors.BadRequestResponseError400application/json
errors.UnauthorizedResponseError401application/json
errors.PaymentRequiredResponseError402application/json
errors.NotFoundResponseError404application/json
errors.TooManyRequestsResponseError429application/json
errors.InternalServerResponseError500application/json
errors.OpenRouterDefaultError4XX, 5XX*/*

get_generation

Returns job status and content URLs when completed

Example Usage

1from openrouter import OpenRouter
2import os
3
4with OpenRouter(
5 http_referer="<value>",
6 x_open_router_title="<value>",
7 x_open_router_categories="<value>",
8 api_key=os.getenv("OPENROUTER_API_KEY", ""),
9) as open_router:
10
11 res = open_router.video_generation.get_generation(job_id="job-abc123")
12
13 # Handle response
14 print(res)

Parameters

ParameterTypeRequiredDescriptionExample
job_idstr✔️N/Ajob-abc123
http_refererOptional[str]The app identifier should be your app’s URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
x_open_router_titleOptional[str]The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
retriesOptional[utils.RetryConfig]Configuration to override the default retry behavior of the client.

Response

components.VideoGenerationResponse

Errors

Error TypeStatus CodeContent Type
errors.UnauthorizedResponseError401application/json
errors.NotFoundResponseError404application/json
errors.InternalServerResponseError500application/json
errors.OpenRouterDefaultError4XX, 5XX*/*

get_video_content

Streams the generated video content from the upstream provider

Example Usage

1from openrouter import OpenRouter
2import os
3
4with OpenRouter(
5 http_referer="<value>",
6 x_open_router_title="<value>",
7 x_open_router_categories="<value>",
8 api_key=os.getenv("OPENROUTER_API_KEY", ""),
9) as open_router:
10
11 res = open_router.video_generation.get_video_content(job_id="job-abc123", index=0)
12
13 # Handle response
14 print(res)

Parameters

ParameterTypeRequiredDescriptionExample
job_idstr✔️N/Ajob-abc123
http_refererOptional[str]The app identifier should be your app’s URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
x_open_router_titleOptional[str]The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
indexOptionalNullable[int]N/A0
retriesOptional[utils.RetryConfig]Configuration to override the default retry behavior of the client.

Response

httpx.Response

Errors

Error TypeStatus CodeContent Type
errors.BadRequestResponseError400application/json
errors.UnauthorizedResponseError401application/json
errors.NotFoundResponseError404application/json
errors.InternalServerResponseError500application/json
errors.BadGatewayResponseError502application/json
errors.OpenRouterDefaultError4XX, 5XX*/*

list_videos_models

Returns a list of all available video generation models and their properties

Example Usage

1from openrouter import OpenRouter
2import os
3
4with OpenRouter(
5 http_referer="<value>",
6 x_open_router_title="<value>",
7 x_open_router_categories="<value>",
8 api_key=os.getenv("OPENROUTER_API_KEY", ""),
9) as open_router:
10
11 res = open_router.video_generation.list_videos_models()
12
13 # Handle response
14 print(res)

Parameters

ParameterTypeRequiredDescription
http_refererOptional[str]The app identifier should be your app’s URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
x_open_router_titleOptional[str]The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
retriesOptional[utils.RetryConfig]Configuration to override the default retry behavior of the client.

Response

components.VideoModelsListResponse

Errors

Error TypeStatus CodeContent Type
errors.BadRequestResponseError400application/json
errors.InternalServerResponseError500application/json
errors.OpenRouterDefaultError4XX, 5XX*/*