Введение
Claude Sonnet 4.5 — чат-модель Anthropic, здесь она доступна как один совместимый с OpenAI эндпоинт /v1/chat/completions. Она читает до 198 000 токенов и отвечает объёмом до 64 000 — примерно три токена на входе на один на выходе, и это форма сцены или главы: карточка персонажа и переписка на входе, несколько тысяч слов прозы на выходе.
Запрос принимает temperature (от 0 до 1, по умолчанию 1) и top_p; настройки уровня рассуждения у этого эндпоинта нет. Сообщения — текст и изображения, в один вызов помещается до 128 схем инструментов, а при stream: true первая фраза приходит, пока остальное ещё пишется.
Ключевые возможности и особенности
Окно по размеру одной сюжетной арки
198 000 токенов вмещают карточку персонажа, правила мира и длинную переписку без пересказа каждые несколько реплик. То, что не должно плыть, — голос, темперамент, канон — держите в системном сообщении, а сцену пусть несёт пользовательское.
64 000 токенов на ответ
Предел ответа — 64 000 токенов, так что глава никогда не оборвётся посреди абзаца из-за нехватки места. По умолчанию max_tokens равен 4 096, это несколько сотен слов, поэтому поднимайте его, когда сцена нужна целиком.
Стриминг для обмена репликами
Ролевая игра — это обмен репликами, и кто-то смотрит на курсор. При stream: true ответ приходит частями через Server-Sent Events, и первая фраза уже на экране, пока остальное ещё генерируется.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
messages | Да | Упорядоченные реплики диалога. Содержимое — строка или массив частей text и |
max_tokens | Нет | Ограничивает ответ значением 64 000. По умолчанию 4 096 — это несколько сотен слов, поэтому под сцену целиком поднимайте вручную. |
stop | Нет | До 4 последовательностей — строкой или массивом. Ответ обрывается, как только модель пишет одну из них, а совпавший текст не возвращается. Не менее 1 символов · Не менее 1 элементов · Не более 4 элементов |
temperature | Нет | От 0 до 1, по умолчанию 1. Держите ближе к 0 всякий раз, когда ответ разбирает код. |
top_k | Нет | От 1 до 500. Выбор идёт только из k самых вероятных следующих токенов: 1 делает ответы почти воспроизводимыми, большие значения ослабляют отбор. |
top_p | Нет | От 0,01 до 1. В одном сравнении меняйте его либо temperature, но не оба. |
tools | Нет | До 128 описаний функций на запрос. Не более 128 элементов |
parallel_tool_calls | Нет | true или false, по умолчанию true: модель может запросить несколько вызовов инструментов за один ход. По умолчанию: |
tool_choice | Нет | auto, none, required или объект с именем конкретной функции. |
Стоимость
Ввод $2.70 / Вывод $13.50 за 1 млн токенов
Сценарии использования
Долгая ролевая сессия
Карточка персонажа и правила мира остаются в системном сообщении, а переписка растёт в массиве messages. 198 000 токенов — это сцены целой арки, так что голос держится и его не нужно выправлять пересказом.
Глава интерактивной прозы
Ветвящаяся история — это сначала чтение, потом письмо: несколько тысяч токенов состояния и предыстории на входе, сцена прозы на выходе. Три к одному — ровно эта форма, а предел в 64 000 токенов оставляет главе место, чтобы закончиться.
Ансамбль NPC в одной ветке
Выделите каждому персонажу раздел системного сообщения, а в пользовательском сообщении указывайте, кто сейчас на сцене. Все NPC описаны в одном запросе, поэтому остаются согласованными друг с другом, а не только сами с собой.
Руководство по промптам и практические советы
Персонажа — в системное сообщение
Карточка персонажа, голос и правила мира идут в системное сообщение, сцена — в пользовательское. Когда позже придётся сокращать, вы режете переписку, а персонаж остаётся ровно таким, каким вы его написали.
Подбирайте temperature под задачу
Держите temperature около 1 для живых диалогов и понижайте её для проверки согласованности или пересказа событий. top_p дополнительно сужает выбор слов, когда сцене нужно выдерживать строгий регистр.
Структурированный вывод и жёсткие пределы
response_format здесь нет: опишите инструмент, параметры которого — нужная JSON-схема, укажите его в tool_choice и проверьте вернувшиеся аргументы. max_tokens больше 64 000 не проходит валидацию, а части с видео и аудио отклоняются.
Быстрый старт 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-4.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.














