Developer Documentation

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 idContextMax outputPrice (CAD / 1M)reasoning_effort
ossington-5
Ossington 5
256K32,768$1.50 / $3.00Supported. "none" turns thinking off.
rosedale-1
Rosedale One
Up to 1M32,768$2.50 / $6.00Supported. "none" is served as "low".
ossington-4-1
Ossington 4.1
256K32,768$2.50 / $6.00Supported.
ossington-4
Ossington 4
256K32,768$2.00 / $5.00Supported.
tofino-3
Tofino 3
256K16,384$0.60 / $2.00Accepted 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.

AliasServed by
gpt-4ossington-4
gpt-4oossington-4
gpt-4o-minitofino-3
gpt-3.5-turbotofino-3

How retirements work

  1. Announcement. A retirement is announced about 30 days ahead, by email to registered developers and on this page, with the date and the replacement.
  2. Until the date. Every response on the retiring id, including through its aliases, carries an _augure.deprecation block naming the date and the replacement.
  3. From the date. A developer key that names the retired id gets HTTP 400 with code model_retired. Switching is a one-line change to the model field. Aliases are served by the replacement and their responses carry _augure.retired.
Before the date: _augure.deprecation
"_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 …"
  }
}
From the date: 400 model_retired
{
  "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"
  }
}
Alias after the date: _augure.retired
"_augure": {
  "retired": {
    "model": "tofino-2.5",
    "replacement": "tofino-3",
    "retired_at": "2026-09-19"
  }
}

Retired and retiring models

Model idStatusAnnouncedRetirement dateReplacement
ossington-3Retiring2026-09-152026-10-15rosedale-1
tofino-2.5Retired2026-08-202026-09-19tofino-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.