Before you start
You need a funded Gloo AI Studio account and an API key. If you don’t have them yet, follow steps 1 to 4 of the Developer Quickstart.Move in four steps
1
Point your client at Gloo
Set the base URL to
https://platform.ai.gloo.com/ai/v2/direct and use your Gloo API key as the key. The rest of the client call stays the same, with one exception for stateful Responses in step 3.2
Use a Gloo model ID
Gloo model IDs look like
gloo-<provider>-<model>, for example gloo-anthropic-claude-opus-5.5. Find the ID for the model you use today on Supported Models or with GET /platform/v2/models, which also returns each model’s context window, capabilities and rates.3
Keep your call shape
Both OpenAI formats work on direct endpoints, so you can keep the one you already use.
- Chat Completions (
client.chat.completions.create) goes to/ai/v2/direct/chat/completions. See Direct Completions. - Responses (
client.responses.create) goes to/ai/v2/direct/responses. See Direct Responses. Direct Responses does not supportprevious_response_id. If your app chains a conversation that way, send the full history ininputon each request instead. - Embeddings (
client.embeddings.create) uses the same base URL. See Embeddings.
4
Test, then switch over
Run a few real requests through Gloo before you move traffic. Read the model and
usage in each response, and watch spend in API Usage. Keep your old base URL and key behind a setting so you can switch back in a deploy.Using a framework?
LangChain and CrewAI work by setting theopenai_api_base parameter to the Gloo base URL and passing your API key. AutoGen’s OpenAIChatCompletionClient takes base_url instead, and for models it does not recognize it also needs model_info; see AutoGen’s migration guide. Editors and agents that accept a custom OpenAI-compatible provider work the same way. See Libraries & SDKs.
What you get on top
You can stay on direct, or add more when you need it.- Provider failover. If the provider serving a model is failing, Gloo can send your request to another provider that serves the same model. See Provider Failover.
- Retired models keep working. When a provider retires a model, requests are routed to its replacement. See Model Lifecycle.
- Guardrails and values alignment. Switch to a guarded endpoint for output moderation and
traditionsettings. Guarded endpoints add a 6.5% platform fee. - Your own content. Grounded Responses answer from your library. This needs Data Engine access.
Parameters a model can’t use
On Direct Completions and Direct Responses, a sampling parameter the model can’t take (such astemperature on some reasoning models) is dropped. The request still succeeds, and the parameter is listed in ignored_params in the response body, or by name in the X-Ignored-Params header on a stream. The guarded and grounded Completions and Responses endpoints report it the same way; Embeddings does not. A value the provider rejects still returns 400 with 1001 / INVALID_REQUEST. Check for both while you test. See Errors for error handling.

