Введение
Claude Sonnet 5 — рабочая лошадка среди чат-моделей Anthropic, здесь она доступна как один совместимый с OpenAI эндпоинт /v1/chat/completions. За вызов она читает до 1 000 000 токенов и пишет до 64 000 в одном ответе, так что длинную сессию можно на каждой реплике отправлять целиком.
Уровень рассуждения — low, medium или high, по умолчанию medium. Сэмплирование модель задаёт сама, поэтому temperature и top_p не принимаются; сообщения — текст и изображения, а в том же вызове доступны до 128 инструментов и потоковая передача SSE.
Ключевые возможности и особенности
Память сессии на миллион токенов
Сотни исходных реплик укладываются в предел 1 000 000 токенов. Возвращайте их по порядку, и модель читает то, что каждый персонаж сказал на самом деле, — отсюда и берётся почти всё, что называют цельностью.
Больше рассуждения — только когда это окупается
low, medium и high задаются в одном теле запроса. Обычный обмен репликами хорошо идёт на low и возвращается быстрее; повышайте уровень, когда линии должны сойтись или в сцене несколько персонажей. Высокий уровень думает дольше и обычно даёт больше выходных токенов.
Тело запроса без ручек сэмплирования
Поскольку temperature и top_p задаёт модель, запрос, скопированный из старой интеграции, должен их не содержать: любой из них приводит к ошибке валидации, а не молча игнорируется, так что забытая настройка никогда не меняет поведение у вас за спиной.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
messages | Да | Упорядоченные реплики диалога. Содержимое — строка или массив частей text и |
max_tokens | Нет | Ограничивает ответ значением 64 000 — одна шестнадцатая окна чтения. По умолчанию 4 096. |
reasoning_effort | Нет | low, medium или high, по умолчанию medium. Обычные реплики — на low, а на решающую сцену поднимайте на ступень. |
stop | Нет | До 4 последовательностей — строкой или массивом. Ответ обрывается, как только модель пишет одну из них, а совпавший текст не возвращается. Не менее 1 символов · Не менее 1 элементов · Не более 4 элементов |
tools | Нет | До 128 описаний функций на запрос. Не более 128 элементов |
parallel_tool_calls | Нет | true или false, по умолчанию true: модель может запросить несколько вызовов инструментов за один ход. По умолчанию: |
tool_choice | Нет | auto, none, required или объект с именем конкретной функции. |
Стоимость
Ввод $1.90 / Вывод $9.50 за 1 млн токенов
Сценарии использования
Долгие разговоры с компаньоном
Держите текущий разговор в массиве messages от сессии к сессии. При миллионе токенов даже длинная история отношений помещается без слоя пересказов, а персонаж ссылается на настоящие реплики, а не на их пересказ.
Три-четыре голоса в одной сцене
Запишите манеру речи и жёсткие границы каждого персонажа в системное сообщение, а в пользовательских репликах оставьте только действие. Все прежние реплики остаются в окне, поэтому видно, кто что сказал, и голоса не перетекают друг в друга.
Кубики, инвентарь и лор как инструменты
Опишите функции для бросков кубиков, проверок инвентаря или справок по лору и позвольте tool_choice решать, когда их вызывать. Результаты приходят сообщениями tool в той же ветке, так что история разрешает действие, не выходя за пределы диалога.
Руководство по промптам и практические советы
low для обычных реплик, high для важной сцены
Обмену репликами обычно хватает low, и экономите вы при этом не только токены, но и время. Поднимайте уровень, когда линии должны сойтись; это одна строка в том же запросе.
Задайте max_tokens под нужную длину
Стандартных 4 096 хватает на полноценную сцену. Размышления расходуют тот же бюджет, поэтому при маленьком пределе он может уйти на рассуждение ещё до начала ответа; при высоком уровне оставляйте настоящий запас, вплоть до предела в 64 000.
Ограничения, которые нужно учесть
Части с видео и аудио отклоняются, завершить диалог сообщением assistant, чтобы заранее задать начало ответа, нельзя, и response_format нет: для машиночитаемого вывода вызывайте принудительно инструмент, параметры которого — ваша JSON-схема. Результаты инструментов делят окно с разговором, поэтому очень длинную сессию рано или поздно придётся подрезать.
Быстрый старт API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "anthropic/claude-sonnet-5/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Аутентификация, полная схема, опрос статуса и обработка ошибок описаны в справочнике API.














