View as /docs.md
Getting started

Swap models without changing code

The model field accepts any of the 100+ IDs in the catalog. Routing, adapter translation, and billing are automatic — the request body shape is identical regardless of which model you pick.

Model ID format

IDs are <provider>/<model-name>, lowercase, with no version suffix for stable releases. Dated snapshots (e.g. openai/gpt-5.4-2026-02-01) pin a specific version.

Model IDProviderUse case
moonshot/kimi-k2.6MoonshotAgent loops, long context, vision
openai/gpt-5.4OpenAIGeneral reasoning, 1M context
anthropic/claude-opus-4.7AnthropicFrontier reasoning, careful synthesis
google/gemini-3.1-proGoogleMultimodal, 2M context, video
deepseek/deepseek-r1DeepSeekOpen-weight reasoning, cheap
bfl/flux-2-klein-9bBlack Forest LabsImage generation

The full live catalog lives at /models. Hit GET /v1/models to list them programmatically.

How adapter translation works

Every provider has slightly different request / response conventions. The gateway translates transparently:

Fallbacks

If a provider is degraded or returns a retryable error, we fail over to a pre-configured sibling model for the same family (e.g. anthropic/claude-sonnet-4.5 anthropic/claude-sonnet-4). The response sets x-aig-served-by so you can see which model actually answered. Disable fallbacks per request with "fallbacks": false.