Skip to main content
GET
cURL

Authorizations

X-API-Key
string
header
required

Query Parameters

types
enum<string>[] | null

Generation type enum

NOTE: this enum is used to determine the type of generation and is used to determine the type of asset that will be generated.

Available options:
image,
video,
text_to_speech,
speech_to_speech,
voice_clone,
audio_isolation,
video_stitching,
video_upscale,
video_to_video,
image_upscale,
agent_response,
audio_from_video,
text_to_sound,
assets_to_image_text_prompt,
assets_to_audio_text_prompt

Response

Successful Response

slug
string
required

Stable cross-environment identifier for the model, e.g. google/nano-banana. Unique and identical across local/staging/production. Prefer slug over id when referencing models — id is environment-specific and will be removed in a later migration (model-registry plan step 7).

name
string
required

Name of the model

description
string | null
required

Description of the model.

type
string
required

Type of generation the model applies to.

price_details
AIModelPrice · object
required

Pricing details of the model.

id
string | null

Environment-specific UUID of the model, or null for a code-backed model with no ai_models row (identified by slug). Being removed in favor of slug (model-registry plan step 7); prefer slug.

aspect_ratios
string[] | null

Aspect ratios the model supports.

aspect_ratio_range
Aspect Ratio Range · object | null

If set to (min, max), the model accepts any keyframe whose width/height ratio is in [min, max], not just the values in aspect_ratios. The model snaps the output to its internal grid. aspect_ratios then serves as UI/preset labels rather than as an enum gate.

resolutions
string[] | null

Resolutions the model supports.

default_resolution
string | null

Backend-declared default output resolution for this model.

durations
string[] | null

Durations the model supports.

requires_start_frame
boolean | null

Whether the model is conditioned by a start frame.

requires_end_frame
boolean | null

Whether the model is conditioned by an end frame.

requires_audio_input
boolean | null

Whether the model is conditioned by audio input.

requires_input_video
boolean | null

Whether the model requires video input (video-to-video).

requires_character_orientation
boolean | null

Whether the model requires character orientation (motion control).

eta_ms
integer | null

Average generation duration in milliseconds.

tags
string[] | null

Tags for model categorization.

max_duration_ms
integer | null

Maximum output duration in milliseconds for video/audio models.

custom_resolution
boolean | null

Whether the model supports custom resolution.

pricing
Pricing · object | null

Extensible pricing information with dimension modifiers for resolution, audio, etc.

dimensions
Dimensions · object | null

Width and height for each aspect_ratio and resolution tuple.

min_prompt_length
integer | null

Minimum character count for text prompts. Null means no minimum.

max_prompt_length
integer | null

Maximum character count for text prompts. Null means no maximum.

inputs
InputMode · object[] | null

List of input modes the model supports. Each mode groups mutually exclusive input slots. The frontend picks one mode. text_to_video (no inputs) is always implicitly available for VIDEO type models. Null means the model has no declarative input specifications (use requires_* booleans).

logo_url
string | null

URL of the model's logo in SVG format.

premium
boolean
default:true

Whether this is a premium model.

display_order
integer | null

Display order for UI sorting. Lower values appear first.