Every endpoint below speaks the wire format you already use. If your code talks to OpenAI today, changing the base URL and the key is the whole migration — the SDK, the request bodies and the response shapes stay as they are.
Where a provider has its own native format worth using directly, that format is served too rather than flattened into the OpenAI one. Anthropic's Messages API is available at /v1/messages, and Gemini's generateContent lives under /v1beta, both unchanged from the upstream spec.
What is available
| Area | Entry point | Notes |
|---|---|---|
Chat | POST /v1/chat/completions | Also Responses, Claude native, Gemini native |
Text completion | POST /v1/completions | Legacy prompt-in, text-out |
Embeddings | POST /v1/embeddings | OpenAI and Gemini formats |
Reranking | POST /v1/rerank | Document scoring against a query |
Moderation | POST /v1/moderations | Policy classification |
Images | POST /v1/images/generations | Generate, edit, and async tasks |
Audio | POST /v1/audio/speech | Speech, transcription, translation |
Video | POST /v1/videos | Async task-based generation |
Realtime | GET /v1/realtime | WebSocket, bidirectional audio |
Models | GET /v1/models | What this instance currently serves |
Keys, organizations and teams
A key can be funded two ways. A personal key draws on your own balance. An organization key draws on the organization wallet, which an owner tops up once and then allocates — so a team can share funding without sharing a credit card, and unspent budget can be pulled back.
Nothing in the model API changes between the two. The same request works with either kind of key; only the account that gets charged differs. See Organizations for how to set that up.
