Интеграция для редактирования зависит не только от названия модели: она может опираться на параметр семплирования, принудительный вызов функции или парсер ответа. Смена версии способна изменить все три ещё до того, как изменится качество самой правки.
Выбирайте Sonnet 5 для нового проекта, Sonnet 5.5 — если нужны ответы длиннее 64 000 токенов, художественная проза без цензуры или самый широкий диапазон effort, а Sonnet 4.6 — ради параметров temperature, top_p или top_k. Sonnet 5 также поддерживает принудительные вызовы инструментов; 5.5 — нет. Одна лишь замена ID модели ломает запрос: Sonnet 5 и 5.5 возвращают ошибку 400 на поля семплирования, а 5.5 ещё и отклоняет принудительный выбор инструмента. Убирайте эти поля для каждой версии отдельно, прежде чем сравнивать ответы.
Таблица описывает контракты, размещённые в SpicyAPI. Руководство Anthropic по миграции на Sonnet 5.5 объясняет нативные изменения между версиями; его названия полей и значения по умолчанию не взаимозаменяемы с этим интерфейсом. Цены ниже указаны в USD за миллион токенов.
Что принимает каждая версия
| Контракт | Sonnet 4.5 | Sonnet 4.6 | Sonnet 5 | Sonnet 5.5 |
|---|---|---|---|---|
| Лимит ввода | 198 000 токенов | 1 000 000 | 1 000 000 | 1 000 000 |
| Потолок вывода | 64 000 | 64 000 | 64 000 | 128 000 |
max_tokens по умолчанию | 4096 | 4096 | 4096 | 4096 |
reasoning_effort | Не предоставляется | low, medium, high, max | low, medium, high | none, low, medium, high, xhigh, max |
| Effort по умолчанию | — | medium | medium | medium |
temperature, top_p, top_k | Доступны | Доступны | Отклоняются | Отклоняются |
tool_choice | auto, none, required или именованная функция | так же | так же | только auto или none |
response_format | Не принимается | Не принимается | Не принимается | Не принимается |
| Уровень контента | Смягчённый | Без цензуры | Фильтруемый | Без цензуры |
ID моделей: anthropic/claude-sonnet-4.5/chat, anthropic/claude-sonnet-5/chat, anthropic/claude-sonnet-5.5/chat и anthropic/claude-sonnet-4.6/chat; страницы: 4.5, 5, 5.5 и 4.6. Все четыре используют одну и ту же форму запроса /v1/chat/completions и также принимают stop, tools и parallel_tool_calls.
Sonnet 4.6 — промежуточный вариант миграции. У него уже есть окно 1M и reasoning_effort, но он по-прежнему принимает temperature. Переход с 4.5 на 4.6 сохраняет форму запроса, повышает ставку на ввод на 11 %, переводит уровень из Смягчённого в Без цензуры и по умолчанию включает средний effort рассуждения; именно шаг с 4.6 на 5 убирает семплирование.
Уровень контента важен для прозы и ролевых игр. Sonnet 5 — Фильтруемый; Sonnet 4.5 и 4.6 в наших тестах часто смягчали или отклоняли запросы на более интенсивную прозу для взрослых. Sonnet 5.5 выдал эти проверенные сцены без смягчения и отказов, поэтому здесь он — самый сильный выбор для работы с прозой для взрослых. Смягчённый ответ всё равно может быть тарифицирован. SpicyAPI не добавляет фильтр контента на уровне платформы; задайте вымышленную сцену и ограничения правки в системном сообщении.
Какую выбрать
- Новая текстовая интеграция, без контента для взрослых: Sonnet 5. У него самые низкие ставки, окно 1M и три уровня effort.
- Длинные материалы или проза для взрослых: Sonnet 5.5. Только он может написать за один ответ больше 64 000 токенов, только у него есть
none(без размышлений), и он Без цензуры. - Параметры семплирования: оставайтесь на закреплённой интеграции 4.5 или переходите на 4.6 ради окна 1M. Принудительные вызовы функций без семплирования: Sonnet 5 принимает их по более низким ставкам; используйте его вместо 5.5, когда вызов должен быть принудительным.
- Целая рукопись на 300 000 токенов за один вызов: это вопрос контекста и стоимости, он разобран в руководстве по длинной рукописи на Sonnet 4.6.
Цена: учитывайте токенизатор и тарифицируемый вывод
| USD за миллион токенов | 4.5 | 4.6 | 5 | 5.5 |
|---|---|---|---|---|
| Ввод | $2.70 | $3 | $1.90 | $2 |
| Ввод из кэша | $0.27 | $0.30 | $0.19 | $0.20 |
| Вывод | $13.50 | $15 | $9.50 | $10 |
| Запись в кэш | $3.30 | $3.75 | $2.375 | $2.50 |
Sonnet 5 и 5.5 используют более новый токенизатор. В руководстве Anthropic по миграции сказано, что один и тот же текст даёт примерно на 30 % больше токенов, чем в 4.x, в зависимости от содержимого, поэтому сравнивайте стоимость задачи, а не токена. Для иллюстративной задачи в 20 000 токенов ввода и 2 000 вывода на 4.5 предположите рост обоих счётчиков на 30 % на 5 и 5.5:
| Модель | Тарифицируемые токены | Стоимость |
|---|---|---|
| 4.5 | 20 000 ввода, 2 000 вывода | $0.081 |
| 4.6 | 20 000 ввода, 2 000 вывода | $0.090 |
| 5 | около 26 000 ввода, 2 600 вывода | около $0.074 |
| 5.5 | около 26 000 ввода, 2 600 вывода | около $0.078 |
В этом сценарии Sonnet 5 примерно на 9 % дешевле 4.5; экономия не фиксирована для каждого документа. Счётчики вывода должны включать тарифицируемые рассуждения. Установка effort low может сократить размышления, но не отключает их; здесь только 5.5 предоставляет none. Прочитайте фактическое потребление вашей задачи, прежде чем считать оценку бюджетом.
Ставки Sonnet 5.5 примерно на 5.3 % выше, чем у Sonnet 5, и это разница при одинаковых тарифицируемых счётчиках и категориях кэша. Пересчитывайте длинные промпты после смены токенизатора: гипотетический рост на 30 % превратит промпт в 190 000 токенов в 247 000 — всё ещё ниже лимита ввода 1M, но с другим счётом.
Попробуйте правку в Playground
Используйте эту небольшую правку с проверкой фактов, прежде чем переносить более крупный процесс:
Source A: the gallery reopened to staff in April. Source B: the public launch event was in June. Draft: "The gallery reopened to the public in April." Preserve the distinction between staff access and the public event. Return the corrected sentence and one sentence explaining the change.
- Откройте страницу модели Sonnet 5.5 по ссылке выше и выберите Playground. Поместите оба источника и черновик в сообщение пользователя, а "Edit from the supplied sources only" — в системную инструкцию.
- Для этой правки одной строки используйте effort
low. Запустите её после проверки стоимости, затем убедитесь, что ответ сохраняет апрель для доступа сотрудников и июнь для публичного события, не придумывая точную дату. - Попробуйте тот же текст на Sonnet 5 для более дешёвого редакторского процесса без контента для взрослых. Оставьте исходный текст неизменным, чтобы оценить саму правку.
Выберите версию для правки, которую вы действительно сдаёте
Для чистки главы на 700 слов с пакетом источников в 20 000 токенов ни одной из этих версий не нужен максимальный контекст или предел вывода. Полезный выбор — подходят ли параметры запроса и пригодность контента. Sonnet 5 — более дешёвая отправная точка для обычной правки. Редактору прозы для взрослых стоит учесть и его уровень Фильтруемый, прежде чем делать его вариантом по умолчанию для всей рукописи. Поэтому одному и тому же приложению могут понадобиться разные модели для неоткровенной аннотации и для проверки зрелой сцены.
Если вам нужны три альтернативные формулировки на 4.5 или 4.6, их параметры семплирования дают допустимый способ варьировать генерацию. Это не значит, что повышение температуры исправит дефектную логику сюжета. Абзацу, в котором персонаж знает то, чего ещё знать не может, нужны правило знания и исходный фрагмент, а не больше случайности. На 5 или 5.5 не изобретайте эквивалентное поле семплирования. Попросите три альтернативы с разными заявленными подходами: более короткий диалог, меньше экспозиции или более поздняя развязка.
Для правки с инструментом представьте, что черновик называет работодателя персонажа, а в авторитетной базе данных сериала есть актуальная запись. На 4.5, 4.6 или 5 доступный выбор инструмента может потребовать обращения к базе. На 5.5 auto может выдать ответ без этого обращения. Если приложение обязано проверить работодателя, выполните чтение до запроса на правку или не принимайте ответ без нужного результата поиска. Фраза в промпте не даёт auto той же гарантии, что принудительный вызов. Нативные примеры thinking или output_config из руководства Anthropic по миграции не следует вставлять в этот запрос без изменений.
Значимый результат примера — предложение, сохраняющее и доступ сотрудников в апреле, и публичный запуск в июне. "The gallery reopened in June" слишком общо, если сотрудники могли войти уже в апреле. "The gallery held its public launch in June, after reopening to staff in April" — приемлемая правка, написанная человеком. Новая версия, дающая более красивую формулировку, но теряющая это различие, не улучшила работу по редактированию.
Перенесите запрос
Интеграция на 4.5 может использовать temperature: 0.2, top_p: 0.9 и принудительную функцию submit_edit. Переход на 5 отклоняет поля семплирования; переход на 5.5 отклоняет и семплирование, и принудительный выбор инструмента.
- Уберите семплирование на 5 и 5.5. Удалите
temperature,top_pиtop_kиз этих запросов. Неподдерживаемые поля возвращают400 unsupported_parameterдо создания или списания за задачу; ведите отдельный список разрешённых полей для каждой модели, а не отправляйте один общий объект параметров. - Используйте автоматический инструмент на 5.5. Оставьте функцию
submit_editи запросите её в системном промпте, но установитеtool_choiceвauto. Здесь нетresponse_format, а 5.5 может пропустить функцию, поэтому проверяйте возвращённые аргументы. Если вашему процессу нужен принудительный вызов, Sonnet 5 поддерживает его по более низким ставкам. - Оставьте место для ответа. Рассуждения расходуют часть
max_tokens: лимит в 1 024 токена может закончиться до появления видимого текста. Используйте effortlowдля правки одной строки иhighдля противоречивых источников. Sonnet 5 доходит доhigh; он не принимаетxhighиmaxиз 5.5. - Стримьте более длинные правки. Короткий пример ниже использует обычный JSON-ответ. Большие вызовы могут превысить лимит сетевого периметра примерно в 100 секунд; для них используйте стриминг и собирайте текст и аргументы инструмента отдельно. Руководство по тексту и стримингу описывает события завершения и учёт использования.
- Заканчивайте диалог сообщением пользователя. При уходе с 4.5 перенесите задуманное начало ответа или подсказку формата в системную инструкцию, а не заканчивайте префиллом ассистента.
Названия effort тоже меняют смысл. Anthropic перекалибровала уровни 5.5, поэтому high не эквивалентен между версиями. SpicyAPI по умолчанию ставит medium и для 5, и для 5.5, тогда как нативный API 5.5 от Anthropic по умолчанию использует high. Для чистых коротких ответов предпочитайте low, а не none: при none модель 5.5 может разбирать вопрос в видимом тексте. none по-прежнему полезен для быстрых реплик в роли.
Запустите и проверьте правку
Сохраните это как sonnet_edit.py, задайте SPICY_API_KEY из API Keys, затем запустите python3 sonnet_edit.py. Код использует стандартную библиотеку Python. Sonnet 5.5 выбран здесь, чтобы показать миграцию на автоматический инструмент; если заменить только модель на Sonnet 5, эти поля тоже принимаются. Это платный текстовый вызов, а не задача генерации медиа. Рецепты для чата охватывают многошаговые интеграции и стриминг.
import json
import os
import sys
import uuid
from urllib.error import HTTPError
from urllib.request import Request, urlopen
def read_reply(resp: dict, *, require_edit_tool: bool = False) -> dict:
if resp.get("error"):
raise RuntimeError("API error")
choices = resp.get("choices") or []
if not choices:
raise RuntimeError("no choices in response")
choice = choices[0]
finish = choice.get("finish_reason")
if finish not in {"stop", "tool_calls"}:
raise RuntimeError(f"incomplete or rejected reply: {finish}")
msg = choice.get("message") or {}
calls = msg.get("tool_calls") or []
if calls:
if len(calls) != 1:
raise RuntimeError("expected one submit_edit call")
call = calls[0]
if call.get("type") != "function" or not isinstance(call.get("id"), str) or not call["id"]:
raise RuntimeError("missing function type or call ID")
fn = call.get("function") or {}
if fn.get("name") != "submit_edit":
raise RuntimeError("unexpected function")
args = json.loads(fn.get("arguments") or "")
if not isinstance(args, dict) or any(
not isinstance(args.get(key), str) or not args[key].strip()
for key in ("sentence", "reason")
):
raise RuntimeError("sentence and reason must be nonempty strings")
return {"kind": "tool", "call": calls[0], "edit": args}
if require_edit_tool:
raise RuntimeError("model skipped submit_edit")
text = msg.get("content")
if finish != "stop" or not isinstance(text, str) or not text.strip():
raise RuntimeError("empty or unfinished text")
return {"kind": "text", "text": text}
def main() -> None:
body = {
"model": "anthropic/claude-sonnet-5.5/chat",
"reasoning_effort": "low",
"max_tokens": 8192,
"messages": [
{"role": "system", "content": "Edit from the supplied sources only. Reply by calling submit_edit."},
{"role": "user", "content": 'Source A: the gallery reopened to staff in April. Source B: the public launch event was in June. Draft: "The gallery reopened to the public in April." Keep the staff/public distinction.'},
],
"tools": [{"type": "function", "function": {
"name": "submit_edit",
"description": "Return the corrected sentence and the reason.",
"parameters": {
"type": "object",
"properties": {"sentence": {"type": "string"}, "reason": {"type": "string"}},
"required": ["sentence", "reason"],
},
}}],
"tool_choice": "auto",
}
request = Request(
"https://api.spicyapi.ai/v1/chat/completions",
data=json.dumps(body).encode(),
headers={
"Authorization": f"Bearer {os.environ['SPICY_API_KEY']}",
"Content-Type": "application/json",
"Idempotency-Key": str(uuid.uuid4()),
"User-Agent": "sonnet-edit-example/1.0",
},
)
try:
with urlopen(request, timeout=80) as response:
task_id = response.headers.get("X-Spicy-Task-Id")
if task_id:
print(f"Task ID: {task_id}", file=sys.stderr)
result = read_reply(json.load(response), require_edit_tool=True)
except HTTPError as error:
task_id = error.headers.get("X-Spicy-Task-Id")
print(f"HTTP {error.code}; task ID: {task_id or 'not returned'}", file=sys.stderr)
raise
print(json.dumps(result["edit"], indent=2))
if __name__ == "__main__":
main()Корректная правка сохраняет апрель для доступа сотрудников и июнь для публичного события. Парсер отклоняет пустой ответ, обрезку и пропущенный или некорректный вызов функции; валидные аргументы всё равно нуждаются в проверке фактов. Отчёт о миграции Sonnet описывает пустой запасной ответ, который дошёл до пользователей как успешный результат.
Если finish_reason равен length, в новом вызове дайте больше места для вывода или меньшее задание. Сохраните любой частичный результат и ID задачи, прежде чем тратить снова. В многошаговом процессе с инструментами возвращайте результат инструмента с соответствующим tool_call_id перед следующим шагом. Включите в проверки миграции одно противоречие, один неизменённый факт, один ответ "unknown" и один результат инструмента "no match"; для более длинных извлечений проверяйте наличие обязательных разделов, а не только валидность JSON.
Поручите Agent подготовить интеграцию
Используйте Agent, когда хотите, чтобы он адаптировал существующий редактор, а не вставлять запрос самому. Сохраните в его задании те же источники галереи и тот же черновик.
- CLI: после установки
SPICY_API_KEYпусть он проверит выбранный контракт командойnpx @spicyapi/cli models get anthropic/claude-sonnet-5.5/chat --json. Руководство по CLI описывает эту команду только для чтения. - MCP: при подключённом MCP-сервере SpicyAPI попросите: "Use
spicyapi_model_getforanthropic/claude-sonnet-5.5/chat, then adapt my gallery edit to its accepted effort and tool-choice settings. Prepare the request without running it." - Skill: установите официальный Skill SpicyAPI командой
npx skills add spicyapi-ai/spicy-skill, начните новую сессию Agent и попросите: "Use the SpicyAPI Skill to migrate my gallery editor from Sonnet 4.5 to 5.5. Keep the source facts and validatesubmit_edit; show me the request before calling it."
CLI и MCP обеспечивают поиск моделей для этого текстового процесса; сама правка идёт через /v1/chat/completions — программой выше или HTTP-клиентом вашего Agent. Установите лимит расходов на API-ключе, прежде чем поручать повторяющиеся правки.
FAQ
Sonnet 5.5 дешевле Sonnet 5?
Нет. Он стоит примерно на 5.3 % больше за токен ($2 и $10 против $1.90 и $9.50). Задача обходится настолько дороже только при одинаковых тарифицируемых счётчиках и категориях кэша. Эта наценка покупает потолок ответа в 128 000 токенов, effort none и xhigh и уровень Без цензуры.
Sonnet 5.5 лучше Opus 5.5?
Не как правило. Opus 5.5 стоит в SpicyAPI $3.60 за ввод и $18 за вывод, примерно в 1.8 раза дороже Sonnet 5.5, при том же окне 1M и потолке вывода 128 000. Начните с Sonnet 5.5 и переходите выше, только если ваши самые трудные фрагменты возвращаются неверными; этот путь разбирает руководство «Claude Opus 5.5 для NSFW-ролевых игр».
Можно ли оставить temperature на Sonnet 5.5?
Нет. Используйте effort рассуждения для глубины, а правила тона задайте в системном промпте. Если нужны параметры семплирования, вариант — 4.5 и 4.6.









