Skip to content

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 aliases in 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 }
    }
  ]
}
FieldWhat it tells you
context_length, max_output_tokensThe largest prompt and the longest reply the model takes, in tokens.
input_modalities, output_modalitiesWhat the model accepts (text, image, audio, document) and what it produces.
capabilitiesWhether the model takes images, calls tools, reasons before answering, streams, and supports JSON mode.
endpointsThe paths you can call this model on right now.
declared_endpoints, api_availabilityEvery interface the model has, and the status of each one: available, unavailable, or unverified.
pricingList 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

QueryEffect
exclude_deprecated=trueLeaves 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 tools and a large context_length. Check its cached_input price: 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.