РУСЛОПолучить ключ в кабинете

Batch-гайд: от строки JSONL до файла результатов за −50%

Зачем эта страница: создать batch-задачу в формате OpenAI или Anthropic, понять статусы, ретраи брака и посчитать экономию в ₽.

Вход OpenAI-формата

Вход — JSONL-файл: одна строка на один запрос. Загрузка файла: POST /v1/files с purpose="batch". Создание задачи: POST /v1/batches с телом {"input_file_id", "endpoint": "/v1/chat/completions", "completion_window": "24h"}. До 50 000 запросов на задачу. Результаты готовой задачи приходят файлами output_file_id и error_file_id.

{"custom_id":"row-001","method":"POST","url":"/v1/chat/completions","body":{"model":"mid-class-chat","messages":[{"role":"user","content":"…"}]}}

Ожидаемый вывод:

{"id":"batch_…","status":"validating","completion_window":"24h"}

Вход Anthropic-формата

Загрузка файла не нужна: POST /v1/messages/batches принимает inline-массив requests в теле запроса. До 100 000 запросов на задачу. Результаты: GET /v1/messages/batches/{id}/results — JSONL-поток.

{"requests":[{"custom_id":"row-001","params":{"model":"mid-class-chat","max_tokens":1024,"messages":[{"role":"user","content":"…"}]}}]}

Ожидаемый вывод:

{"id":"batch_…","status":"in_progress"}

Окно и статусы

Окно выполнения — 24h: значение completion_window. Задача проходит статусы validating → in_progress → finalizing → completed | expired | failed. Отмена: cancelling → cancelled.

Anthropic-формат: in_progress → ended с исходами выполнен / expired / canceled. Русские строки статусов и кнопки ретрая — на экране batch-задач кабинета.

Цена: −50% к цене единиц

Единицы batch-запросов тарифицируются со скидкой −50% относительно обычных. Расчёт: 1 000 строк mid-class-chat (1,5K+1K) вне batch — 420 ₽, в batch — 210 ₽. Скидка видна batch-колонкой каталога до запроса и парой „списано / было бы вне batch” после.

Брак и ретраи

Строки с ошибками (400 формата, 429 вендора) попадают в error-файл и не тарифицируются. Повтор — только ими: новая задача из error-файла с теми же custom_id. Ретраи внутри строки — по правилам D3: 429 и 5xx, backoff 1с → 2с → 4с, не более трёх повторов.

Прерванная задача и резервы

Задача expired или cancelled: завершённые строки тарифицированы, остальные возвращены без списания. Резерв: на старте задачи баланс резервирует оценку всех строк; по мере завершения строк резерв превращается в списания, остаток возвращается при завершении задачи.

Лимиты

Batch не расходует RPM/TPM мгновенно: исполнение распределено во времени. Рублёвые лимиты ключа и месяца расходует полностью (K3).

Создать задачу из примера

Подставьте свой ключ и выполните curl своего формата. Ключ — одно значение на оба формата; значение начинается с ruslo-sk-….

Подставить мой ключ

curl https://api.farvater.copul4.com/v1/batches \
  -H "Authorization: Bearer $RUSLO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input_file_id":"file_…","endpoint":"/v1/chat/completions","completion_window":"24h"}'

Ожидаемый вывод:

{"id":"batch_…","status":"validating","completion_window":"24h"}
curl https://api.farvater.copul4.com/v1/messages/batches \
  -H "x-api-key: $RUSLO_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"requests":[{"custom_id":"row-001","params":{"model":"mid-class-chat","max_tokens":1024,"messages":[{"role":"user","content":"…"}]}}]}'

Ожидаемый вывод:

{"id":"batch_…","status":"in_progress"}

Обновлено: 2026-10-26