> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ai-stats.phaseo.app/llms.txt
> Use this file to discover all available pages before exploring further.

# AI SDK (Vercel) Overview

> Use the official AI Stats provider with Vercel AI SDK v6.

Use `@ai-stats/ai-sdk-provider` to connect Vercel AI SDK v6 to AI Stats Gateway.

## Install packages

```bash theme={null}
npm install @ai-stats/ai-sdk-provider ai@^6
```

## Quick start

```typescript theme={null}
import { aiStats } from "@ai-stats/ai-sdk-provider";
import { generateText } from "ai";

const result = await generateText({
  model: aiStats("openai/gpt-5-nano"),
  prompt: "Summarize the benefits of vector search.",
});

console.log(result.text);
console.log(result.providerMetadata);
```

## Environment variables

Set one of the following:

* `AI_STATS_API_KEY` (recommended)
* `OPENAI_GATEWAY_API_KEY` (compatibility fallback)

Optional base URL:

* `AI_STATS_BASE_URL`
* `OPENAI_GATEWAY_URL` (compatibility fallback)

## Custom provider instance

```typescript theme={null}
import { createAIStats } from "@ai-stats/ai-sdk-provider";
import { generateText } from "ai";

const provider = createAIStats({
  apiKey: process.env.AI_STATS_API_KEY,
  baseURL: process.env.AI_STATS_BASE_URL ?? "https://api.phaseo.app/v1",
  headers: {
    "x-title": "My App",
    "http-referer": "https://example.com",
  },
});

const result = await generateText({
  model: provider("openai/gpt-5-nano"),
  prompt: "Hello from a custom provider instance.",
});

console.log(result.text);
console.log(result.providerMetadata);
```

## What this reference covers

* [Generate Text](/v1/sdk-reference/sdk/generate-text)
* [Stream Text](/v1/sdk-reference/sdk/stream-text)
* [Tool Calling](/v1/sdk-reference/sdk/tool-calling)
* [Structured Output](/v1/sdk-reference/sdk/structured-output)
* [Embeddings](/v1/sdk-reference/sdk/embeddings)
* [Images](/v1/sdk-reference/sdk/images)
* [Audio](/v1/sdk-reference/sdk/audio)
* [Model Discovery](/v1/sdk-reference/sdk/get-models)

## Streaming example

```typescript theme={null}
import { aiStats } from "@ai-stats/ai-sdk-provider";
import { streamText } from "ai";

const result = streamText({
  model: aiStats("openai/gpt-5-nano"),
  prompt: "Stream a short greeting.",
});

for await (const chunk of result.textStream) {
  process.stdout.write(chunk);
}

console.log(await result.providerMetadata);
```

## Notes

* Text, embeddings, image, speech, and transcription calls expose gateway routing metadata through `providerMetadata`.
* Audio currently uses the AI SDK experimental entry points: `experimental_transcribe(...)` and `experimental_generateSpeech(...)`.
