The video models currently served, in OpenRouter's VideoModel shape (a data list, no pagination; OpenRouter's SDKs parse it) with the durations, sizes, inputs and passthrough parameters each accepts, plus our own fields (inputs, operations, supported_fps, frame_grid). Requests are checked against these entries before they are queued. A model without a valid capability spec is not listed.
OK
application/json · video-models-payload
1 field
-
data
array of objects
30 fields
-
id
string
required
-
canonical_slug
string
required
-
name
string
required
-
description
string
-
hugging_face_id
string or null
-
created
integer
required
-
supported_durations
array of integers
required
-
supported_resolutions
array of strings
required
-
supported_aspect_ratios
array of strings
required
-
supported_sizes
array of strings
required
-
supported_frame_images
array of strings or null
required
-
generate_audio
boolean
required
Whether the model generates audio with the video.
-
generates_audio
boolean
deprecated
The old name of generate_audio, with the same value, kept for a deprecation period. Use generate_audio.
-
seed
boolean
required
Whether a seed is honoured.
-
upscale_factor
object or null
required
For upscaling models; always null here.
-
creativity
array of integers or null
required
For upscaling models; always null here.
-
allowed_passthrough_parameters
array of strings
required
-
pricing_skus
object
USD per output second as strings as the catalog writes them ("0.06"). generate_per_second and reference_per_second are the default (Turbo) price; <tier>_per_second (standard_per_second, max_per_second, ultra_per_second) each quality tier's, and <resolution>_per_second (2K_per_second, 4K_per_second) a resolution billed above the preset.
-
operations
array of strings
-
edit
object or null
4 fields
-
resolutions
array of strings
required
The resolutions it edits at.
-
mask
array of strings
required
What the mask may be, an image (every frame) or a video (frame by frame).
-
audio
array of strings
required
The soundtrack choices, keep (the source's, copied) or generate.
-
motion_guide
boolean
required
Whether motion_guide is offered.
-
inputs
object
For each role, how many of each media type.
-
supported_fps
array of integers
-
frame_grid
string
How duration is rounded to frames, e.g. 17n+5.
-
quality_tiers
array of objects or null
The values of quality, null for a model without tiers.
6 fields
-
prompt_max_length
integer or null
The most characters prompt may have.
-
prompt_layout
string or null
The name of the layout the model was trained to read its prompt in, for clients that write prompts in it; null for a model without one. minimax-h3 is MiniMax's labelled fields (see Write prompts for MiniMax-H3). A prompt that does not follow it is still accepted.
-
defaults
object
What a request that leaves them out gets.
4 fields
-
duration
integer
-
aspect_ratio
string
-
resolution
string
-
generate_audio
boolean
-
modes
array of objects
The model's modes in the order they are tried; the first whose when holds is the request's.
3 fields
-
resolution_rules
object
The resolutions that are not a plain preset: upscale_factor (the engine enlarges the preset), upscaler and upscaler_factor (SeedVR2 enlarges the engine's clip by that factor after the render; minimax-h3's 4K, free), bill_multiplier (billed seconds per output second) and schedule_only (only the mode's own schedule runs there; another step count or tier is a 400).
-
media
object
How each media type the model reads is taken, as an https link or a data URI.