← Integrations

Use Augure with the Vercel AI SDK

Use Augure's Canadian, OpenAI-compatible API as a provider in the Vercel AI SDK with createOpenAICompatible and a custom baseURL.

Updated 2026-10-26 · Configuration shown as documented by the tool; not yet verified end to end by Augure. · Markdown version

You get Augure as a provider for generateText, streamText and the AI SDK UI hooks, with inference on Canadian infrastructure.

Prerequisites

Configure

Create a provider with createOpenAICompatible and pass model ids as strings.

import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { generateText } from "ai";

const augure = createOpenAICompatible({
  name: "augure",
  baseURL: "https://api.augureai.ca/v1",
  apiKey: process.env.AUGURE_API_KEY,
});

const { text } = await generateText({
  model: augure("tofino-3"),
  prompt: "Say hello in one short sentence.",
  maxOutputTokens: 64,
});
console.log(text);

Streaming to a terminal or a route handler:

import { streamText } from "ai";

const result = streamText({
  model: augure("rosedale-1"),
  prompt: "Hello",
});
for await (const part of result.textStream) process.stdout.write(part);
// In a Next.js route: return result.toUIMessageStreamResponse();

Tool calling uses the standard tools option with tool({ description, inputSchema, execute }), and generateObject / Output.object use response_format, which Augure supports.

If you already use @ai-sdk/openai, createOpenAI({ baseURL: "https://api.augureai.ca/v1", apiKey }) also works, but call openai.chat("ossington-5"): the default openai("...") model constructor uses OpenAI's Responses API, which Augure does not expose.

Pick a model

Model When to use
ossington-5 Flagship reasoning. 256K context, 32,768 max output. Default for hard tasks.
rosedale-1 Premium reasoning, up to 1M context on paid plans, Canadian inference. Long documents, agent loops.
tofino-3 Fast everyday model, 256K context, 16,384 max output, no thinking. Chat, extraction, classification.

augure("auto") lets the gateway pick. On ossington-5, reasoning_effort: "none" turns thinking off and is the fastest setting for mechanical tasks; low, medium and high are accepted on reasoning models; tofino-3 ignores it. In the AI SDK, pass it as providerOptions: { augure: { reasoningEffort: "none" } }, keyed by the name you gave createOpenAICompatible. If your SDK version rejects the value, use tofino-3, which never thinks. Full list: /docs/models.

Verify it works

Check residency with one direct call:

curl -s https://api.augureai.ca/v1/chat/completions \
  -H "Authorization: Bearer $AUGURE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"tofino-3","max_tokens":64,"messages":[{"role":"user","content":"Reply with the single word OK."}]}'

The JSON ends with an _augure block, for example "_augure": {"gateway_region": "ca-montreal-1", "inference_region": "ca-on-toronto", "request_id": "..."}. inference_region tells you where the model ran. Inference is on Canadian infrastructure first, with disclosed failover to vetted EU partners under zero data retention, never the US.

Notes

  • Option names follow AI SDK 5: maxOutputTokens and inputSchema. AI SDK 4 used maxTokens and parameters.
  • The AI SDK sends stream_options.include_usage itself; result.usage resolves after the stream ends.
  • Reasoning text from thinking models arrives in reasoning_content; the openai-compatible provider exposes it as reasoning parts in recent versions, otherwise it is dropped and only text is returned.
  • OpenAI model aliases are accepted: gpt-4o maps to ossington-4, gpt-4o-mini to tofino-3.

See also