Models
Cloakray serves text, image, audio, video, embedding and search models from every major lab through one API. Every model has one canonical ID, and that ID is the only thing you change to switch models.
Browse the catalogue
The models page lists every model with its context window, capabilities, supported endpoints and the price you pay. Filter by what you need — vision, tools, reasoning, image output — and copy the ID from the model's page.
Model IDs
Use the ID exactly as the catalogue shows it: claude-opus-4-8, gpt-5.5, gemini-3.6-flash, text-embedding-3-small.
- IDs are case-sensitive, and some contain a
/or a.. Send them unchanged. - Some models also answer to an alias, listed under
aliasesin the model list. A response always reports the canonical ID you asked for or the one the alias resolves to. - There is no provider prefix to add. The same ID works for every key, every endpoint the model supports, and every SDK.
List the models from the API
GET /v1/models returns the catalogue in the shape OpenAI clients expect, so tools that fill a model picker from the API find one. Listing is free.
curl https://api.cloakray.com/v1/models \
-H "Authorization: Bearer $CLOAKRAY_API_KEY"
{
"object": "list",
"data": [
{
"id": "claude-opus-4-8",
"object": "model",
"owned_by": "anthropic",
"name": "Claude Opus 4.8",
"context_length": 1000000,
"max_output_tokens": 128000,
"input_modalities": ["text", "image"],
"output_modalities": ["text"],
"capabilities": { "vision": true, "tools": true, "reasoning": true, "streaming": true, "json_mode": false },
"endpoints": ["/v1/chat/completions", "/v1/messages", "/v1/responses"],
"availability": "available",
"aliases": [],
"pricing": { "input": 5, "output": 25, "cached_input": 0.5 }
}
]
}
| Field | What it tells you |
|---|---|
context_length, max_output_tokens | The largest prompt and the longest reply the model takes, in tokens. |
input_modalities, output_modalities | What the model accepts (text, image, audio, document) and what it produces. |
capabilities | Whether the model takes images, calls tools, reasons before answering, streams, and supports JSON mode. |
endpoints | The paths you can call this model on right now. |
declared_endpoints, api_availability | Every interface the model has, and the status of each one: available, unavailable, or unverified. |
pricing | List price in USD per 1M tokens (input, output, cached_input), plus meters for models billed per image, second, character, page or request. |
Prices in the list are list prices, before any discount on your account. See pricing for what you pay.
Which endpoint a model answers on
Text models answer on all three text interfaces: Chat Completions, Responses and Messages. Other models have their own endpoint — images on /v1/images/generations, embeddings on /v1/embeddings, and so on. A model sent to an endpoint it does not support gets a 404 that names the endpoint.
Always check endpoints rather than assuming: one model being available on one interface does not make it available on every other one.
Filters
| Query | Effect |
|---|---|
exclude_deprecated=true | Leaves out models that are being retired. |
Unsupported filters are rejected with a 400 rather than ignored.
Picking a model
- Coding agents and long sessions — a model with
toolsand a largecontext_length. Check itscached_inputprice: agents resend most of their context every turn. - High-volume, simple tasks — classification, extraction or routing do well on small, fast models at a fraction of the price.
- Hard problems — a model with
reasoning, and a higher reasoning effort. - Structured data — a model with
json_mode, used with structured outputs.
Because every model shares one key, one balance and one request shape, trying another model is a one-line change.