Message Batches API позволяет отправить до 100 000 запросов одним пакетом и получить результаты в течение 24 часов со скидкой 50%. Подходит для задач, где мгновенный ответ не нужен: масштабных оценок качества, модерации и анализа больших объёмов контента, массовой генерации текста.
Запросы передаются прямо в теле — массивом внутри запроса на создание пакета. В пакет можно поместить почти любой запрос к Messages API: vision, инструменты, расширенное мышление (extended thinking), кэширование промптов. Путь к API — https://api.proxyapi.ru/anthropic, официальный SDK полностью совместим.
- Создание пакета. Передаёте массив
requests, каждый со своимcustom_idи параметрами сообщения (params). - Опрос статуса. Запрашиваете пакет по
id, покаprocessing_statusне станетended. - Получение результатов. Скачиваете результаты построчно (JSONL); каждый соотносится с запросом по
custom_id.
Каждый запрос в пакете обязан содержать max_tokens (не менее 1). custom_id — от 1 до 64 символов: латиница, цифры, дефис и подчёркивание.
# Создание пакета curl "https://api.proxyapi.ru/anthropic/v1/messages/batches" \ -H "x-api-key: <КЛЮЧ>" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "requests": [ { "custom_id": "req-1", "params": { "model": "claude-sonnet-4-6", "max_tokens": 1024, "messages": [{"role": "user", "content": "Привет!"}] } } ] }' # Проверка статуса curl "https://api.proxyapi.ru/anthropic/v1/messages/batches/msgbatch_abc123" \ -H "x-api-key: <КЛЮЧ>" \ -H "anthropic-version: 2023-06-01" # Получение результатов curl "https://api.proxyapi.ru/anthropic/v1/messages/batches/msgbatch_abc123/results" \ -H "x-api-key: <КЛЮЧ>" \ -H "anthropic-version: 2023-06-01"
Поле processing_status пакета проходит стадии:
| Статус | Значение |
|---|---|
in_progress | пакет обрабатывается |
canceling | запрошена отмена, ожидается завершение текущих запросов |
ended | обработка завершена (в том числе после отмены или истечения) — результаты готовы |
Когда пакет в статусе ended, у каждого запроса есть результат одного из четырёх типов:
| Тип результата | Значение |
|---|---|
succeeded | запрос успешно выполнен, содержит ответ модели |
errored | ошибка запроса (например, невалидное тело); оплате не подлежит |
canceled | запрос отменён до отправки модели; оплате не подлежит |
expired | запрос не успел выполниться за 24 часа; оплате не подлежит |
Порядок строк в результатах не гарантирован — сопоставляйте ответы с запросами по custom_id.
| Операция | Метод и путь |
|---|---|
| Создание пакета | POST /anthropic/v1/messages/batches |
| Статус пакета | GET /anthropic/v1/messages/batches/{batch_id} |
| Результаты | GET /anthropic/v1/messages/batches/{batch_id}/results |
| Отмена пакета | POST /anthropic/v1/messages/batches/{batch_id}/cancel |
- 100 000 запросов или 256 МБ на пакет — что наступит раньше.
- Окно — 24 часа. Результаты доступны, когда завершены все запросы или по истечении 24 часов (что наступит раньше). Не успевшие запросы помечаются
expired. - Результаты хранятся 29 дней с момента создания пакета (не с момента завершения).
- Каждый запрос должен иметь
max_tokensне менее 1. custom_id— от 1 до 64 символов: латиница, цифры, дефис и подчёркивание.
- Нет методов «список пакетов» и «удаление пакета». У Anthropic они есть, но мы их не проксируем — доступны только создание, статус, результаты и отмена. Сохраняйте
idпакета на своей стороне. - Если хотя бы один запрос ссылается на модель без batch-тарифа, весь пакет отклоняется при создании — частично обработанных пакетов не бывает.
Списание происходит по завершении пакета, по фактическому использованию из успешных результатов, по batch-ставке (−50%). За отменённые, истёкшие и завершившиеся ошибкой запросы плата не взимается. Подробнее — в разделе «Пакетная обработка (Batch API)» в Основах.