Самая частая ошибка при подключении Anthropic выглядит так: человек берёт рабочий клиент, написанный под OpenAI, меняет в нём ключ и адрес — и получает отказ авторизации при абсолютно верном ключе. Причина не в ключе. У Anthropic другой протокол: другой путь, другой заголовок авторизации, обязательный заголовок версии, системная инструкция не там, где её ждут, и ответ другой формы.
Эта статья про то, как получить ключ и как не потратить час на первый запрос. Начнём с различий, потому что именно они ломают подключение.
#Пять различий, из-за которых ломается первый вызов
Таблица составлена по документации вендора и проверялась 26 августа 2026 года. Смотрите на правую колонку: там перечислено ровно то, что нужно поменять в клиенте.
| Что | Как в OpenAI-стиле | Как у Anthropic |
|---|---|---|
| Путь | /v1/chat/completions |
/v1/messages |
| Авторизация | Authorization: Bearer ... |
x-api-key: ... |
| Версия API | не требуется | заголовок anthropic-version обязателен |
| Системная инструкция | сообщение с ролью system |
отдельное поле system в теле запроса |
| Лимит вывода | необязателен | max_tokens обязателен |
Есть и шестое, менее очевидное: ответ приходит другой формы. Клиент, читающий текст из choices[0].message.content, у Anthropic получит пустоту, потому что текст лежит в списке блоков контента. Причина ошибки не видна в логе как ошибка — приложение просто показывает пустой ответ.
Почему так сложилось и где вообще заканчивается совместимость между API разных вендоров, разобрано в отдельном материале про OpenAI-совместимый API.
#Что понадобится
- Аккаунт в консоли вендора и подтверждённая почта.
- Зарубежная карта для пополнения баланса: бесплатного уровня у API, по проверке на 26 августа 2026 года, нет.
- Доступ к домену вендора. Из России, по той же проверке, он требовал средств доступа; это условие меняется, проверяйте на день чтения. Легальные обходные пути — российские шлюзы, они разобраны в статье про то, как платить за API из России.
#Шаг 1. Получить ключ
- Откройте
console.anthropic.comи зарегистрируйтесь. - Пополните баланс организации — без положительного баланса запросы будут отклоняться.
- Перейдите в раздел API Keys.
- Создайте ключ и дайте ему имя приложения, а не «test».
- Скопируйте строку вида
sk-ant-.... Показывается один раз.
#Шаг 2. Сделать первый запрос вручную
Проверять подключение стоит вне приложения — так вы отделяете проблему ключа от проблемы клиента. Команда целиком, подставьте свой ключ и актуальное имя модели из документации вендора:
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: sk-ant-ВАШ_КЛЮЧ" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "ИМЯ_МОДЕЛИ_ИЗ_ДОКУМЕНТАЦИИ",
"max_tokens": 64,
"system": "Отвечай одним предложением по-русски.",
"messages": [
{"role": "user", "content": "Скажи «связь есть»."}
]
}'
В Windows PowerShell тот же запрос удобнее собрать через Invoke-RestMethod, потому что одинарные кавычки там работают иначе:
$headers = @{
"x-api-key" = "sk-ant-ВАШ_КЛЮЧ"
"anthropic-version" = "2023-06-01"
"content-type" = "application/json"
}
$body = '{"model":"ИМЯ_МОДЕЛИ","max_tokens":64,"messages":[{"role":"user","content":"ping"}]}'
Invoke-RestMethod -Uri https://api.anthropic.com/v1/messages -Method Post -Headers $headers -Body $body
Имя модели намеренно оставлено плейсхолдером: названия версий меняются несколько раз в год, и статья с зашитым именем перестаёт работать раньше, чем устаревает всё остальное в ней. Актуальный список — на странице моделей в документации вендора.
#Шаг 3. Подключить в Persona
На странице /settings/llm выберите пункт Anthropic (Claude), вставьте ключ sk-ant-... и сохраните. Различия формата, описанные выше, приложение берёт на себя — вписывать адрес и заголовки не требуется.
Одна деталь, о которой стоит знать заранее: ключ участника хранится в базе Persona в открытом виде. Отсюда практическое правило — выпускайте для приложения отдельный ключ с ограниченным лимитом трат, а не тот, которым пользуетесь везде.
#Проверка результата
- Команда выше вернула JSON с текстовым блоком — значит ключ, баланс и доступ к домену в порядке.
- Чат в приложении ответил — значит клиент собрал запрос правильно.
- В консоли вендора в разделе использования появилась запись за сегодня — значит расходуется именно ваш ключ.
Если первый пункт прошёл, а второй нет, проблема в клиенте, а не в ключе, и искать надо в пяти различиях из таблицы.
#Что может пойти не так
- Отказ авторизации при верном ключе. Почти всегда — заголовок
Authorizationвместоx-api-key, либо забытыйanthropic-version. - Ошибка о недостающем поле.
max_tokensобязателен. Клиенты, писавшиеся под другой API, его не отправляют. - Ответ приходит пустым. Клиент читает текст не оттуда: у Anthropic содержимое лежит списком блоков, а не одной строкой.
- Ошибка о порядке сообщений. Диалог должен начинаться с сообщения пользователя и чередовать роли. Два сообщения пользователя подряд отклоняются.
- Ошибка с изображением. Картинки передаются блоком с указанием типа данных, а не ссылкой в поле, привычном по другому API. Если задача — разбирать изображения регулярно и без облака, сравните этот путь с локальным: обзор в материале про vision-модели локально.
- Домен не открывается. Региональная доступность. Второй ключ у другого провайдера решает это лучше, чем любые настройки.
#Частые вопросы
#Есть ли у Anthropic бесплатный уровень для API?
На момент проверки 26 августа 2026 года — нет: для работы нужен пополненный баланс. Бесплатный доступ к чат-интерфейсу вендора и доступ к API — это разные продукты, и первый не даёт ключа для второго. Условия могут измениться, проверяйте страницу тарифов.
#Можно ли использовать клиент, написанный под OpenAI, без переделки?
На момент написания у вендора существовал слой совместимости, позволяющий обращаться привычным способом с частью ограничений, — но полагаться на него как на полную замену не стоит: совместимость покрывает базовый вызов и не покрывает всех возможностей. Проверяйте раздел совместимости в документации на день чтения.
#Почему запрос требует заголовок с версией?
Так вендор фиксирует контракт: приложение явно объявляет, по какой редакции протокола оно разговаривает, и изменения в API не ломают старые клиенты молча. Для вас это означает одну лишнюю строку в заголовках и предсказуемое поведение через год.
#Как платить, если российская карта не проходит?
Прямая оплата российской картой на платёжной форме вендора, по проверке на 26 августа 2026 года, недоступна. Практичный путь — российский шлюз-агрегатор, который принимает рубли и внутри обращается к тому же вендору. Цена этого удобства — дополнительное звено, которое видит ваши запросы.
#Какие задачи имеет смысл отдавать именно этой модели?
Традиционно сильные стороны — длинные документы, аккуратное следование развёрнутой инструкции и работа с кодом. Для короткого бытового чата разница с более дешёвыми провайдерами обычно не окупается. Разбор по сценариям — в материале про то, какой провайдер под какую задачу, а общий обзор — в статье о том, где взять ключ к языковой модели.