> Краткое содержание: OpenAI SDK, Anthropic SDK, Claude Code и Cursor поверх AI API VCPay.
> Это Markdown-версия конкретной страницы. Для контекста за её пределами (правила API, полный перечень методов, авторизация) ОБЯЗАТЕЛЬНО открой [llms.txt](https://vcpay.ru/ai/docs/llms.txt) перед ответом — это сэкономит токены и предотвратит неполный ответ.


# Совместимость и инструменты

API понимает два формата запросов. Выбирайте тот, под который уже написан ваш код.

| Формат | Путь | Авторизация |
|---|---|---|
| OpenAI | [`POST /v1/chat/completions`](https://vcpay.ru/ai/docs/api/inference/chat-completions) | заголовок `Authorization: Bearer ВАШ_КЛЮЧ` |
| Anthropic | [`POST /v1/messages`](https://vcpay.ru/ai/docs/api/inference/messages) | заголовки `x-api-key: ВАШ_КЛЮЧ` и `anthropic-version: 2023-06-01` |

## Python, пакет `openai`

```python
from openai import OpenAI

client = OpenAI(api_key="ВАШ_КЛЮЧ", base_url="https://llm.vcpay.ru/v1")
response = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Привет"}],
)
```

## Node.js, пакет `openai`

```js
import OpenAI from 'openai'

const client = new OpenAI({ apiKey: 'ВАШ_КЛЮЧ', baseURL: 'https://llm.vcpay.ru/v1' })
const response = await client.chat.completions.create({
  model: 'claude-sonnet-5',
  messages: [{ role: 'user', content: 'Привет' }],
})
```

## Python, пакет `anthropic`

```python
from anthropic import Anthropic

client = Anthropic(api_key="ВАШ_КЛЮЧ", base_url="https://llm.vcpay.ru")
message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=256,
    messages=[{"role": "user", "content": "Привет"}],
)
```

> У пакета `anthropic` в `base_url` указывается **адрес без** `/v1` — путь `/v1/messages` пакет добавляет сам. У пакета `openai` — наоборот, адрес **с** `/v1`.


## Claude Code

Claude Code ходит в Anthropic API, поэтому переключается переменными окружения:

```bash
export ANTHROPIC_BASE_URL=https://llm.vcpay.ru
export ANTHROPIC_AUTH_TOKEN=ВАШ_КЛЮЧ
claude
```

## Cursor и другие редакторы

Редакторы, умеющие «OpenAI-compatible endpoint», настраиваются одинаково: в настройках модели указывается адрес `https://llm.vcpay.ru/v1`, ключ — ваш, имя модели — из [списка](https://vcpay.ru/ai/docs/api/models).

## Потоковый ответ

Работает в обоих форматах: добавьте `"stream": true` в тело запроса. Ответ приходит событиями SSE по мере генерации.
