OP Inference

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-compatible
import { 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);

On this page