AI Setu Docs
Concepts

Models

The model catalog and how AI Setu names and versions models.

Every request names a model in the model field. AI Setu resolves that name to an upstream provider using its model catalog — a list of canonical model ids, each mapped to an ordered list of provider candidates.

curl https://gateway.aisetu.ai/v1/chat/completions \
  -H "Authorization: Bearer $AI_SETU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

The response's X-AI-Setu-Provider header tells you which provider actually served the request — useful when a bare model id could resolve to more than one candidate. See Routing for the full resolution order.

Three ways to name a model

FormExampleMeaning
Bare model idclaude-sonnet-4-5Catalog lookup — AI Setu picks a provider (see Routing)
<provider>/<model>anthropic/claude-sonnet-4-5Hard override — that exact provider serves, or the request fails
@<slug>/<model>@my-openai/gpt-4o-miniRoutes through one specific BYOK Connection you configured (see BYOK)

Canonical ids are decoupled from vendor ids

The model id you send is not always the exact id the upstream vendor expects. AI Setu maps a stable canonical id to whatever the provider currently calls it — for example, canonical claude-sonnet-4-5 resolves to Anthropic's claude-sonnet-4-5-20250929 on the Anthropic adapter, to anthropic.claude-sonnet-4-5-20250929-v1:0 on Bedrock, and to claude-sonnet-4-5@20250929 on Vertex. When a vendor renames or re-dates a model, only that mapping changes — your code, which references the canonical id, doesn't need to change.

This also means one canonical model can have more than one provider candidate — a prerequisite for cross-provider failover.

Some example models

These are illustrative, not an exhaustive list — see Finding available models below for the current, authoritative set.

ProviderPrefixExample model
OpenAIopenai/openai/gpt-4o-mini
Anthropicanthropic/anthropic/claude-haiku-4-5
Google Geminigemini/gemini/gemini-2.5-flash
AWS Bedrockbedrock/bedrock/us.anthropic.claude-haiku-4-5-20251001-v1:0
Google Vertex AIvertex/vertex/gemini-2.5-pro

Vertex is one provider that serves two model families off a single credential, distinguished by the model's publisher: Gemini-on-Vertex (vertex/gemini-2.5-pro) and Claude-on-Vertex (vertex/claude-sonnet-4-5@20250929).

Finding available models

There is no GET /v1/models endpoint on the gateway. The authoritative, per-workspace view of which models are available and which provider would serve each one lives in the console, under Settings → Providers & routing — it shows every catalog model, its ordered provider candidates, and which one currently wins for your workspace (accounting for your enabled BYOK connections and any precedence you've set).

If you need to confirm programmatically which provider served a specific call, read the X-AI-Setu-Provider response header rather than trying to predict it ahead of time.

Embeddings

POST /v1/embeddings runs the same routing pipeline as chat completions, but only the OpenAI and Gemini adapters implement an embeddings method today — routing an embeddings model to Anthropic, Bedrock, or Vertex is not supported and surfaces as a dispatch error.

curl https://gateway.aisetu.ai/v1/embeddings \
  -H "Authorization: Bearer $AI_SETU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "openai/text-embedding-3-small", "input": "hello world"}'

On this page