Responses API.
Use the other APIs when you need embeddings, audio, moderation, image generation, or when you need to keep an existing client format.
Comparison
| API | Type | Use it when | Returns |
|---|---|---|---|
Responses API | Primary | You are building a new LLM app with text generation, streaming, tools, structured outputs, or multimodal input | response object with typed output[] items |
Embeddings API | Primary | You need vectors for retrieval, ranking, clustering, or semantic search | embeddings array |
Audio API | Primary | You need speech synthesis, transcription, or translation | binary audio or {text} depending on the operation |
Moderations API | Primary | You need text or image safety classification | moderation results |
Images API | Primary | You need direct image generation or image edits | image generation results |
Chat Completions API | Compatibility | You already have OpenAI-style messages[] code and want to keep that request format | chat completion |
Messages API | Compatibility | You already have Anthropic-style content blocks or agent tooling and want to keep that format | Anthropic message blocks |
Quick choices
- New text, multimodal, tool, or agent flows: use Responses API.
- Retrieval, ranking, or semantic search: use Embeddings API.
- TTS, transcription, or translation: use Audio API.
- Text or image safety checks: use Moderations API.
- Direct image generation or image editing: use Images API.
- Existing OpenAI
messages[]integration: use Chat Completions API. - Existing Anthropic-style integration: use Messages API.
Decision Shortcuts
Responses API
Start here for new LLM apps and most feature-complete integrations.
Embeddings API
Use this for vector generation and retrieval pipelines.
Audio API
Use this for speech synthesis, transcription, and translation.
Moderations API
Use this for safety checks over text and images.
Compatibility Layers
Use a compatibility API only when keeping the existing client format matters more than starting from the cleanest default.- Chat Completions API keeps the OpenAI chat request format.
- Messages API keeps the Anthropic Messages request format.
Responses API is usually the simpler choice.