Vercel AI SDK
Use OP Inference from the Vercel AI SDK.
Use the AI SDK's OpenAI-compatible provider with our base URL.
npm install ai @ai-sdk/openai-compatibleimport { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { generateText, streamText } from "ai";
const op = createOpenAICompatible({
name: "opinference",
baseURL: "https://api.opinference.com/v1",
apiKey: process.env.OP_API_KEY,
includeUsage: true,
});
const { text } = await generateText({
model: op("openai/gpt-oss-120b"),
prompt: "Say hello.",
});
console.log(text);
const result = streamText({
model: op("openai/gpt-oss-120b"),
prompt: "Count to three.",
});
for await (const part of result.textStream) {
process.stdout.write(part);
}
process.stdout.write("\n");includeUsage: true asks for token usage on streamed replies.
Use @ai-sdk/openai-compatible, not @ai-sdk/openai. The @ai-sdk/openai provider calls the
Responses API by default, which is not served here.
Our own fields
Pass provider and op through providerOptions, under the name you gave the provider:
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { generateText } from "ai";
const op = createOpenAICompatible({
name: "opinference",
baseURL: "https://api.opinference.com/v1",
apiKey: process.env.OP_API_KEY,
});
const { text } = await generateText({
model: op("openai/gpt-oss-120b"),
prompt: "Say hello.",
providerOptions: {
opinference: { provider: { sort: "price" }, op: { retention: "zdr" } },
},
});
console.log(text);