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

# OpenAI SDK 接入 XRouter

> 在 OpenAI SDK 和 OpenAI 兼容客户端中配置 XRouter 的 base URL 和 API Key。

如果你的应用已经使用 OpenAI SDK，接入 XRouter 通常只需要改两处：

| 配置       | 值                            |
| -------- | ---------------------------- |
| Base URL | `https://api.xrouter.dev/v1` |
| API Key  | XRouter 控制台创建的 `sk-...`      |

<Info>
  如果控制台显示了不同 `server_address`，请把示例中的 `https://api.xrouter.dev` 替换成控制台地址，并保留 OpenAI SDK 需要的 `/v1` 后缀。
</Info>

## Python

安装 SDK：

```bash Terminal theme={null}
pip install openai
```

设置环境变量：

```bash Terminal theme={null}
export XROUTER_API_KEY="sk-your-api-key"
```

发起请求：

```python Python theme={null}
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.xrouter.dev/v1",
    api_key=os.environ["XROUTER_API_KEY"],
)

completion = client.chat.completions.create(
    model="your-model-id",
    messages=[
        {"role": "user", "content": "用一句话介绍 XRouter。"}
    ],
)

print(completion.choices[0].message.content)
```

## TypeScript

安装 SDK：

```bash Terminal theme={null}
npm install openai
```

设置环境变量：

```bash Terminal theme={null}
export XROUTER_API_KEY="sk-your-api-key"
```

发起请求：

```typescript TypeScript theme={null}
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.xrouter.dev/v1",
  apiKey: process.env.XROUTER_API_KEY,
});

const completion = await client.chat.completions.create({
  model: "your-model-id",
  messages: [
    { role: "user", content: "用一句话介绍 XRouter。" },
  ],
});

console.log(completion.choices[0].message.content);
```

## Responses API

如果你的客户端使用 OpenAI Responses API，端点是：

```text theme={null}
https://api.xrouter.dev/v1/responses
```

Python 示例：

```python Python theme={null}
from openai import OpenAI

client = OpenAI(
    base_url="https://api.xrouter.dev/v1",
    api_key="sk-your-api-key",
)

response = client.responses.create(
    model="your-model-id",
    input="用一句话介绍 XRouter。",
)

print(response.output_text)
```

## 常见问题

<AccordionGroup>
  <Accordion title="SDK 仍然请求 api.openai.com">
    检查是否正确设置了 `base_url` 或 `baseURL`。Python 使用 `base_url`，TypeScript 使用 `baseURL`。
  </Accordion>

  <Accordion title="返回模型不存在">
    先请求 `/v1/models` 或从控制台模型页复制模型 ID。不要直接套用其他平台的模型名。
  </Accordion>

  <Accordion title="返回 401">
    确认使用的是 XRouter API Key，并且请求头最终是 `Authorization: Bearer sk-...`。
  </Accordion>
</AccordionGroup>
