Vercel AI SDK (gateway)

Route Vercel AI SDK calls through the Respan gateway to use 250+ 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
1import { createOpenAI } from "@ai-sdk/openai";
2import { generateText } from "ai";
3
4const respan = createOpenAI({
5 apiKey: process.env.RESPAN_API_KEY!,
6 baseURL: "https://api.respan.ai/api",
7});
8
9const result = await generateText({
10 model: respan.chat("gpt-5.5"),
11 prompt: "Tell me a joke about AI",
12});
13console.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.

1import { createOpenAI } from "@ai-sdk/openai";
2import { generateText } from "ai";
3
4const respan = createOpenAI({
5 apiKey: process.env.RESPAN_API_KEY!,
6 baseURL: "https://api.respan.ai/api",
7});
8
9const r1 = await generateText({ model: respan.chat("gpt-5.5"), prompt: "Hello" });
10const r2 = await generateText({ model: respan.chat("anthropic/claude-sonnet-4-5-20250929"), prompt: "Hello" });
11const r3 = await generateText({ model: respan.chat("gemini/gemini-2.5-flash"), prompt: "Hello" });
12
13console.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.