Skip to main content
Mesh API routes to models across multiple upstream providers. Models are identified by a brand/model-name slug, the same format used in all inference requests. The brand is the organization that trained the model, not the provider that serves it.
Looking for the full catalog? Models & Pricing lists every model Mesh can route to today, with live pricing and context lengths.

What a model is

Mesh acts as a router, forwarding your standardized API calls to an expansive list of underlying foundational models. A model is a distinct neural network trained by an AI organization (OpenAI, Google, Anthropic, Meta, and others). Each model handles a different maximum context length — the number of tokens it can process in a single request. Fast, small models may have smaller limits but respond almost instantly; large models can handle whole documents and are optimized for reasoning, at higher latency and cost. When choosing one, weigh three things:
  • Cost — do you need high intelligence, or just rapid categorization?
  • Latency — lighter models offer much lower time-to-first-token.
  • Context length — passing an entire codebase or large PDF needs a long-context model.

Model ID format

Examples: There are no provider-specific IDs such as bedrock/... or vertex/...: one ID covers every provider that serves the model, and routing picks the provider. See Provider routing.

Listing available models

The response is a JSON array of enabled models with pricing:
The pricing object carries a field per billing dimension the model supports — cache read/write, long context, batch, audio, per-image, and a flat request_usd where one applies. Dimensions the model does not bill for are null. See Pricing for how the units work.

Query parameters

Additional endpoints

The catalog is also readable without a key, at list price: GET /v1/public/models, GET /v1/public/models/{model_id}, GET /v1/public/models/{model_id}/providers, and GET /v1/public/models/search, rate-limited per IP. GET /v1/public/brands returns brand and provider display names and logos.

Choosing a model

By task type

By cost

Free models (is_free: true) cost $0 for both prompt and completion tokens. They are rare: the moderation model openai/omni-moderation-latest is currently the only one. Check GET /v1/models?free=true rather than planning around them. Paid model pricing varies widely — a frontier reasoning model may cost 100× more per token than a lightweight model. Check pricing.prompt_usd_per_1m and pricing.completion_usd_per_1m in the API response for live pricing.

Let the gateway decide

Set "model": "auto" and the gateway classifies your prompt and picks an appropriate model automatically. See Auto Routing.

Model capabilities

supports_system_prompt defaults to true. Check the relevant flag before sending a request that depends on a specific capability — an unsupported feature is generally rejected by the upstream rather than silently downgraded.

Provider routing

A model ID is not tied to one upstream. Many models are served by several providers; anthropic/claude-sonnet-4.5, for example, runs on Anthropic, AWS Bedrock, and others. Resilient routing can fall back between them when one fails. GET /v1/models and GET /v1/models/{model_id} show the price a bare model ID bills at; GET /v1/models/{model_id}/providers lists every provider that can serve the model, alphabetically, each at its own price. Which provider is the default is not published, so do not depend on a specific one. Provider slugs (openai, bedrock, vertex, azure_foundry, fireworks, together, and others) appear in the provider filter above, in /providers rows, and in BYOK; GET /v1/public/brands lists them all with display names.
The model registry is live — models can be enabled or disabled by the platform team. Always use GET /v1/models at runtime rather than hardcoding a static model list.