Vercel AI SDK
Vercel AI SDK can call OdiRouter with the OpenAI-compatible provider package. Keep the API key on the server.
Requirements
Section titled “Requirements”| Requirement | Value |
|---|---|
| Packages | ai and @ai-sdk/openai-compatible |
| Base URL | https://www.odirouter.ai/v1 |
| API Key | ODIROUTER_API_KEY server environment variable |
| Model | An OdiRouter LLM model ID |
Install
Section titled “Install”npm install ai @ai-sdk/openai-compatibleConfigure Provider
Section titled “Configure Provider”import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
export const odirouter = createOpenAICompatible({ name: "odirouter", apiKey: process.env.ODIROUTER_API_KEY, baseURL: "https://www.odirouter.ai/v1",});Generate Text
Section titled “Generate Text”import { generateText } from "ai";import { odirouter } from "./odirouter";
const result = await generateText({ model: odirouter("gpt-5.5"), prompt: "Write a one-sentence integration test.",});
console.log(result.text);Stream Text
Section titled “Stream Text”import { streamText } from "ai";import { odirouter } from "./odirouter";
const result = streamText({ model: odirouter("gpt-5.5"), prompt: "Stream three short implementation notes.",});
for await (const textPart of result.textStream) { process.stdout.write(textPart);}Troubleshooting
Section titled “Troubleshooting”| Symptom | Fix |
|---|---|
| API key appears in client bundle | Move the provider and generation call to server-side code |
| Model not found | Use an OdiRouter model ID from /models |
| Requests fail with 401 | Confirm ODIROUTER_API_KEY exists in the server runtime |
| Tooling expects OpenAI package | Use @ai-sdk/openai-compatible, not the provider hardcoded for OpenAI only |