Models and providers
Discover capabilities, constraints and reviewed prices from the live catalog.
GET /v1/models requires ai:read. It returns only reviewed, unexpired models allowed by the project's model policy. The response follows the OpenAI list shape with additional Feeef metadata.
| Field | Meaning |
|---|---|
id | Exact public model ID to send in requests |
owned_by | Configured provider route |
canonical_model | Shared model identity across independently configured providers |
availability | Publication status; upstream health is currently unknown |
endpoints | Native operations for this provider route |
api_styles | Task, client schema, translated endpoints and streaming support |
modalities | Route modalities; accepted media input does not imply generation of that media |
capabilities | Operation and streaming support, image output controls, transparency, input-image support and custom resolution bounds |
request_constraints | Required fields, allowed values and maximums |
pricing.version | Reviewed immutable price version |
pricing.valid_until | Price review expiry |
pricing.source_url | Price provenance |
pricing.reservation_micros | Always "0"; AI usage is postpaid with no admission hold |
pricing.margin | Markup or gross-margin configuration |
Providers can include OpenAI, Anthropic, Google, OpenRouter and compatible services. Availability depends on operator configuration; the platform does not automatically publish every model offered by those providers.
The same model can have several provider routes. For example, openai/gpt-6.1-sol and openrouter/openai/gpt-6.1-sol can share the canonical identity openai/gpt-6.1-sol. Each route has its own upstream ID, credentials, reviewed pricing, request limits, and capabilities. OpenAI's direct price card must never be copied to another provider without reviewing that provider's tariff.
GET /v1/ai/models groups the visible routes by canonical model. It requires the same ai:read scope, product gate, project model policy, and rate limits as /v1/models. Each group's providers contains the complete route metadata, including its exact public id. Send that route ID in generation requests. Grouping never expands project access, chooses a provider, or starts a paid request.
availability.status: published means the route has an active, unexpired catalog entry visible to this project. availability.health: unknown means no live upstream availability measurement is reported. Publication does not guarantee account access or spare upstream capacity. Live availability, latency, reliability statistics, and automatic provider selection are future features.
Selecting a route pins its provider and pricing for billing and idempotent retries. Clients cannot override upstream URLs, credentials, routing plugins or fallback providers. Google content payloads can use /v1/google/generateContent directly or asynchronous tasks. Google prediction/video operations use tasks. Reviewed native Google routes can also expose the official OpenAI-compatible chat endpoint; use the operations returned by api_styles for your task.
No models or an expired price card means no supported generation for that route. Reload the catalog before building a new request; don't reuse a cached catalog as authority to bypass current policy.
Capabilities describe this exact provider route. capabilities.image.transparent_background is false unless the operator has reviewed transparency for that route. Empty lists are not permission to send arbitrary options. Input upload limits and custom output dimension bounds are distinct; resolution tiers and aspect ratios are model-specific. capabilities.live_transcription is true only for reviewed live routes; capabilities.live lists their transport, audio format and bounded session limits. See live transcription.
Native Claude routes use AI_PROVIDER_KEY_ANTHROPIC and the native Messages adapter. Their canonical identity matches the corresponding OpenRouter route, so the playground can switch providers without changing model identity. Native Claude defaults accept bounded text input, standard processing and reviewed five-minute cache writes; one-hour writes and hosted tools require additional reviewed meters. The catalog does not infer input capabilities from the upstream model’s broader capabilities.