API reference
Models
List available models and the full model catalog.
GET /models/available#
List the models you can use with POST /zo/ask. When authenticated with an API key, the list includes your BYOK (Bring Your Own Key) configurations.
Response#
modelsarrayList of available models.
models[].model_namestringThe value to pass to model_name in /zo/ask.
models[].labelstringHuman-readable model name.
models[].vendorstringModel provider (e.g. "Anthropic", "OpenAI", "Custom").
models[].descriptionstring | nullShort description of the model's capabilities.
models[].typestring | nullEither "fast" or "capable", indicating the model's speed/capability tradeoff.
models[].context_windownumber | nullMaximum context window size in tokens.
models[].is_byokbooleanWhether this is a BYOK (Bring Your Own Key) model.
GET /models/catalog#
The full public model catalog: the picker model list, media capabilities and fixed prices, plus catalog-level metadata (default chat model, featured models, deprecation map). No authentication required. Cached for 1 minute. Host-specific availability is returned by authenticated model-settings endpoints and enforced when a model runs.
Response#
modelsarrayThe picker model list, sorted by priority.
models[].media_domainstring | nullThe model's media domain: image, video, speech, or transcription. Chat models return null.
models[].media_profilesarrayPublic operations that Zo can execute for this model. An empty array means the model has no public media operation.
models[].media_profiles[].operationstringThe exact operation, such as image.generate, image.edit, video.generate, speech.generate, or audio.transcribe. Media models don't share one uniform set of operations.
models[].media_profiles[].request_variantsarraySupported request shapes. Each variant lists its stable id, typed input roles and cardinality, and the settings accepted for that shape.
models[].media_profiles[].price_rulesarrayExact fixed retail rules. A rule includes its selector, whether that shape is eligible for a daily free allowance, and either a fixed charge_usd or bounded linear pricing fields.
models[].media_profiles[].outputobjectOutput MIME types and bounded count, dimensions, duration, or text size for the operation.
media_gateway_public_discovery_enabledbooleanDeprecated. This legacy global rollout field is always false; don't use it to filter the catalog.
default_chat_model_idstringPublic id of the default chat model.
featured_model_idsarrayPublic ids of featured models.
featured_models_are_freebooleanWhen true, featured models are free to use.
featured_model_labelsarrayLabels for featured_model_ids, in order.
promo_end_datestring | nullPromo end date (YYYY-MM-DD) or null.
deprecation_mapobjectMap of deprecated public model id → active successor public id.