Skip to main content

Models API

List the models you can use in an agent, each with a copy-ready model id and per-1M-token pricing. This is the same catalog shown at octavus.ai/pricing/models and behind the MCP list_models tool, shaped for programmatic use - for example, building a model picker or comparing costs.

Public access

Unlike the rest of the API, this endpoint is public - no authentication required. It is rate-limited per client IP (exceeding the limit returns 429) and cached, so treat it as reference data rather than a high-frequency call.

List Models

text
GET /api/models

Query Parameters

ParameterTypeRequiredDescription
providerstringNoFilter to one provider slug, e.g. anthropic or deepseek.

Response

json
{
  "models": [
    {
      "id": "anthropic/claude-sonnet-4-5",
      "name": "Anthropic: Claude Sonnet 4.5",
      "provider": "anthropic",
      "routing": "direct",
      "contextLength": 200000,
      "pricing": {
        "inputPer1M": "3.00",
        "outputPer1M": "15.00",
        "cacheReadPer1M": "0.30",
        "reasoningPer1M": null,
        "bandwidthPer1M": "0.50",
        "tiers": []
      }
    },
    {
      "id": "openrouter/deepseek/deepseek-chat",
      "name": "DeepSeek: DeepSeek V3",
      "provider": "deepseek",
      "routing": "openrouter",
      "contextLength": 163840,
      "pricing": {
        "inputPer1M": "0.32",
        "outputPer1M": "0.89",
        "cacheReadPer1M": null,
        "reasoningPer1M": null,
        "bandwidthPer1M": "0.10",
        "tiers": []
      }
    }
  ]
}
FieldTypeDescription
idstringCopy-ready model id for an agent's model field.
namestringHuman-readable display name.
providerstringUnderlying provider slug (e.g. anthropic, deepseek).
routingstringdirect for the direct providers (OpenAI, Anthropic, Google, xAI), or openrouter otherwise.
contextLengthnumber | nullMaximum context window in tokens, when known.
pricing.inputPer1MstringInput token price per 1M tokens, in USD.
pricing.outputPer1MstringOutput token price per 1M tokens, in USD.
pricing.cacheReadPer1Mstring | nullCached input read price per 1M tokens, when the model supports prompt caching.
pricing.reasoningPer1Mstring | nullReasoning output price per 1M tokens, when priced separately.
pricing.bandwidthPer1MstringPlatform bandwidth fee per 1M tokens.
pricing.tiersarrayContext-length pricing tiers (empty for flat pricing). Each entry has a minInputTokens threshold and its own inputPer1M / outputPer1M.

Prices are strings to preserve decimal precision. Models outside the direct providers are routed through OpenRouter and carry the openrouter/ prefix - copy the id exactly as shown.

Example

bash
# All models
curl https://octavus.ai/api/models

# Filter to one provider
curl "https://octavus.ai/api/models?provider=anthropic"