Claude Opus 5.5 уже доступна в SeedRouter
LogoSeedRouter

Поиск модели по названию, например «nano banana»

Поиск модели по названию, например «nano banana»

Text

Claude Haiku 5.5

View Markdown

Справочник Messages для Claude Haiku 5.5: параметры, мышление, принудительные инструменты, расход кэша, beta, потоковый вывод и обработка ответов.

Используйте claude-haiku-5-5 с POST https://api.seedrouter.ai/v1/messages. Модель принимает текст, изображения и документы и возвращает текст или запросы инструментов. На странице модели указаны текущие тарифы токенов.

Контракт ниже соответствует документации Anthropic для этой модели, проверенной 9 октября 2026 года. Официальные пределы возможностей и сквозная проверка — разные вещи: принятие поля не доказывает, что оно оказало ожидаемое действие. Перед использованием расширенных параметров ознакомьтесь с результатами совместимости ниже.

Быстрый старт

curl https://api.seedrouter.ai/v1/messages \
  -H "x-api-key: $SEEDROUTER_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Classify this request as billing, technical or account: I was charged twice. Return only the label."}]
  }'
import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["SEEDROUTER_API_KEY"],
    base_url="https://api.seedrouter.ai",
)
message = client.messages.create(
    model="claude-haiku-5-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Summarize the purpose of a database index."}],
)
for block in message.content:
    if block.type == "text":
        print(block.text)
import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  apiKey: process.env.SEEDROUTER_API_KEY,
  baseURL: 'https://api.seedrouter.ai',
});
const message = await client.messages.create({
  model: 'claude-haiku-5-5',
  max_tokens: 1024,
  messages: [{ role: 'user', content: 'Summarize the purpose of a database index.' }],
});
for (const block of message.content) {
  if (block.type === 'text') console.log(block.text);
}

Храните ключ API на сервере. Выбирайте блоки ответа по type; ответ может начинаться с мышления или вызова инструмента.

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "os"
    "time"
)

func main() {
    body, err := json.Marshal(map[string]any{
        "model": "claude-haiku-5-5",
        "max_tokens": 1024,
        "messages": []map[string]string{
            {"role": "user", "content": "Summarize the purpose of a database index."},
        },
    })
    if err != nil { panic(err) }
    req, err := http.NewRequest("POST", "https://api.seedrouter.ai/v1/messages", bytes.NewReader(body))
    if err != nil { panic(err) }
    req.Header.Set("x-api-key", os.Getenv("SEEDROUTER_API_KEY"))
    req.Header.Set("anthropic-version", "2023-06-01")
    req.Header.Set("Content-Type", "application/json")
    client := &http.Client{Timeout: 2 * time.Minute}
    res, err := client.Do(req)
    if err != nil { panic(err) }
    defer res.Body.Close()
    data, err := io.ReadAll(res.Body)
    if err != nil { panic(err) }
    if res.StatusCode >= 400 { panic(fmt.Sprintf("HTTP %d: %s", res.StatusCode, data)) }
    fmt.Println(string(data))
}

Параметры запроса

Нативный контракт содержит 25 полей верхнего уровня. Необязательность не означает допустимость null: только строки, явно упоминающие null, принимают его. Неизвестные поля и неподдерживаемые поля сэмплирования отбрасываются перед передачей в соответствии с политикой параметров текстовых моделей. Недопустимые значения поддерживаемых полей возвращают invalid_request_error до генерации.

ПолеОбязательноКонтракт
modelДаclaude-haiku-5-5.
max_tokensДаЦелое число 0–128000, включая мышление. В API нет значения по умолчанию. Playground начинает с 8192.
messagesДа1–100000 сообщений с ролью и строкой или массивом блоков содержимого. Правила диалога приведены ниже.
systemНетСтрока или массив текстовых блоков. Не null.
thinkingНетПо умолчанию adaptive; можно выбрать disabled. Нет ручного бюджета и режима between_tools.
output_configНетОбъект с effort, format и необязательным beta-полем task_budget.
stop_sequencesНетМассив строк остановки.
streamНетЛогическое значение; по умолчанию false.
temperatureНетНе указывайте. Здесь отбрасывается; официальное значение для совместимости — 1.
top_pНетНе указывайте. Здесь отбрасывается; официальное значение для совместимости — 0.99.
top_kНетНе поддерживается и отбрасывается.
toolsНетМассив клиентских инструментов или официальных объявлений серверных инструментов.
tool_choiceНетauto, none, any или именованный tool. Принудительные инструменты поддерживаются.
metadataНетОбъект; необязательный user_id — строка не длиннее 512 символов или null.
cache_controlНетNull или {"type":"ephemeral","ttl":"5m"}; TTL также принимает 1h. По умолчанию TTL — 5m.
containerНетNull, строка ID контейнера или объект с необязательным ID и не более чем 20 навыками.
context_managementНетNull или объект с официальными правками контекста; действуют требования beta-заголовков.
mcp_serversНетМассив не более чем 20 серверов URL; требуется соответствующий beta-заголовок MCP.
service_tierНетauto или standard_only. У Haiku нет мощностей Priority Tier.
inference_geoНетglobal, us или null. Без поля используется настройка аккаунта; прежде чем предполагать регион, проверьте отчётный расход.
diagnosticsНетNull или объект; previous_message_id — null или строка не длиннее 256 символов.
compactionНетNull или {"type":"summarize","instructions":"..."}. Инструкции необязательны, допускают null и не превышают 16384 символа.
fallbacksНетNull или default с соответствующей beta. У Haiku нет моделей автоматической замены; явные списки недопустимы.
fallback_credit_tokenНетNull, строка токена или {token,mode}. API должен проверить право использования и действительность; не считайте любую модель допустимой целью.
speedНетstandard или null. Быстрый режим не поддерживается.

Playground предоставляет элементы управления поддерживаемыми полями, включая JSON для вложенных структур. Параметры сэмплирования и фиксированная стандартная скорость отсутствуют в форме. ID модели закреплён за этой страницей. Просматривайте отправляемое тело в предварительном просмотре JSON-запроса.

Мышление и уровень усилий

По умолчанию используется адаптивное мышление с усилием medium и без текста мышления. Effort принимает low, medium, high, xhigh, max или null для значения по умолчанию.

{
  "thinking": {"type": "adaptive", "display": "summarized"},
  "output_config": {"effort": "medium"}
}

Чтобы отключить мышление, используйте {"type":"disabled"} с low, medium или high. В режиме disabled не включайте display или block_binding. enabled, budget_tokens, between_tools и отключённое мышление при xhigh/max недопустимы.

При adaptive параметр display принимает omitted, summarized или null. Общее beta-значение updates требует thinking-display-updates-2026-08-18; Anthropic пока не подтверждает читаемые обновления хода работы для Haiku, поэтому не полагайтесь на такой вывод.

Необязательный thinking.block_binding требует thinking-binding-controls-2026-08-01. Это null или объект с prefix_mismatch_behavior, равным error, drop_block или null. При повторной отправке истории сохраняйте предыдущие ходы диалога и полные блоки мышления без изменений. Подписи мышления привязаны к создавшему их аккаунту или связанному с ним аккаунту.

output_config.task_budget — null или { "type": "tokens", "total": 20000 } с необязательным целым числом/null remaining. Требуется task-budgets-2026-03-13; total должен быть не меньше 20000. Дополнительный диапазон remaining здесь не задаётся.

Инструменты и структурированный вывод

Клиентские инструменты требуют имени из 1–128 букв, цифр, подчёркиваний или дефисов и input_schema с type: "object". Используйте tool_choice: {"type":"any"} или {"type":"tool","name":"lookup"}, чтобы принудительно вызвать объявленный инструмент. При адаптивном мышлении ответ с принудительным инструментом начинается с вызова инструмента без блока мышления.

disable_parallel_tool_use — необязательное логическое значение для вариантов auto, any и tool; оно не является полем none. Возвращайте результат инструмента с исходным tool_use_id. Playground показывает вызовы, но не исполняет ваши клиентские инструменты.

{
  "tools": [{
    "name": "lookup",
    "description": "Look up a product by SKU.",
    "input_schema": {
      "type": "object",
      "properties": {"sku": {"type": "string"}},
      "required": ["sku"],
      "additionalProperties": false
    }
  }],
  "tool_choice": {"type": "tool", "name": "lookup"}
}

Структурированные ответы используют output_config.format: {"type":"json_schema","schema":{...}}. Соблюдайте поддерживаемое Anthropic подмножество JSON Schema, включая additionalProperties: false для объектов. Корректная структура не гарантирует фактическую правильность значений. Строгие инструменты и структурированный вывод имеют ограничения на всю схему; см. официальный справочник структурированного вывода.

Работа с компьютером требует computer_toolset_20260801; старые версии инструментов компьютера недопустимы. Для браузера есть собственный browser_toolset_20260801. Объявление инструмента не подтверждает работоспособность полной сессии серверного инструмента. Перед использованием изучите его официальное руководство и требования beta.

Диалоги и управление контекстом

Обычное предварительное заполнение assistant не поддерживается. Продолжение приостановленного серверного инструмента — другой случай: повторно отправляйте полные блоки assistant согласно протоколу Messages.

Системное сообщение с содержимым может идти после пользовательского сообщения или результата приостановленного серверного инструмента. За ним должно идти сообщение assistant, либо оно должно быть последним. Последовательные системные сообщения оцениваются как одна группа. Не вставляйте такое сообщение между вызовом клиентского инструмента и обязательным результатом.

Системное сообщение с пустым содержимым может менять только output_config.effort с mid-conversation-output-config-2026-07-01. Оно может находиться в любом месте. При отключённом мышлении оно не может менять действующий уровень усилий. Системный clear_at принимает never, next_user_message или null с mid-conversation-system-clear-at-2026-08-21; сообщения, ограниченные одним ходом, допускают только текст, без конфигурации вывода или кэширования блоков.

Правки контекста включают:

ПравкаBetaОсновные ограничения
clear_tool_uses_20250919context-management-2025-06-27Число для срабатывания не меньше 1; число сохраняемых элементов не меньше 0.
clear_thinking_20251015context-management-2025-06-27Сохраняйте всё либо хотя бы один ход мышления. При сочетании правок ставьте перед очисткой вызовов инструментов.
compact_20260112compact-2026-01-12Порог входных токенов не меньше 50000; по умолчанию 150000.

Сжатие по запросу compaction требует compact-2026-09-04. Его нельзя сочетать с context_management, stop_sequences, форматом вывода, принудительными инструментами или task_budget.remaining. Подписанный блок сжатия также нельзя сочетать с task_budget.remaining или сжатием по порогу. При продолжении сохраняйте возвращённый блок и подпись.

Изображения, PDF и размер запроса

Изображения принимают JPEG, PNG, GIF и WebP по URL, в base64 или по ссылке на файл. PDF принимают URL, base64 или ссылку на файл. Ссылки на файлы требуют соответствующей beta Files API и действительного доступа. Текстовые документы могут использовать текстовые источники или источники содержимого.

Лимит нативного запроса — 32 MB. Официальные ограничения изображений: до 600 изображений, 10 MB данных в base64 на изображение и 8000 пикселей по любой стороне; для запросов с большим числом изображений могут действовать более строгие ограничения платформы. PDF должны быть незашифрованными и содержать не более 600 страниц для контекста этой модели. Проверка удалённых файлов остаётся ответственностью API; локальная проверка структуры не подтверждает содержимое URL.

Playground загружает вложения перед отправкой URL. JSON диалога также поддерживает нативные блоки медиасодержимого. Проверки полных границ размера медиа и окна контекста проводятся отдельно от небольшого примера запроса.

Кэширование промптов и расчёт стоимости

Минимальный кэшируемый промпт Haiku — 512 токенов. Более короткие помеченные промпты могут выполняться без создания записи кэша. Используйте не более четырёх точек кэширования; автоматическое управление кэшем верхнего уровня занимает один слот. Размещайте префиксы с большим сроком хранения перед префиксами с меньшим сроком.

max_tokens: 0 запрашивает прогрев кэша без генерации ответа. Его нельзя сочетать с stream: true, структурированным выводом или принудительными инструментами. Сохраняйте одинаковые настройки мышления и усилий при подготовке кэша и в повторно использующих его запросах.

Читайте usage.input_tokens, output_tokens, cache_creation_input_tokens, cache_read_input_tokens и разбивку 5m/1h в cache_creation. Мышление входит в выходные токены; указанная разбивка токенов мышления не является дополнительной платой, которую нужно прибавить ещё раз. Текущие тарифы находятся в разделе цен, дополнительные объяснения — в руководстве по ценам.

Ответы, потоковый вывод и ошибки

Завершённый ответ содержит id, type: "message", role: "assistant", model, content, stop_reason, stop_sequence и usage. Необязательные container, diagnostics, context_management, stop_details и input_transformations сохраняются, если возвращены.

Обрабатывайте end_turn, max_tokens, stop_sequence, tool_use, pause_turn, compaction, refusal и model_context_window_exceeded. Остановка по лимиту или отказ не равны HTTP-ошибке. Не считайте первый блок содержимого гарантированно текстовым.

Поток использует SSE-события Messages: message_start, content_block_start, content_block_delta, content_block_stop, message_delta и message_stop. Также обрабатывайте события ping и error. Сохраняйте подписи мышления и блоки инструментов, нужные для следующих ходов.

Ошибки имеют формат Anthropic:

{"type":"error","error":{"type":"invalid_request_error","message":"max_tokens must be an integer from 0 to 128000."}}

Запросы, возвращающие ошибку, не оплачиваются. Общие типы ошибок приведены в обработке ошибок.

Форматы, совместимые с OpenAI

Тот же ID доступен с /v1/chat/completions и /v1/responses. Используйте их нативные поля: Chat использует messages; Responses — input. Нативные параметры Claude относятся к Messages, и их не следует целиком копировать в тело формата OpenAI.

curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-5-5","max_tokens":256,"messages":[{"role":"user","content":"Reply with OK."}]}'
curl https://api.seedrouter.ai/v1/responses \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-5-5","max_output_tokens":256,"input":"Reply with OK."}'

Результаты совместимости

Проверено 9 октября 2026 года в среде разработки. Эти проверки устанавливают наблюдаемое поведение конкретных запросов, а не каждый официальный предел или развёртывание в production.

ВозможностьНаблюдаемый результат
Нативные Messages и SSEТекстовый ответ и полная последовательность событий проверены.
КлассификацияВозвращено Billing; 41 входной и 5 выходных токенов.
Структурированный JSON и клиентские инструментыПроверены значения JSON, выбор automatic/none/named/any, аргументы строгих инструментов и продолжение после результата инструмента.
Изображения и PDFВозвращены ожидаемые цвет изображения и маркер PDF из тестовых данных base64. Полные границы медиа не проверялись.
Прогрев кэшаmax_tokens: 0 не вернул сгенерированного текста и вернул ноль выходных токенов.
Кэширование на пять минут и один часДля обоих TTL проверены создание и последующий расход при попадании в кэш.
Последовательности остановкиВозвращена запрошенная причина остановки; генерация остановилась до исключённого суффикса.
Мышление и усилияПриняты все пять значений effort. Некоторые запросы с явно отключённым мышлением всё же вернули блоки мышления. Само принятие не проверяет действие effort.
Системные инструкции и усилия на уровне сообщенийРезультаты были несогласованными; тест с большим бюджетом на уровне сообщения всё равно вернул посторонний текст. Перед запуском проверяйте свой конкретный диалог.
Сжатие по запросуВозвращены подписанный блок сжатия и stop_reason: compaction. Полная проверка повторного использования и расчёта стоимости ещё не завершена.
Метаданные и география инференсаmetadata.user_id вернул ошибку прав; явная география — ограничение типа аккаунта.
MCPТекущая beta MCP вернула ограничение учётных данных. Полная сессия MCP не проверена.
OpenAI Chat и ResponsesБазовые запросы и явные запросы рассуждений max/none вернули ожидаемый ответ. Семантика рассуждений отдельно не установлена.
Другие beta-поляБюджет задачи, управление привязкой и fallback default приняты; полная семантика функций не установлена.

Расчёт стоимости записи кэша на один час и сжатия не прошёл проверку для выпуска. Не проверялись максимальные контекст/выход, размещённые инструменты с отдельной оплатой, доступ Files API и использование fallback-credit. Сохраняйте официальные структуры запросов; не делайте вывод о поддержке только по успешному статусу.

Ссылки