Claude API из России, без VPN
Ключ к моделям Claude с оплатой картой РФ в рублях. Формат Anthropic Messages API: официальные SDK, Claude Code и расширения для IDE работают без переделки, меняются только адрес и ключ.
import anthropic
client = anthropic.Anthropic(
base_url="https://api.aprium.ru",
api_key="ваш_ключ",
)
reply = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Привет! Чем ты можешь помочь?"}],
)
print(reply.content[-1].text)- Адрес API
https://api.aprium.ru- Формат
- Anthropic Messagesподходят официальные SDK
- Модели
- 4 модели Claudeодин ключ на все
- Оплата
- Картой РФ в рубляхбез подписки, за токены
Модели Claude в API
Модель выбирается полем model в запросе. Основная — Claude Sonnet 5.5; на странице каждой модели — задачи, расход и советы.
claude-haiku-4-5-20251001вход $0,30 Claude Sonnet 5.5основная модель Claude для кода и текстовclaude-sonnet-5-5вход $0,60 Claude Opus 5.5модель Claude для сложного кода и анализаclaude-opus-5-5вход $1,20 Claude Fable 5.1самая мощная модель Claudeclaude-fable-5-1вход $3,79 Подключение Claude API
Примеры на Claude Sonnet 5.5: для другой модели замените имя в поле model. Выберите задачу слева и язык над кодом.
- Адрес API
https://api.aprium.ru- Модель
claude-sonnet-5-5- Заголовки
x-api-keyиanthropic-version: 2023-06-01
Подключение ключа
# pip install anthropic
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["APRIUM_API_KEY"], # ключ: ai.aprium.ru/#keys
base_url="https://api.aprium.ru",
)Перед запуском: export APRIUM_API_KEY="ваш_ключ". Ключ: ai.aprium.ru/#keys → «Создать ключ».
// npm install @anthropic-ai/sdk
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.APRIUM_API_KEY, // ключ: ai.aprium.ru/#keys
baseURL: "https://api.aprium.ru",
});Перед запуском: export APRIUM_API_KEY="ваш_ключ".
export APRIUM_API_KEY="ваш_ключ"
# В каждом запросе: адрес api.aprium.ru и два заголовка
curl https://api.aprium.ru/v1/messages \
-H "x-api-key: $APRIUM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model": "claude-sonnet-5-5", "max_tokens": 64,
"messages": [{"role": "user", "content": "Проверка связи"}]}'Если ключ верный, придёт ответ модели. Ошибка 401 значит, что ключ не указан или указан неверно.
Запрос с задачей
message = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=2048,
messages=[
{"role": "user", "content": "Составь план статьи про налоговый вычет за обучение"},
],
)
print(message.content.at(-1).text)const message = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 2048,
messages: [
{ role: "user", content: "Составь план статьи про налоговый вычет за обучение" },
],
});
console.log(message.content.at(-1).text);curl https://api.aprium.ru/v1/messages \
-H "x-api-key: $APRIUM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 2048,
"messages": [
{"role": "user", "content": "Составь план статьи про налоговый вычет за обучение"}
]
}'Получение результата
print(message.content.at(-1).text) # текст ответа
print(message.stop_reason) # end_turn — готово, max_tokens — упёрся в лимит
print(message.usage) # input_tokens и output_tokens: по ним считается цена
# Ответ по частям, как в чате
with client.messages.stream(
model="claude-sonnet-5-5",
max_tokens=2048,
messages=[{"role": "user", "content": "Расскажи про осень"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)console.log(message.content.at(-1).text); // текст ответа
console.log(message.stop_reason); // end_turn — готово, max_tokens — упёрся в лимит
console.log(message.usage); // input_tokens и output_tokens: по ним считается цена
// Ответ по частям, как в чате
const stream = client.messages.stream({
model: "claude-sonnet-5-5",
max_tokens: 2048,
messages: [{ role: "user", content: "Расскажи про осень" }],
});
stream.on("text", (text) => process.stdout.write(text));
await stream.finalMessage();# Только текст ответа (нужен jq)
curl -s https://api.aprium.ru/v1/messages \
-H "x-api-key: $APRIUM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model": "claude-sonnet-5-5", "max_tokens": 1024,
"messages": [{"role": "user", "content": "Привет!"}]}' \
| jq -r '.content[-1].text'
# По частям: "stream": true и -N, чтобы curl не копил вывод
curl -N https://api.aprium.ru/v1/messages \
-H "x-api-key: $APRIUM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model": "claude-sonnet-5-5", "max_tokens": 1024, "stream": true,
"messages": [{"role": "user", "content": "Расскажи про осень"}]}'{
"id": "msg_01...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-5-5",
"content": [
{ "type": "text", "text": "План статьи: 1. Кто может получить вычет..." }
],
"stop_reason": "end_turn",
"usage": { "input_tokens": 24, "output_tokens": 412 }
}Формат совпадает с Anthropic Messages API.
Параметры генерации
message = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=4096, # предел длины ответа
system="Отвечай по делу, без вступлений.",
output_config={"effort": "medium"}, # low, medium, high, xhigh, max
stop_sequences=["---"], # остановиться на этой строке
messages=[{"role": "user", "content": "Сократи текст до трёх пунктов: ..."}],
)По умолчанию effort = high. temperature и top_p не поддерживаются, не указывайте их.
const message = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 4096, // предел длины ответа
system: "Отвечай по делу, без вступлений.",
output_config: { effort: "medium" }, // low, medium, high, xhigh, max
stop_sequences: ["---"], // остановиться на этой строке
messages: [{ role: "user", content: "Сократи текст до трёх пунктов: ..." }],
});По умолчанию effort = high. temperature и top_p не поддерживаются, не указывайте их.
curl https://api.aprium.ru/v1/messages \
-H "x-api-key: $APRIUM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 4096,
"system": "Отвечай по делу, без вступлений.",
"output_config": {"effort": "medium"},
"stop_sequences": ["---"],
"messages": [{"role": "user", "content": "Сократи текст до трёх пунктов: ..."}]
}'По умолчанию effort = high. temperature и top_p не поддерживаются, не указывайте их.
Загрузка файлов
import base64
with open("dogovor.pdf", "rb") as f:
pdf = base64.standard_b64encode(f.read()).decode()
message = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=2048,
messages=[{
"role": "user",
"content": [
{"type": "document",
"source": {"type": "base64", "media_type": "application/pdf", "data": pdf}},
{"type": "text", "text": "Выпиши сроки и штрафы из договора"},
],
}],
)Картинка передаётся так же: type image и media_type image/png или image/jpeg.
import { readFileSync } from "node:fs";
const pdf = readFileSync("dogovor.pdf").toString("base64");
const message = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 2048,
messages: [{
role: "user",
content: [
{ type: "document",
source: { type: "base64", media_type: "application/pdf", data: pdf } },
{ type: "text", text: "Выпиши сроки и штрафы из договора" },
],
}],
});Картинка передаётся так же: type image и media_type image/png или image/jpeg.
PDF=$(base64 < dogovor.pdf | tr -d '\n')
curl https://api.aprium.ru/v1/messages \
-H "x-api-key: $APRIUM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 2048,
"messages": [{"role": "user", "content": [
{"type": "document",
"source": {"type": "base64", "media_type": "application/pdf", "data": "'"$PDF"'"}},
{"type": "text", "text": "Выпиши сроки и штрафы из договора"}
]}]
}'Для больших файлов сохраните тело запроса в request.json и отправьте через -d @request.json.
Агенты и редакторы кода
Claude в привычном инструменте: укажите адрес aprium и ключ, остальное работает как с Anthropic напрямую. В примерах — Claude Sonnet 5.5.
Claude Code
Официальный агент Anthropic для терминала
7 шаговСоздайте ключ: Аккаунт → Ключи → «Создать ключ». Задайте имя, например
claude-code, и скопируйте ключ.Установите Node.js 18 или новее с nodejs.org, затем Claude Code:
npm install -g @anthropic-ai/claude-codeПроверка:
claude --version.macOS и Linux: добавьте переменные в
~/.zshrcили~/.bashrcи перечитайте файл (source ~/.zshrc):export ANTHROPIC_BASE_URL="https://api.aprium.ru" export ANTHROPIC_AUTH_TOKEN="ваш_ключ"Windows PowerShell, для текущей сессии:
$env:ANTHROPIC_BASE_URL = "https://api.aprium.ru" $env:ANTHROPIC_AUTH_TOKEN = "ваш_ключ"Чтобы не вводить каждый раз: «Свойства системы → Переменные среды».
Или только для одного проекта, без общих переменных: файл
.claude/settings.jsonв папке проекта.{ "env": { "ANTHROPIC_BASE_URL": "https://api.aprium.ru", "ANTHROPIC_AUTH_TOKEN": "ваш_ключ" } }Закрепите модели. Claude Code сам выбирает модель под задачу: сильную, основную или быструю. Укажите имена, которые есть в aprium, тогда фоновые запросы не упадут с ошибкой после очередного релиза Anthropic:
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-5-5" export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5-5" export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-4-5-20251001"Эти же строки можно добавить в блок
envфайла.claude/settings.json. Перейти на Claude Sonnet 5.5 в сессии:/model claude-sonnet-5-5.- Проверка
Запустите
claudeв папке проекта и задайте простой вопрос, например «какие файлы в проекте?». Пришёл ответ, значит всё подключено.claude
OpenCode
Открытый агент для терминала
5 шаговСоздайте ключ: Аккаунт → Ключи → «Создать ключ». Задайте имя, например
opencode, и скопируйте ключ.Установите OpenCode:
npm install -g opencode-aiДобавьте провайдера в
opencode.json: в корне проекта или глобально в~/.config/opencode/opencode.json.{ "$schema": "https://opencode.ai/config.json", "provider": { "aprium": { "npm": "@ai-sdk/anthropic", "name": "aprium", "options": { "baseURL": "https://api.aprium.ru/v1", "apiKey": "{env:APRIUM_API_KEY}" }, "models": { "claude-haiku-4-5-20251001": { "name": "Claude Haiku 4.5" }, "claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" }, "claude-opus-5-5": { "name": "Claude Opus 5.5" }, "claude-fable-5-1": { "name": "Claude Fable 5.1" } } } } }Лишние модели из блока
modelsможно убрать.Сохраните ключ в переменной окружения. Чтобы не вводить каждый раз, добавьте строку в
~/.zshrc:export APRIUM_API_KEY="ваш_ключ"- Проверка
Запустите
opencode, введите/modelsи выберите модель в группе aprium. Задайте вопрос: ответ пришёл, значит всё работает.
Cline и Roo Code
Агенты для VS Code
6 шаговСоздайте ключ: Аккаунт → Ключи → «Создать ключ». Задайте имя, например
cline, и скопируйте ключ.Установите Cline или Roo Code: в VS Code нажмите ⌘⇧X (Windows и Linux: Ctrl+Shift+X), найдите расширение по названию и нажмите Install.
Откройте панель расширения в боковой колонке и нажмите шестерёнку ⚙ в её шапке.
В списке API Provider выберите Anthropic и включите «Use custom base URL».
Заполните поля:
Base URL: https://api.aprium.ru API Key: ваш_ключ Model: claude-sonnet-5-5- Проверка
Сохраните настройки, откройте чат расширения и задайте простой вопрос, например «какие здесь файлы?». Ответ начал приходить, значит всё работает.
401 — неверный ключ. 404 — неверное имя модели в поле Model: сверьтесь с таблицей моделей.
Kilo Code
Агент для VS Code и JetBrains
6 шаговСоздайте ключ: Аккаунт → Ключи → «Создать ключ». Задайте имя, например
kilo, и скопируйте ключ.Установите Kilo Code. VS Code: ⌘⇧X (Windows и Linux: Ctrl+Shift+X), найдите «Kilo Code», нажмите Install. JetBrains: Settings → Plugins → Marketplace → «Kilo Code».
Откройте панель Kilo Code и нажмите шестерёнку ⚙ в правом верхнем углу.
В списке API Provider выберите Anthropic и включите «Use custom base URL».
Заполните поля:
Base URL: https://api.aprium.ru API Key: ваш_ключ Model: claude-sonnet-5-5- Проверка
Сохраните настройки, откройте чат и задайте простой вопрос. Ответ начал приходить, значит всё работает.
401 — неверный ключ. 404 — неверное имя модели в поле Model: сверьтесь с таблицей моделей.
Zed
Редактор кода со встроенным агентом
4 шагаСоздайте ключ: Аккаунт → Ключи → «Создать ключ». Задайте имя, например
zed, и скопируйте ключ.Откройте настройки (⌘, на macOS, Ctrl+, на Windows и Linux) и добавьте адрес и модель для провайдера Anthropic:
{ "language_models": { "anthropic": { "api_url": "https://api.aprium.ru", "available_models": [ { "name": "claude-sonnet-5-5", "display_name": "Claude Sonnet 5.5", "max_tokens": 200000 } ] } } }Откройте панель агента → настройки → Anthropic и вставьте ключ. Или задайте его переменной окружения
ANTHROPIC_API_KEYдо запуска Zed.- Проверка
Выберите Claude Sonnet 5.5 в списке моделей панели агента и задайте вопрос.
Continue
Ассистент для VS Code и JetBrains
4 шагаСоздайте ключ: Аккаунт → Ключи → «Создать ключ». Задайте имя, например
continue, и скопируйте ключ.Установите Continue из маркетплейса VS Code или JetBrains.
Откройте
~/.continue/config.yamlи добавьте модели. Полеrolesраспределяет работу: основная модель ведёт чат и правки, быстрая подсказывает код на лету.name: aprium version: 1.0.0 schema: v1 models: - name: Claude Sonnet 5.5 provider: anthropic model: claude-sonnet-5-5 apiBase: https://api.aprium.ru/v1/ apiKey: ваш_ключ roles: [chat, edit, apply] - name: Claude Haiku 4.5 provider: anthropic model: claude-haiku-4-5-20251001 apiBase: https://api.aprium.ru/v1/ apiKey: ваш_ключ roles: [autocomplete]Провайдер
anthropic, а запросы идут в aprium: шлюз задаёт полеapiBase.- Проверка
Выберите Claude Sonnet 5.5 в списке моделей панели Continue и задайте вопрос.
Ключ во всех примерах: ваш_ключ. Подставьте свой из Аккаунт → Ключи.
Перенос кода с api.anthropic.com
Если код уже работает с Anthropic напрямую, переделывать его не нужно: меняются три строки.
Адрес
Замените https://api.anthropic.com на
https://api.aprium.ruВ SDK это base_url (Python) или baseURL (Node.js), в Claude Code — ANTHROPIC_BASE_URL.
Ключ
Вместо ключа Anthropic подставьте ключ aprium
x-api-keyЗаголовок и формат те же. Ключ создаётся в Аккаунте → Ключи, один на все модели.
Модель
Проверьте имя модели в коде
claude-sonnet-5-5Работают текущие версии Claude. Старые имена вроде claude-3-5-sonnet вернут ошибку 404 — замените их по таблице выше.
Справка
POST https://api.aprium.ru/v1/messages. Параметры тела запроса, разница между моделями и ответы с ошибкой.
Параметры
modelстрокаобязательный- Имя модели:
claude-sonnet-5-5,claude-opus-5-5,claude-fable-5-1илиclaude-haiku-4-5-20251001 max_tokensчислообязательный- Предел длины ответа в токенах, вместе с рассуждением. Для ответов длиннее 16 тыс. токенов включайте
stream messagesмассивобязательный- Диалог: сообщения с ролями user и assistant. Текст, картинки и PDF — блоками content
systemстрока- Инструкция для модели: роль, тон, формат ответа
output_config.effortlow … max- Глубина рассуждения у Sonnet 5.5, Opus 5.5 и Fable 5.1. По умолчанию
high, у Opus 5.5 —medium thinkingобъект- Рассуждение у Haiku 4.5:
{"type": "enabled", "budget_tokens": 2048}. У моделей 5.x его не задают: они решают сами, а Opus и Fable рассуждают всегда temperatureчисло от 0 до 1- Только Haiku 4.5: меньше — стабильнее, больше — разнообразнее. Модели 5.x его не поддерживают, Sonnet 5.5 отвечает ошибкой 400
stop_sequencesмассив строк- Строки, на которых модель останавливается
streamtrue или false- Получать ответ частями по мере генерации
Ошибки
- 400
- Неверный запросПроверьте model, max_tokens и messages. У моделей 5.x уберите
temperature,top_pиbudget_tokens - 401
- Нет доступаКлюч не указан или указан неверно. Ключ передаётся в заголовке
x-api-key - 402
- Закончился балансПополните баланс в Аккаунте, ключ менять не нужно
- 404
- Нет такой моделиПроверьте имя модели по таблице моделей. Старые версии, например
claude-3-5-sonnet, не работают - 429
- Слишком частоПодождите и повторите запрос. Официальные SDK повторяют его сами
- 529
- Модель перегруженаВременная нагрузка у Anthropic. Повторите запрос через несколько секунд
Вопросы о Claude API
Ключ, оплата и подключение коротко.
Как получить API-ключ Claude в России?
Зарегистрируйтесь в aprium, пополните баланс картой РФ, откройте Аккаунт → Ключи и нажмите «Создать ключ». Ключ работает со всеми моделями Claude, VPN и зарубежная карта не нужны.
Это ключ Anthropic?
Нет, это ключ aprium. Запросы с ним идут на https://api.aprium.ru, а aprium передаёт их моделям Claude. Формат запросов тот же, что у Anthropic Messages API, поэтому код и инструменты менять не нужно — только адрес и ключ.
Сколько стоит Claude API?
Оплата за токены, без подписки. Вход стоит от $0,30 (≈ 25,22 ₽) за 1 млн токенов у Claude Haiku 4.5 до $3,79 (≈ 319 ₽) у Claude Fable 5.1. Все цены и калькулятор — на странице «Модели и цены».
Как оплатить?
Картой Мир, Visa или Mastercard в рублях. Подписки нет: с баланса списывается стоимость каждого запроса. Подробнее на странице «Оплата и тарифы».
Подойдёт официальный SDK Anthropic?
Да. Укажите адрес https://api.aprium.ru и ключ aprium, остальной код не меняется. Так же подключаются Claude Code, Cline, OpenCode и другие инструменты с настройкой адреса Anthropic.
Один ключ работает со всеми моделями?
Да. Один ключ aprium подходит для Claude, GPT и Gemini: модель выбирается полем model в каждом запросе. Можно завести несколько ключей для разных проектов, расход по каждому виден отдельно.
Что будет, когда выйдет новая версия модели?
Добавим её в aprium и обновим страницы моделей и цены. Имя модели для API указано на странице каждой модели; старые версии через aprium не работают, их имена нужно заменить.
Подключите Claude API
Создайте ключ и подключите Claude к своему коду, агенту или редактору.