Models and lifecycle
The model ids you can call, what each one costs, and what happens when a model is retired.
Current models
These are the models listed by GET /v1/models. Prices are in Canadian dollars per million tokens (input / output). Pass model: "auto" to let the gateway pick a model for each request.
| Model id | Context | Max output | Price (CAD / 1M) | reasoning_effort |
|---|---|---|---|---|
ossington-5Ossington 5 | 256K | 32,768 | $1.50 / $3.00 | Supported. "none" turns thinking off. |
rosedale-1Rosedale One | Up to 1M | 32,768 | $2.50 / $6.00 | Supported. "none" is served as "low". |
ossington-4-1Ossington 4.1 | 256K | 32,768 | $2.50 / $6.00 | Supported. |
ossington-4Ossington 4 | 256K | 32,768 | $2.00 / $5.00 | Supported. |
tofino-3Tofino 3 | 256K | 16,384 | $0.60 / $2.00 | Accepted and ignored. Thinking is always off. |
Context is the input window. Max output is the per-request completion cap for max_tokens. Reasoning models return their thinking separately as reasoning_content. Details, including rosedale-1 large-input guidance, are in the API reference.
Where requests run: inference runs on Canadian infrastructure first, with a disclosed failover to vetted EU partners under zero data retention, never the US. A response served by failover says so in its _augure block. tofino-3 never fails over outside Canada, and keys with a Canada-only residency policy fail rather than leave Canada.
OpenAI compatibility aliases
For drop-in compatibility with OpenAI client libraries, these ids are accepted and served by the Augure model shown. An alias is a compatibility surface, not a promise of a particular backing model: when a model retires, its aliases move to the replacement.
| Alias | Served by |
|---|---|
| gpt-4 | ossington-4 |
| gpt-4o | ossington-4 |
| gpt-4o-mini | tofino-3 |
| gpt-3.5-turbo | tofino-3 |
How retirements work
- Announcement. A retirement is announced about 30 days ahead, by email to registered developers and on this page, with the date and the replacement.
- Until the date. Every response on the retiring id, including through its aliases, carries an
_augure.deprecationblock naming the date and the replacement. - From the date. A developer key that names the retired id gets HTTP
400with codemodel_retired. Switching is a one-line change to themodelfield. Aliases are served by the replacement and their responses carry_augure.retired.
"_augure": {
"deprecation": {
"model": "ossington-3",
"retires_at": "2026-10-15",
"replacement": "rosedale-1",
"message": "ossington-3 retires on 2026-10-15. Switch to rosedale-1 …"
}
}{
"error": {
"message": "Model 'tofino-2.5' was retired on 2026-09-19. Use 'tofino-3' instead (a one-line change).",
"type": "invalid_request_error",
"param": "model",
"code": "model_retired"
}
}"_augure": {
"retired": {
"model": "tofino-2.5",
"replacement": "tofino-3",
"retired_at": "2026-09-19"
}
}Retired and retiring models
| Model id | Status | Announced | Retirement date | Replacement |
|---|---|---|---|---|
| ossington-3 | Retiring | 2026-09-15 | 2026-10-15 | rosedale-1 |
| tofino-2.5 | Retired | 2026-08-20 | 2026-09-19 | tofino-3 |
Moving from tofino-2.5 to tofino-3: the output cap is 16,384 tokens, so split longer single completions or use ossington-5. Moving from ossington-3 to rosedale-1: pass reasoning_effort: "low" for fast answers. See also the changelog.