| Endpoint | Auth | Returns | Use when |
|---|---|---|---|
GET /api/models | None (public) | Every model in the catalog, across all modalities, whether or not it’s currently serving. Includes per-token pricing, capability tags, and health_status. | You want one public call that surfaces the whole catalog with capabilities and pricing. |
GET /v1/models | Bearer key | Every live model across all modalities in OpenAI’s Model shape, each with a category field. Only models currently serving appear. | Your client speaks OpenAI’s /v1/models, or you want just what’s callable right now. |
/v1/models is the OpenAI-shaped list of what’s live right now; each entry’s category tells you which endpoint to call (see Category → endpoint). /api/models is the full catalog with capability tags, health, and per-token pricing.
Calling /api/models
No auth, no headers, no params. Returns a JSON array of model objects.
category— the model’s modality/family:text,code,reasoning,multimodal,vision,embedding,image,audio,video. Determines which endpoint to call (see Category → endpoint).supports[]— capability tags likechat,tool_use,streaming,vision,reasoning,embeddings. This is what to filter on when you care about a specific capability.model_name— the value to pass asmodelin subsequent API calls. (slugis the dashboard URL form;model_nameis the API form.)input_per_mtok/output_per_mtok— per-token pricing (USD per million tokens).
Category → endpoint
A model’scategory (on both /api/models and /v1/models) tells you which endpoint it’s called through:
category | Call with |
|---|---|
text, code, reasoning, multimodal, vision | POST /v1/chat/completions |
embedding | POST /v1/embeddings |
image | POST /v1/images/generations |
audio (text-to-speech) | POST /v1/audio/speech |
audio (speech-to-text) | POST /v1/audio/transcriptions |
video | POST /v1/videos/generations |
audio, the supports[] tags disambiguate direction: a model carrying audio_transcription is speech-to-text; otherwise it’s text-to-speech.
Per-capability discovery flow
Each subsection: how to find the models, then the endpoint to call once you have amodel_name.
Chat & text
POST /v1/chat/completions. See streaming and tool use for the common patterns.
Vision (image input on chat)
POST /v1/chat/completions and pass image parts in the content array. The full pattern lives in the vision guide.
Embeddings
POST /v1/embeddings. See the embeddings guide.
See also
- Model catalog — human-readable table of every hosted model, with capabilities and pricing.
- OpenAI compatibility — what’s in and out of
/v1/*, including the scope of/v1/models. - Billing — how per-token pricing maps to charges.