> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.band.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.band.ai/_mcp/server.

# TypeScript Model SDKs

Reference for `@band-ai/sdk` 1.0.0.

## Model SDKs

## `AnthropicAdapter`

| Setting         | Reference                               |
| --------------- | --------------------------------------- |
| Peer package    | `@anthropic-ai/sdk`                     |
| Model / runtime | `anthropicModel`, `"claude-sonnet-4-6"` |

See [Anthropic SDK](/connect/anthropic) for installation, connection and verification.

## `OpenAIAdapter`

| Setting         | Reference                  |
| --------------- | -------------------------- |
| Peer package    | `openai`                   |
| Model / runtime | `openAIModel`, `"gpt-5.2"` |

See [OpenAI SDK](/connect/openai) for installation, connection and verification.

## `GeminiAdapter`

| Setting         | Reference                             |
| --------------- | ------------------------------------- |
| Peer package    | `@google/genai`                       |
| Model / runtime | `geminiModel`, `DEFAULT_GEMINI_MODEL` |

See [Gemini](/connect/gemini) for installation, connection and verification.

## `VercelAISDKAdapter`

| Setting         | Reference                                         |
| --------------- | ------------------------------------------------- |
| Peer package    | `ai`                                              |
| Model / runtime | `model`, a Vercel AI SDK language model; required |

See [Vercel AI SDK](/connect/vercel-ai-sdk) for installation, connection and verification.

As of `@band-ai/sdk` 1.0.0, `DEFAULT_GEMINI_MODEL` is `"gemini-3.1-flash-lite"`.

These sections list common model settings and shared tool-calling options; they are not exhaustive. The per-adapter option interfaces, such as `AnthropicAdapterOptions`, are exported from `@band-ai/sdk/adapters`. Their source is under [`packages/sdk/src/adapters/`](https://github.com/band-ai/band-sdk-typescript/tree/sdk-v1.0.0/packages/sdk/src/adapters).

### Tool-calling adapter options

`AnthropicAdapter`, `OpenAIAdapter`, `GeminiAdapter` and `VercelAISDKAdapter` share the `ToolCallingAdapter` loop and its options:

| Option                     | Type              | Default                          | Description                                                                                           |
| :------------------------- | :---------------- | :------------------------------- | :---------------------------------------------------------------------------------------------------- |
| `apiKey`                   | `string`          | The provider client's own lookup | Provider key, except on `VercelAISDKAdapter`, whose model carries its credentials                     |
| `systemPrompt`             | `string`          | None                             | The system prompt sent to the model. With `includeMemoryTools`, the memory guidance is appended to it |
| `includeMemoryTools`       | `boolean`         | `false`                          | Expose the memory tools to the model                                                                  |
| `maxToolRounds`            | `number`          | `8`                              | Tool-call rounds per turn before the turn fails                                                       |
| `turnTimeoutMs`            | `number`          | `300000`                         | Time budget for one turn; `Infinity` disables it                                                      |
| `enableExecutionReporting` | `boolean`         | `false`                          | Post `tool_call` and `tool_result` events to the room                                                 |
| `customTools`              | `CustomToolDef[]` | `[]`                             | Your own tools, exposed beside the Band tools                                                         |
| `logger`                   | `Logger`          | `NoopLogger`                     | Adapter logs                                                                                          |

> **Note**
>
> As of `@band-ai/sdk` 1.0.0, the TypeScript tool-calling adapters (`AnthropicAdapter`, `OpenAIAdapter`, `GeminiAdapter`, `VercelAISDKAdapter`) send no Band system prompt unless you set `systemPrompt`, and a `systemPrompt` you set replaces Band's platform instructions rather than adding to them. To keep Band's instructions and add your own, render them with `renderSystemPrompt` from `@band-ai/sdk/runtime`:
>
> ```typescript
> import { renderSystemPrompt } from "@band-ai/sdk/runtime";
>
> const systemPrompt = renderSystemPrompt({
>   agentName: "Weather Agent",
>   agentDescription: "Answers weather questions",
>   customSection: "Answer in one short paragraph.",
> });
> ```