Source: https://ailoot.ai/models/ru/anthropic-claude-haiku-5-5/
Canonical: https://ailoot.ai/models/ru/anthropic-claude-haiku-5-5/
Language: ru

# Anthropic: Claude Haiku 5.5

[Markdown](https://ailoot.ai/models/ru/anthropic-claude-haiku-5-5/index.md) · [JSON](https://ailoot.ai/models/ru/anthropic-claude-haiku-5-5/facts.json)

## [Anthropic: Claude Haiku 5.5](https://ailoot.ai/models/ru/anthropic-claude-haiku-5-5/)

Claude Haiku 5.5 — небольшая модель Anthropic для классификации, извлечения данных, кратких изложений, маршрутизации и конкретных агентных задач. Она сочетает понимание текста и изображений с адаптивным рассуждением и рассчитана на повторяющуюся работу, где нужен быстрый ответ.

- [**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions` `anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/anthropic-claude-haiku-5-5/#method-0)
- [**Ailoot Ultra · Сообщения Anthropic** `POST /v1/messages` `anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/anthropic-claude-haiku-5-5/#method-1)
- [**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions` `~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/anthropic-claude-haiku-5-5/#method-2)
- [**Ailoot Ultra · Сообщения Anthropic** `POST /v1/messages` `~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/anthropic-claude-haiku-5-5/#method-3)

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

Claude Haiku 5.5 — малая версия модели Anthropic для больших потоков задач, чувствительных к задержке. Основные применения включают классификацию, маршрутизацию, извлечение информации, краткое изложение, сжатие бесед и конкретную работу субагентов. Она принимает текст и изображения и генерирует текст. Полезное задание даёт ей узкий вопрос и явный результат: категорию, определённый набор полей, короткое изложение или соответствующие свидетельства для другой части большой задачи. Сохраняйте идентификаторы источников рядом с результатом, чтобы приложение связывало извлечённую информацию с исходными материалами.

Anthropic позиционирует эту версию для поддержки клиентов в реальном времени, работы с браузером, коротких подзадач программирования и повторяющегося анализа. Она может дополнять Claude Sonnet 5.5 или Claude Opus 5.5 в процессе, где большая модель ведёт масштабный проект, а Haiku выполняет поиск в рамках конкретного вопроса или готовит изложение. Для задачи поддержки предоставьте вопрос и разрешённые справочные материалы, затем задайте тон ответа и то, что нужно вернуть. Для подзадачи программирования обозначьте соответствующие файлы или отрывки и точный вопрос, вместо того чтобы назначать открытый проект без условия завершения.

Документированное контекстное окно составляет один миллион токенов, с выходом до 128,000 токенов при обычной генерации. Токены размышления входят в объём генерации, поэтому нужно место и для рассуждения, и для видимого текста. Граница надёжных знаний — июнь 2026 года; более поздним сведениям нужны предоставленные свидетельства или инструмент поиска. Anthropic отдельно документирует бета-функцию только для пакетной обработки, которая может увеличить выход этой версии до 300,000 токенов. Такой больший объём требует функции увеличенного вывода производителя и отличается от обычного ограничения. Асинхронный пакет обрабатывает запросы независимо, что полезно для наборов документов или записей, результаты которых нужны после обработки, а не немедленно.

Адаптивное размышление включено по умолчанию, а effort — основная настройка глубины рассуждения. Уровни — low, medium, high, xhigh и max, по умолчанию medium. Anthropic рекомендует medium для большинства работ, high для более длительных задач или строгого выполнения инструкций и low для простых коротких запросов. Размышление можно отключить на low, medium или high; отключение на xhigh или max отклоняется. Промпт с просьбой о прямом ответе не заменяет эту настройку. Ручные настройки budget\_tokens из Haiku 4.5 не переносятся в эту версию, а temperature, top\_p и top\_k следует не передавать в документированном интерфейсе.

Haiku 5.5 использует более новый токенизатор, появившийся в предыдущих поколениях Claude. По оценке Anthropic, один и тот же текст может использовать примерно на 30% больше токенов, чем в Haiku 4.5, в зависимости от содержимого. Она также сохраняет блоки размышления из предыдущих ходов ассистента, поэтому размер беседы может расти не только из-за изменения токенизатора. Минимальная длина промпта для кэширования — 512 токенов. Оставляйте прежние ходы неизменными при сохранении рассуждения и помещайте новые инструкции в последний ход. Изменение параметра effort на верхнем уровне конфигурации делает кэш сообщений беседы недействительным; производитель документирует отдельную бета-функцию для изменения effort внутри адаптивных бесед. Ни одна из этих возможностей не подтверждает попадание в кэш для конкретного запроса.

Для поиска информации руководство по составлению промптов рекомендует передавать текущую дату вместе с инструментом поиска и сохранять неизменными исходные системные инструкции и определения инструментов. Если беседа продолжается в другой день, предоставьте свежую дату в последнем ходе. Укажите, что нужно найти, и сохраняйте возвращённые источники перед запросом вывода. Например, задание может запрашивать документированное поведение указанной версии программы, затем краткое объяснение на основе найденного отрывка. Приложение предоставляет инструмент поиска и возвращает его фактические результаты; предложенный моделью поиск не является свидетельством выполненного поиска.

При сочетании структурированного вывода JSON с инструментами руководство документирует особое взаимодействие: с отключённым размышлением Haiku может пропустить необходимый вызов инструмента. Anthropic рекомендует адаптивное размышление для таких запросов или отделение итогового требования JSON от шага инструмента. Задайте выходные поля и ясно укажите, что итоговый ответ следует после результатов инструментов. Задание на извлечение данных может называть обязательные поля и способ обозначения отсутствующих значений, а задание на поиск — сначала запрашивать свидетельства для их заполнения. Читайте блоки ответа по типу: ответ необязательно находится в первом блоке, а текст размышления по умолчанию не включается.

Для длинных агентных промптов Anthropic отмечает, что на уровне low модель может преждевременно остановиться, пропустить поиск или проверку. Руководство рекомендует явные инструкции завершения и реальные проверки изменений кода перед сообщением об их готовности. Подготовьте ожидаемый результат и подтверждающие его свидетельства: выбранные отрывки для отчёта, изменённое поведение для предложения кода или извлечённые из документа поля. Руководство также отличает сообщение пользователя во время задачи от вывода инструмента: новые пользовательские инструкции относятся к ходу пользователя, а возвращённые свидетельства инструмента остаются отдельно.

У этой версии собственные защитные механизмы; она может вернуть отказ для категорий, включающих причинение вреда в киберпространстве, биологический вред, разработку конкурирующих моделей или другие запрещённые применения. Производитель не документирует резервный путь обработки на стороне сервера для Haiku 5.5. Руководство также отмечает, что на xhigh ответ, охватывающий несколько ходов, иногда завершается без видимого текста ответа, а текст, похожий на рассуждение, может чаще появляться на low или при отключённом размышлении. Эти особенности нужно учитывать, когда процесс требует видимого структурированного результата. Для обычного извлечения данных или изложения используйте конкретный источник, заданный выход и подходящий задаче уровень усилия рассуждения.

Практическая задача

### Практическая задача

Технический пример на английском

```
Extract a support handoff

Extract a handoff from this ticket, using only its text: T-184: 'I changed my billing email yesterday. Receipts still go to the old address. My login works. Please resend March and April receipts.' Return ticket ID, requested actions, working function and missing information. Use 'not stated' for absent details.
```

#### Ожидаемый результат

```
Four labeled fields retaining T-184, the receipt request, the working login and explicitly missing details.
```

#### Проверка результата

```
Every extracted value must trace to the ticket; do not invent either email address.
```

**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions` `anthropic/claude-haiku-5.5`

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat)

Anthropic /`anthropic/claude-haiku-5.5`

ID модели

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### Начало

Claude Haiku 5.5 — небольшая модель Anthropic для классификации, извлечения данных, кратких изложений, маршрутизации и конкретных агентных задач. Она сочетает понимание текста и изображений с адаптивным рассуждением и рассчитана на повторяющуюся работу, где нужен быстрый ответ.

Допустимые входные данные

Текст

Результаты

Текст

### Доступно в Ailoot · входные данные и методы

**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions`

Входные данные

`text`

Результат

`text`

Выходной формат

json или SSE

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения anthropic/claude-haiku-5.5 | По умолчанию— |
| Поле`messages` | Тип`message[]` | ТребованиеОбязательно | Значения и ограничения Минимум элементов: 1 | По умолчанию— |
| Поле`messages[].role` | Тип`string` | ТребованиеОбязательно | Значения и ограничения Примеры: system, user, assistant, tool, function Условия: Эти роли явно представлены типами совместимости исходного кода; точный набор ролей зависит от модели. Зависит от модели | По умолчанию— |
| Поле`messages[].content` | Тип`string\|content_part[]\|null` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`messages[].tool_calls` | Тип`tool_call[]` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`messages[].tool_call_id` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Применяется, когда: role=tool; используйте фактически возвращённый ID | По умолчанию— |
| Поле`messages[].name` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`messages[].reasoning_content` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Применяется, когда: Передавайте обратно фактически возвращённые рассуждения, если эта модель их использует | По умолчанию— |
| Поле`messages[].reasoning_details` | Тип`object\|array` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`max_tokens` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Минимум: 1 Зависит от модели | По умолчанию— |
| Поле`max_completion_tokens` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Минимум: 1 Зависит от модели | По умолчанию— |
| Поле`stream` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения | По умолчаниюfalse |
| Поле`stream_options.include_usage` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`temperature` | Тип`number` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`top_p` | Тип`number` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`stop` | Тип`string\|string[]` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`tools` | Тип`function_tool[]` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`tools[].type` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения function Зависит от модели | По умолчанию— |
| Поле`tools[].function.name` | Тип`string` | ТребованиеОбязательно | Значения и ограничения Применяется, когда: передан инструмент-функция | По умолчанию— |
| Поле`tools[].function.description` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`tools[].function.parameters` | Тип`JSON_schema` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`tool_choice` | Тип`string\|object` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`parallel_tool_calls` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`response_format` | Тип`object` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`reasoning_effort` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`reasoning` | Тип`object` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`service_tier` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`instructions` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Поле совместимости | По умолчанию— |
| Поле`functions` | Тип`function[]` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`function_call` | Тип`string\|object` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`prompt_cache_options` | Тип`object` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`modalities` | Тип`string[]` | ТребованиеНеобязательно | Значения и ограничения text | По умолчанию— |
| Поле`provider` | Тип`object` | ТребованиеНеобязательно | Значения и ограничения Условия: provider.options отклоняется на этом текстовом маршруте Ultra | По умолчанию— |
| Поле`cache_control.ttl` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Условия: 1h отклоняется в фактических местах настройки кэша запросов | По умолчанию— |

Сочетания входных материалов

**Текст** · Текст UTF8

`messages[].content`

Параметры и жизненный цикл метода

| Параметр | Контракт |
| --- | --- |
| Параметр`content_type` | Контрактapplication/json |
| Параметр`required` | Контрактmodel, messages |
| Параметр`material_types` | Контрактtext |
| Параметр`messages` | Контрактмассив сообщений со структурой role/content |
| Параметр`file_material` | Контрактфактический документ UTF-8 вставляется как буквальный текст; ID файла не выводится из него |
| Параметр`optional_controls` | Контрактstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Параметр`control_scope` | Контрактзависит от модели; пользовательские инструменты-функции отличаются от инструментов, выполняемых на стороне сервиса |
| Параметр`output_modalities` | Контрактtext |
| Параметр`hosted_operations` | Контрактfalse |
| Параметр`multimodal_input_binding` | Контрактnull |

Жизненный цикл: `synchronous_or_streamed`

Отправляйте точный ID модели вместе с messages.

Длина контекста не является пределом выхода.

Текстовый файл может передавать буквальный текст; входные изображения, аудио и файловые объекты требуют точной привязки.

### Тарифы

Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.

Быстрый режим

Стандартный тариф При выборе быстрого режима

Режим flex

Стандартный тариф При выборе режима flex

Максимальная интенсивность рассуждений

Стандартный тариф При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)

Интенсивность рассуждений · высокая (high)

Стандартный тариф При высокой интенсивности рассуждений (high)

Интенсивность рассуждений · низкая (low)

Стандартный тариф При низкой интенсивности рассуждений (low)

Интенсивность рассуждений · max

Стандартный тариф При интенсивности рассуждений max

Интенсивность рассуждений · средняя (medium)

Стандартный тариф При средней интенсивности рассуждений (medium)

Интенсивность рассуждений · xhigh

Стандартный тариф При интенсивности рассуждений xhigh

#### Ставки Ailoot

#### Цены по конфигурациям

Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.

| Конфигурация | Шкала ставок | Токенов контекста больше | Токенов контекста не более, включительно | Плата |
| --- | --- | --- | --- | --- |
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Токенов контекста больше— | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.0004** / 1K токенов |
| КонфигурацияУровень 1 по длине запроса | Шкала ставок— | Токенов контекста больше0 | Токенов контекста не более, включительно100 000 | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.0004** / 1K токенов |
| КонфигурацияУровень 2 по длине запроса | Шкала ставок— | Токенов контекста больше100 000 | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.002** / 1K токенов |

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

### Примеры запросов

#### Ailoot Ultra · Чат OpenAI

curlPython SDKПоток Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "anthropic/claude-haiku-5.5", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='anthropic/claude-haiku-5.5',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='anthropic/claude-haiku-5.5',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Получить и сохранить результаты

#### Ailoot Ultra · Чат OpenAI

json или SSE

##### Сохраняйте все готовые результаты

Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.

Сохраняйте каждый вариант ответа с его содержимым, вызовами инструментов и рассуждениями. В SSE собирайте изменения по индексам варианта и инструмента, сохраняйте итоговую причину завершения и данные использования.

##### Если нужно проверить исходный ответ

Сохраняйте ID запросов и ответов, а также заголовки. Общий URL получения текстового задания не предоставлен.

Поля ответа

| Поле | Тип |
| --- | --- |
| Поле`choices[].index` | Типinteger |
| Поле`choices[].message.content` | Типstring\|null |
| Поле`choices[].message.tool_calls` | Типtool\_call\[\] |
| Поле`choices[].message.reasoning_content` | Типstring |
| Поле`choices[].message.reasoning_details` | Типobject\|array |
| Поле`choices[].finish_reason` | Типstring\|null |
| Поле`usage` | Типobject |

Ошибки и дальнейшие шаги

| Ответ | Условие | Следующий шаг |
| --- | --- | --- |
| Ответ400 · `invalid_request_error` | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |

### Псевдонимы

#### Псевдонимы моделей

**Ailoot Ultra** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

#### Псевдонимы путей метода

Используйте пути методов, указанные выше.

#### Связанные ID для вызова

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

**Ailoot Ultra · Сообщения Anthropic** `POST /v1/messages` `anthropic/claude-haiku-5.5`

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages)

Anthropic /`anthropic/claude-haiku-5.5`

ID модели

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### Начало

Claude Haiku 5.5 — небольшая модель Anthropic для классификации, извлечения данных, кратких изложений, маршрутизации и конкретных агентных задач. Она сочетает понимание текста и изображений с адаптивным рассуждением и рассчитана на повторяющуюся работу, где нужен быстрый ответ.

Допустимые входные данные

Текст

Результаты

json · sse

### Доступно в Ailoot · входные данные и методы

**Ailoot Ultra · Сообщения Anthropic** `POST /v1/messages`

Входные данные

`text`

Результат

`json`, `sse`

Выходной формат

JSON или SSE

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения anthropic/claude-haiku-5.5 | По умолчанию— |
| Поле`messages` | Тип`message[]` | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
| Поле`messages[].role` | Тип`string` | ТребованиеОбязательно | Значения и ограничения user, assistant | По умолчанию— |
| Поле`messages[].content` | Тип`string` | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
| Поле`max_tokens` | Тип`integer` | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
| Поле`stream` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения | По умолчаниюfalse |

Сочетания входных материалов

**Текст** · Текст UTF-8

`строка messages[].content`

Параметры и жизненный цикл метода

| Параметр | Контракт |
| --- | --- |
| Параметр`content_type` | Контрактapplication/json |
| Параметр`required` | Контрактmodel, messages, max\_tokens |
| Параметр`optional_controls` | Контрактstream |
| Параметр`material_types` | Контрактtext |
| Параметр`text_file_material` | КонтрактПрочитайте фактический документ UTF-8 и поместите его текст в указанную строку входа или содержимого сообщения. |

Жизненный цикл: `synchronous_or_streamed`

### Тарифы

Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.

Быстрый режим

Стандартный тариф При выборе быстрого режима

Режим flex

Стандартный тариф При выборе режима flex

Максимальная интенсивность рассуждений

Стандартный тариф При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)

Интенсивность рассуждений · высокая (high)

Стандартный тариф При высокой интенсивности рассуждений (high)

Интенсивность рассуждений · низкая (low)

Стандартный тариф При низкой интенсивности рассуждений (low)

Интенсивность рассуждений · max

Стандартный тариф При интенсивности рассуждений max

Интенсивность рассуждений · средняя (medium)

Стандартный тариф При средней интенсивности рассуждений (medium)

Интенсивность рассуждений · xhigh

Стандартный тариф При интенсивности рассуждений xhigh

#### Ставки Ailoot

#### Цены по конфигурациям

Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.

| Конфигурация | Шкала ставок | Токенов контекста больше | Токенов контекста не более, включительно | Плата |
| --- | --- | --- | --- | --- |
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Токенов контекста больше— | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.0004** / 1K токенов |
| КонфигурацияУровень 1 по длине запроса | Шкала ставок— | Токенов контекста больше0 | Токенов контекста не более, включительно100 000 | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.0004** / 1K токенов |
| КонфигурацияУровень 2 по длине запроса | Шкала ставок— | Токенов контекста больше100 000 | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.002** / 1K токенов |

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

### Примеры запросов

#### Ailoot Ultra · Сообщения Anthropic

Полное минимальное тело запроса в формате JSONcurl · используйте свой документ UTF-8Python · сохраните полный результат

```json
{
  "model": "anthropic/claude-haiku-5.5",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'anthropic/claude-haiku-5.5', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'anthropic/claude-haiku-5.5', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Получить и сохранить результаты

#### Ailoot Ultra · Сообщения Anthropic

JSON или SSE

##### Сохраняйте все готовые результаты

Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.

Сохраняйте все блоки содержимого, подписи рассуждений и фактические ID обращений к инструментам. Собирайте все изменения блоков SSE; первый текстовый блок не является полным выходом.

##### Если нужно проверить исходный ответ

Сохраняйте ID запросов и ответов, а также заголовки. Общий URL получения текстового задания не предоставлен.

Поля ответа

| Поле | Тип |
| --- | --- |
| Поле`id` | Типstring |
| Поле`model` | Типstring |
| Поле`content[]` | Типtext\|thinking\|tool\_use\|other content block |
| Поле`stop_reason` | Типstring\|null |
| Поле`usage` | Типobject |

Ошибки и дальнейшие шаги

| Ответ | Условие | Следующий шаг |
| --- | --- | --- |
| Ответ400 · `invalid_request_error` | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |

### Псевдонимы

#### Псевдонимы моделей

**Ailoot Ultra** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

#### Псевдонимы путей метода

Используйте пути методов, указанные выше.

#### Связанные ID для вызова

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions` `~anthropic/claude-haiku-latest`

[`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

Anthropic /`~anthropic/claude-haiku-latest`

ID модели

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### Начало

Claude Haiku 5.5 — небольшая модель Anthropic для классификации, извлечения данных, кратких изложений, маршрутизации и конкретных агентных задач. Она сочетает понимание текста и изображений с адаптивным рассуждением и рассчитана на повторяющуюся работу, где нужен быстрый ответ.

Допустимые входные данные

Текст

Результаты

Текст

### Доступно в Ailoot · входные данные и методы

**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions`

Входные данные

`text`

Результат

`text`

Выходной формат

json или SSE

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения ~anthropic/claude-haiku-latest | По умолчанию— |
| Поле`messages` | Тип`message[]` | ТребованиеОбязательно | Значения и ограничения Минимум элементов: 1 | По умолчанию— |
| Поле`messages[].role` | Тип`string` | ТребованиеОбязательно | Значения и ограничения Примеры: system, user, assistant, tool, function Условия: Эти роли явно представлены типами совместимости исходного кода; точный набор ролей зависит от модели. Зависит от модели | По умолчанию— |
| Поле`messages[].content` | Тип`string\|content_part[]\|null` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`messages[].tool_calls` | Тип`tool_call[]` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`messages[].tool_call_id` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Применяется, когда: role=tool; используйте фактически возвращённый ID | По умолчанию— |
| Поле`messages[].name` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`messages[].reasoning_content` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Применяется, когда: Передавайте обратно фактически возвращённые рассуждения, если эта модель их использует | По умолчанию— |
| Поле`messages[].reasoning_details` | Тип`object\|array` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`max_tokens` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Минимум: 1 Зависит от модели | По умолчанию— |
| Поле`max_completion_tokens` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Минимум: 1 Зависит от модели | По умолчанию— |
| Поле`stream` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения | По умолчаниюfalse |
| Поле`stream_options.include_usage` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`temperature` | Тип`number` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`top_p` | Тип`number` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`stop` | Тип`string\|string[]` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`tools` | Тип`function_tool[]` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`tools[].type` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения function Зависит от модели | По умолчанию— |
| Поле`tools[].function.name` | Тип`string` | ТребованиеОбязательно | Значения и ограничения Применяется, когда: передан инструмент-функция | По умолчанию— |
| Поле`tools[].function.description` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`tools[].function.parameters` | Тип`JSON_schema` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`tool_choice` | Тип`string\|object` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`parallel_tool_calls` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`response_format` | Тип`object` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`reasoning_effort` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`reasoning` | Тип`object` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`service_tier` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`instructions` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Поле совместимости | По умолчанию— |
| Поле`functions` | Тип`function[]` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`function_call` | Тип`string\|object` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`prompt_cache_options` | Тип`object` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`modalities` | Тип`string[]` | ТребованиеНеобязательно | Значения и ограничения text | По умолчанию— |
| Поле`provider` | Тип`object` | ТребованиеНеобязательно | Значения и ограничения Условия: provider.options отклоняется на этом текстовом маршруте Ultra | По умолчанию— |
| Поле`cache_control.ttl` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Условия: 1h отклоняется в фактических местах настройки кэша запросов | По умолчанию— |

Сочетания входных материалов

**Текст** · Текст UTF8

`messages[].content`

Параметры и жизненный цикл метода

| Параметр | Контракт |
| --- | --- |
| Параметр`content_type` | Контрактapplication/json |
| Параметр`required` | Контрактmodel, messages |
| Параметр`material_types` | Контрактtext |
| Параметр`messages` | Контрактмассив сообщений со структурой role/content |
| Параметр`file_material` | Контрактфактический документ UTF-8 вставляется как буквальный текст; ID файла не выводится из него |
| Параметр`optional_controls` | Контрактstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Параметр`control_scope` | Контрактзависит от модели; пользовательские инструменты-функции отличаются от инструментов, выполняемых на стороне сервиса |
| Параметр`output_modalities` | Контрактtext |
| Параметр`hosted_operations` | Контрактfalse |
| Параметр`multimodal_input_binding` | Контрактnull |

Жизненный цикл: `synchronous_or_streamed`

Отправляйте точный ID модели вместе с messages.

Длина контекста не является пределом выхода.

Текстовый файл может передавать буквальный текст; входные изображения, аудио и файловые объекты требуют точной привязки.

### Тарифы

Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.

Быстрый режим

Стандартный тариф При выборе быстрого режима

Режим flex

Стандартный тариф При выборе режима flex

Максимальная интенсивность рассуждений

Стандартный тариф При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)

Интенсивность рассуждений · высокая (high)

Стандартный тариф При высокой интенсивности рассуждений (high)

Интенсивность рассуждений · низкая (low)

Стандартный тариф При низкой интенсивности рассуждений (low)

Интенсивность рассуждений · max

Стандартный тариф При интенсивности рассуждений max

Интенсивность рассуждений · средняя (medium)

Стандартный тариф При средней интенсивности рассуждений (medium)

Интенсивность рассуждений · xhigh

Стандартный тариф При интенсивности рассуждений xhigh

#### Ставки Ailoot

#### Цены по конфигурациям

Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.

| Конфигурация | Шкала ставок | Токенов контекста больше | Токенов контекста не более, включительно | Плата |
| --- | --- | --- | --- | --- |
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Токенов контекста больше— | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.0004** / 1K токенов |
| КонфигурацияУровень 1 по длине запроса | Шкала ставок— | Токенов контекста больше0 | Токенов контекста не более, включительно100 000 | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.0004** / 1K токенов |
| КонфигурацияУровень 2 по длине запроса | Шкала ставок— | Токенов контекста больше100 000 | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.002** / 1K токенов |

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

### Примеры запросов

#### Ailoot Ultra · Чат OpenAI

curlPython SDKПоток Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "~anthropic/claude-haiku-latest", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='~anthropic/claude-haiku-latest',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='~anthropic/claude-haiku-latest',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Получить и сохранить результаты

#### Ailoot Ultra · Чат OpenAI

json или SSE

##### Сохраняйте все готовые результаты

Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.

Сохраняйте каждый вариант ответа с его содержимым, вызовами инструментов и рассуждениями. В SSE собирайте изменения по индексам варианта и инструмента, сохраняйте итоговую причину завершения и данные использования.

##### Если нужно проверить исходный ответ

Сохраняйте ID запросов и ответов, а также заголовки. Общий URL получения текстового задания не предоставлен.

Поля ответа

| Поле | Тип |
| --- | --- |
| Поле`choices[].index` | Типinteger |
| Поле`choices[].message.content` | Типstring\|null |
| Поле`choices[].message.tool_calls` | Типtool\_call\[\] |
| Поле`choices[].message.reasoning_content` | Типstring |
| Поле`choices[].message.reasoning_details` | Типobject\|array |
| Поле`choices[].finish_reason` | Типstring\|null |
| Поле`usage` | Типobject |

Ошибки и дальнейшие шаги

| Ответ | Условие | Следующий шаг |
| --- | --- | --- |
| Ответ400 · `invalid_request_error` | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |

### Псевдонимы

#### Псевдонимы моделей

**Ailoot Ultra** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

#### Псевдонимы путей метода

Используйте пути методов, указанные выше.

#### Связанные ID для вызова

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

**Ailoot Ultra · Сообщения Anthropic** `POST /v1/messages` `~anthropic/claude-haiku-latest`

[`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

Anthropic /`~anthropic/claude-haiku-latest`

ID модели

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### Начало

Claude Haiku 5.5 — небольшая модель Anthropic для классификации, извлечения данных, кратких изложений, маршрутизации и конкретных агентных задач. Она сочетает понимание текста и изображений с адаптивным рассуждением и рассчитана на повторяющуюся работу, где нужен быстрый ответ.

Допустимые входные данные

Текст

Результаты

json · sse

### Доступно в Ailoot · входные данные и методы

**Ailoot Ultra · Сообщения Anthropic** `POST /v1/messages`

Входные данные

`text`

Результат

`json`, `sse`

Выходной формат

JSON или SSE

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения ~anthropic/claude-haiku-latest | По умолчанию— |
| Поле`messages` | Тип`message[]` | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
| Поле`messages[].role` | Тип`string` | ТребованиеОбязательно | Значения и ограничения user, assistant | По умолчанию— |
| Поле`messages[].content` | Тип`string` | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
| Поле`max_tokens` | Тип`integer` | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
| Поле`stream` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения | По умолчаниюfalse |

Сочетания входных материалов

**Текст** · Текст UTF-8

`строка messages[].content`

Параметры и жизненный цикл метода

| Параметр | Контракт |
| --- | --- |
| Параметр`content_type` | Контрактapplication/json |
| Параметр`required` | Контрактmodel, messages, max\_tokens |
| Параметр`optional_controls` | Контрактstream |
| Параметр`material_types` | Контрактtext |
| Параметр`text_file_material` | КонтрактПрочитайте фактический документ UTF-8 и поместите его текст в указанную строку входа или содержимого сообщения. |

Жизненный цикл: `synchronous_or_streamed`

### Тарифы

Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.

Быстрый режим

Стандартный тариф При выборе быстрого режима

Режим flex

Стандартный тариф При выборе режима flex

Максимальная интенсивность рассуждений

Стандартный тариф При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)

Интенсивность рассуждений · высокая (high)

Стандартный тариф При высокой интенсивности рассуждений (high)

Интенсивность рассуждений · низкая (low)

Стандартный тариф При низкой интенсивности рассуждений (low)

Интенсивность рассуждений · max

Стандартный тариф При интенсивности рассуждений max

Интенсивность рассуждений · средняя (medium)

Стандартный тариф При средней интенсивности рассуждений (medium)

Интенсивность рассуждений · xhigh

Стандартный тариф При интенсивности рассуждений xhigh

#### Ставки Ailoot

#### Цены по конфигурациям

Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.

| Конфигурация | Шкала ставок | Токенов контекста больше | Токенов контекста не более, включительно | Плата |
| --- | --- | --- | --- | --- |
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Токенов контекста больше— | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.0004** / 1K токенов |
| КонфигурацияУровень 1 по длине запроса | Шкала ставок— | Токенов контекста больше0 | Токенов контекста не более, включительно100 000 | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.0004** / 1K токенов |
| КонфигурацияУровень 2 по длине запроса | Шкала ставок— | Токенов контекста больше100 000 | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены **$0.0002** / 1K токенов Выход · Выходные токены **$0.001** / 1K токенов Вход · Чтение кэша **$0.00002** / 1K токенов Вход · Запись в кэш **$0.00025** / 1K токенов Вход · Запись в кэш, 1 час **$0.002** / 1K токенов |

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

### Примеры запросов

#### Ailoot Ultra · Сообщения Anthropic

Полное минимальное тело запроса в формате JSONcurl · используйте свой документ UTF-8Python · сохраните полный результат

```json
{
  "model": "~anthropic/claude-haiku-latest",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': '~anthropic/claude-haiku-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': '~anthropic/claude-haiku-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Получить и сохранить результаты

#### Ailoot Ultra · Сообщения Anthropic

JSON или SSE

##### Сохраняйте все готовые результаты

Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.

Сохраняйте все блоки содержимого, подписи рассуждений и фактические ID обращений к инструментам. Собирайте все изменения блоков SSE; первый текстовый блок не является полным выходом.

##### Если нужно проверить исходный ответ

Сохраняйте ID запросов и ответов, а также заголовки. Общий URL получения текстового задания не предоставлен.

Поля ответа

| Поле | Тип |
| --- | --- |
| Поле`id` | Типstring |
| Поле`model` | Типstring |
| Поле`content[]` | Типtext\|thinking\|tool\_use\|other content block |
| Поле`stop_reason` | Типstring\|null |
| Поле`usage` | Типobject |

Ошибки и дальнейшие шаги

| Ответ | Условие | Следующий шаг |
| --- | --- | --- |
| Ответ400 · `invalid_request_error` | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |

### Псевдонимы

#### Псевдонимы моделей

**Ailoot Ultra** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

#### Псевдонимы путей метода

Используйте пути методов, указанные выше.

#### Связанные ID для вызова

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ru/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

FAQ · Anthropic: Claude Haiku 5.5

Какие входные данные и результаты доступны?

`POST /v1/chat/completions` · `anthropic/claude-haiku-5.5`: `text` → `text` `POST /v1/messages` · `anthropic/claude-haiku-5.5`: `text` → `json`, `sse` `POST /v1/chat/completions` · `~anthropic/claude-haiku-latest`: `text` → `text` `POST /v1/messages` · `~anthropic/claude-haiku-latest`: `text` → `json`, `sse`

Какие поля использует запрос?

`POST /v1/chat/completions` · `anthropic/claude-haiku-5.5`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `anthropic/claude-haiku-5.5`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/chat/completions` · `~anthropic/claude-haiku-latest`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `~anthropic/claude-haiku-latest`: `model`, `messages`, `max_tokens`, `stream`

Какие ограничения действуют?

`POST /v1/chat/completions` · `anthropic/claude-haiku-5.5`: `messages.min_items`: `1` `POST /v1/chat/completions` · `~anthropic/claude-haiku-latest`: `messages.min_items`: `1`

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

## Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

## Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка

Выберите тариф со скидкой для своих регулярных запросов.

Промокод до 50%

Введите код при покупке. Цена пересчитается с учётом действующей акции.

Расходы в истории

Модель, токены и сумма сохраняются для каждого запроса.

[Выбрать подписку](https://ailoot.ai/docs/ru/billing/subscriptions/) · [Посмотреть цены моделей](https://ailoot.ai/models/ru/)

## Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение

Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.

Лицензия для реселлера

Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.

Документы на сайте

Оферта, лицензионный договор и политика обработки данных доступны до подключения.

[Запросить реселлерскую лицензию](mailto:support@ailoot.ai) · [Оферта и лицензионный договор](https://ailoot.ai/legal/offer?lang=ru)

## Ailoot · Компания и портфель её проектов





Ailoot опирается на накопленный опыт работы, большую клиентскую базу, стабильный сервис и постоянный контроль KPI.





Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.





Этот опыт Ailoot использует для API-доступа к нейросетям в продуктах клиентов, агентах, приложениях и автоматизациях.


## Доступно в Ailoot API

`claude-haiku-5-5` · Core

Входные данные

`text`

Результат

`text`

Контекст

200 000 *токенов*

Макс. ответ

65 536 *токенов*

Вход

0,0001 $ */ 1K*

Выход

0,0005 $ */ 1K*

Чтение кэша

0,00001 $ */ 1K*

Запись в кэш

0,000125 $ */ 1K*

Запись в кэш, 5 мин

0,000125 $ */ 1K tokens*

Запись в кэш, 1 час

0,0002 $ */ 1K tokens*

web\_search\_call

0,01 $ *за вызов*

Макс. вызовов web\_search\_call

8

#### Цены по длине запроса · Anthropic Messages

| Размер запроса, токенов | Вход | Выход | Чтение кэша | Запись в кэш | Кэш 5 мин | Кэш 1 час |
| --- | --- | --- | --- | --- | --- | --- |
| Размер запроса, токенов(0; 100 000\] | Вход0,0001 $ | Выход0,0005 $ | Чтение кэша0,00001 $ | Запись в кэш0,000125 $ | Кэш 5 мин0,000125 $ | Кэш 1 час0,0002 $ |
| Размер запроса, токенов(100 000; ∞) | Вход0,0005 $ | Выход0,0025 $ | Чтение кэша0,00005 $ | Запись в кэш0,000625 $ | Кэш 5 мин0,000625 $ | Кэш 1 час0,001 $ |

Ставки в USD за 1K токенов. Если ставка не задана, наследуется базовая ставка этого метода; «—» означает, что базовая ставка не задана.

`claude-haiku-5-5` · Core

Входные данные

`text`

Результат

`text`

Контекст

200 000 *токенов*

Макс. ответ

65 536 *токенов*

Вход

0,0001 $ */ 1K*

Выход

0,0005 $ */ 1K*

Чтение кэша

0,00001 $ */ 1K*

Запись в кэш

0,000125 $ */ 1K*

Запись в кэш, 5 мин

0,000125 $ */ 1K tokens*

Запись в кэш, 1 час

0,0002 $ */ 1K tokens*

web\_search\_call

0,01 $ *за вызов*

Макс. вызовов web\_search\_call

8

#### Цены по длине запроса · OpenAI Responses

| Размер запроса, токенов | Вход | Выход | Чтение кэша | Запись в кэш | Кэш 5 мин | Кэш 1 час |
| --- | --- | --- | --- | --- | --- | --- |
| Размер запроса, токенов(0; 100 000\] | Вход0,0001 $ | Выход0,0005 $ | Чтение кэша0,00001 $ | Запись в кэш0,000125 $ | Кэш 5 мин0,000125 $ | Кэш 1 час0,0002 $ |
| Размер запроса, токенов(100 000; ∞) | Вход0,0005 $ | Выход0,0025 $ | Чтение кэша0,00005 $ | Запись в кэш0,000625 $ | Кэш 5 мин0,000625 $ | Кэш 1 час0,001 $ |

Ставки в USD за 1K токенов. Если ставка не задана, наследуется базовая ставка этого метода; «—» означает, что базовая ставка не задана.

`claude-haiku-5-5` · Core

Входные данные

`text`

Результат

`text`

Контекст

200 000 *токенов*

Макс. ответ

65 536 *токенов*

Вход

0,0001 $ */ 1K*

Выход

0,0005 $ */ 1K*

Чтение кэша

0,00001 $ */ 1K*

Запись в кэш

0,000125 $ */ 1K*

Запись в кэш, 5 мин

0,000125 $ */ 1K tokens*

Запись в кэш, 1 час

0,0002 $ */ 1K tokens*

web\_search\_call

0,01 $ *за вызов*

Макс. вызовов web\_search\_call

8

#### Цены по длине запроса · OpenAI Chat

| Размер запроса, токенов | Вход | Выход | Чтение кэша | Запись в кэш | Кэш 5 мин | Кэш 1 час |
| --- | --- | --- | --- | --- | --- | --- |
| Размер запроса, токенов(0; 100 000\] | Вход0,0001 $ | Выход0,0005 $ | Чтение кэша0,00001 $ | Запись в кэш0,000125 $ | Кэш 5 мин0,000125 $ | Кэш 1 час0,0002 $ |
| Размер запроса, токенов(100 000; ∞) | Вход0,0005 $ | Выход0,0025 $ | Чтение кэша0,00005 $ | Запись в кэш0,000625 $ | Кэш 5 мин0,000625 $ | Кэш 1 час0,001 $ |

Ставки в USD за 1K токенов. Если ставка не задана, наследуется базовая ставка этого метода; «—» означает, что базовая ставка не задана.

`claude-haiku-5-5` · Core

Входные данные

`text`

Результат

`text`

Контекст

200 000 *токенов*

Макс. ответ

65 536 *токенов*

Вход

0,0001 $ */ 1K*

Выход

0,0005 $ */ 1K*

Чтение кэша

0,00001 $ */ 1K*

Запись в кэш

0,000125 $ */ 1K*

Запись в кэш, 5 мин

0,000125 $ */ 1K tokens*

Запись в кэш, 1 час

0,0002 $ */ 1K tokens*

web\_search\_call

0,01 $ *за вызов*

Макс. вызовов web\_search\_call

8

#### Цены по длине запроса · Gemini generateContent

| Размер запроса, токенов | Вход | Выход | Чтение кэша | Запись в кэш | Кэш 5 мин | Кэш 1 час |
| --- | --- | --- | --- | --- | --- | --- |
| Размер запроса, токенов(0; 100 000\] | Вход0,0001 $ | Выход0,0005 $ | Чтение кэша0,00001 $ | Запись в кэш0,000125 $ | Кэш 5 мин0,000125 $ | Кэш 1 час0,0002 $ |
| Размер запроса, токенов(100 000; ∞) | Вход0,0005 $ | Выход0,0025 $ | Чтение кэша0,00005 $ | Запись в кэш0,000625 $ | Кэш 5 мин0,000625 $ | Кэш 1 час0,001 $ |

Ставки в USD за 1K токенов. Если ставка не задана, наследуется базовая ставка этого метода; «—» означает, что базовая ставка не задана.

[JSON](https://ailoot.ai/models/ru/anthropic-claude-haiku-5-5/method-additions-cd3f3feea630a6419ea2.json)
