Skip to navigation

Vercel AI SDK (gateway)

Route Vercel AI SDK calls through the Respan gateway to use 1000+ models from different providers. Only your RESPAN_API_KEY is needed — no separate provider keys required.

Setup

1

Install AI SDK and a provider

npm install ai @ai-sdk/openai
2

Set environment variables

export RESPAN_API_KEY="YOUR_RESPAN_API_KEY"

No provider API key is needed — the Respan gateway handles provider authentication.

3

Point your provider at Respan

This is the provider-neutral setup. It uses the Respan Chat Completions route and can call OpenAI, Anthropic, Gemini, and other chat models.

TypeScript
import { createOpenAI } from "@ai-sdk/openai";
import { generateText } from "ai";
const respan = createOpenAI({
apiKey: process.env.RESPAN_API_KEY!,
baseURL: "https://api.respan.ai/api",
});
const result = await generateText({
model: respan.chat("gpt-5.5"),
prompt: "Tell me a joke about AI",
});
console.log(result.text);

With AI SDK 7, call respan.chat(...) explicitly. Calling respan(...) selects the Responses API, while this key-only gateway setup uses /chat/completions.

Switch models

The OpenAI-compatible setup is provider-neutral. Change the model ID while keeping the same client. Provider prefixes make cross-provider routing explicit.

import { createOpenAI } from "@ai-sdk/openai";
import { generateText } from "ai";
const respan = createOpenAI({
apiKey: process.env.RESPAN_API_KEY!,
baseURL: "https://api.respan.ai/api",
});
const r1 = await generateText({ model: respan.chat("gpt-5.5"), prompt: "Hello" });
const r2 = await generateText({ model: respan.chat("anthropic/claude-sonnet-4-5-20250929"), prompt: "Hello" });
const r3 = await generateText({ model: respan.chat("gemini/gemini-3.5-flash"), prompt: "Hello" });
console.log(r1.text, r2.text, r3.text);

The Anthropic- and Gemini-native providers stay on their provider-specific routes and use unprefixed model IDs.

See the full model list.