Models
One catalog, one id per model, one price list. The table on this page is read from the same source the API serves, so what you see here is what a request gets.
Model ids#
Ids are namespaced by vendor, anthropic/claude-sonnet-5, openai/gpt-6-astra, zhipu/glm-5.3-derisked, and are used exactly as listed, including case. A request naming an id that is not in the catalog, or not in your key’s allowlist, is refused before anything is billed.
Ids are stable. When a vendor renames a model upstream, the catalog id you integrated against keeps working. On the rare occasion we rename a catalog id ourselves, the old one becomes an alias and keeps resolving to the same model, so nothing you have deployed has to change. Each entry lists its retired ids in aliases, and a request that uses one is answered normally, with X-Ahura-Model and your usage record carrying the current id. zhipu/glm-5.3-uncensored is an alias of zhipu/glm-5.3-derisked for this reason.
List models#
/v1/modelsReturns every active model your key can call: the public catalog plus any models private to your organization, such as your own fine-tuned adapters. The shape is OpenAI’s list shape with extra fields per entry.
curl https://api.ahurasense.com/v1/models \
-H "Authorization: Bearer $AHURA_API_KEY"{
"object": "list",
"data": [
{
"id": "anthropic/claude-haiku-4.5",
"object": "model",
"created": 0,
"owned_by": "ahura",
"display_name": "Claude Haiku 4.5",
"description": "Fast tier. 200K context. High-volume light workloads.",
"modality": "chat",
"capabilities": {
"tools": true,
"vision": false,
"json_mode": true,
"streaming": true,
"max_output": 64000,
"context_window": 200000
},
"pricing": {
"input_cents_per_mtok": 100,
"cached_cents_per_mtok": 10,
"output_cents_per_mtok": 500
},
"prices": {
"currency": "USD",
"unit": "per_million_tokens",
"list": { "input": 1, "cached_input": 0.1, "output": 5 },
"discount_percent": 0,
"input": 1,
"cached_input": 0.1,
"output": 5,
"discount": null,
"effective_input": 1,
"effective_cached_input": 0.1,
"effective_output": 5
},
"off_peak": null,
"featured": true,
"aliases": []
}
]
}| Field | Meaning |
|---|---|
id | The catalog id to send as model. |
owned_by | ahura for the public catalog, ahura-private for models only your organization can see. |
modality | chat today. Other modalities appear here as they are added. |
capabilities | What the model supports. context_window and max_output are in tokens. |
pricing | Cents per million tokens, for input, cached input and output. Pricing & usage. |
prices | The same rates in dollars per million tokens, plus the discounted rates when a model has a discount window. Described below. |
off_peak | The raw discount window behind prices.discount; null means the price applies at all hours. |
featured | A model we recommend starting with. |
aliases | Retired ids that still resolve to this model. Usually empty. |
Prices in the response#
pricing is the raw catalog block, in cents per million tokens. prices is the same money in the unit people quote, dollars per million tokens, with the discounted rates worked out for you:
| Field | Meaning |
|---|---|
list | The vendor’s own list price for the model, as published on OpenRouter, in the same three fields. null when we have not set one. |
discount_percent | The standing discount off list. input and output below are already net of it; 0 means they equal the list price. |
input | Dollars per million prompt tokens. What you pay. |
output | Dollars per million generated tokens, reasoning tokens included. What you pay. |
cached_input | Dollars per million prompt tokens served from cache. A model that publishes no cached rate bills cached tokens at the input rate, and this field says so rather than reading null. |
discount | null unless the model has a discount window. Otherwise the percent, the window in UTC, whether it is open at the moment of the request, and the three discounted rates. |
effective_input, effective_cached_input, effective_output | What a request sent right now is billed at: the discounted rates inside an open window, the list rates outside one. |
A rate the catalog does not publish is null, never 0. Prices are what you pay; what a serving backend charges us is not in this response and is not published anywhere.
Hosted models#
Most catalog models are served by partner backends. Some run on AhuraSense GPU infrastructure; the table marks them hosted, and responses from them carry X-Ahura-Routing: managed. Today that is the derisked GLM 5.3 build: the same open weights, served without the vendor’s refusal tuning.
| Model | Id | Context | Notes |
|---|---|---|---|
| Z.AI / GLM 5.3 Derisked | zhipu/glm-5.3-derisked | 1,000,000 | The full GLM 5.3, served on AhuraSense GPU capacity and through a dedicated derisked backend. Honours the reasoning ladder: none, minimal and low answer without thinking, the default thinks briefly, max thinks most. Prompt-cache hits, when the backend reports them, bill at the cached rate. |
Things that differ for hosted models:
- Reasoning is under your control:
reasoning_effort, an exact thinking budget, or none at all. See Reasoning effort. - The gateway’s response cache does not apply to them; every request reaches the model.
- If every replica is starting up, the gateway returns
503 instance_warming_upwithRetry-After: 10. Retry, and the request goes through. zhipu/glm-5.3-deriskedis served partly on AhuraSense GPU capacity and partly through a dedicated derisked backend under contract to us, so that backend may receive the prompt; the same retention terms apply.
Catalog#
Prices are per million tokens. Context and max output are in tokens. Updated from the live catalog every few minutes.
The catalog could not be loaded right now. GET /v1/models always has the current list.
Something missing or wrong on this page? Tell us, and quote the page title.