Models
Models
Model ids use the form family/model, for example cbcn/glm-5.3 or cb/claude-opus-5. The prefix identifies which upstream family serves the model. Call GET /v1/models for the live catalogue, or browse Dashboard → Models & pricing with prices attached.
curl https://atmorouter.dev/v1/models \ -H "Authorization: Bearer ar-xxxxxxxxxxxx"
{
"object": "list",
"data": [
{
"id": "cbcn/glm-5.3",
"object": "model",
"owned_by": "atmorouter",
"family": "CodeBuddy CN",
"pricing": { "input": 0.42, "output": 2.1, "cached_input": 0.042 },
"context_length": 200000,
"max_output_tokens": 8192,
"modality": "text",
"supports_cache": true
}
]
}Pricing fields
pricing.input and pricing.output are USD per million tokens and are billed separately. Output is normally several times more expensive than input, so a chatty completion costs more than a long prompt. pricing.cached_input is the cache-hit input rate (10% of input on cache-capable models).
Prompt caching
Models with supports_cache: true can reuse a repeated prompt prefix on second-and-later turns of the same conversation. Cached input tokens are reported in the usage block and bill at 10% of the input rate, so you can see the effect. Caching is a property of the upstream model, not something you enable per request.
Catalogue changes
The catalogue and its prices are refreshed continuously from live upstream capacity, so models can appear, disappear, or change price. Read /v1/models at startup rather than hardcoding a list, and handle HTTP 404 for a model that is no longer available.
pricing block can be used today.