B2BB2B LLM

Claude Message Batches

Користите групе порука које су компатибилне са антропизмом док Модел Гате извршава сваку ставку кроз свој издржљив интерни ред.

Claude Message Batches

Постојеће операције групног читања/контроле остају доступне на нултом стању за иначе важеће активне акредитиве, али POST /v1/messages/batches захтева нови пријем позитивног биланса/потрошње пре него што се похране било који редови посла/ставки. Кључ са нултом равнотежом стога не може да креира нову Цлауде групу или да потроши МариаДБ складиште за задржавање. Стварне ставке поново проверавају пријем када их радници потраже и чекају у трајном реду ако се средства касније потроше. Унос се декодира постепено ставку по ставку уместо да се учитава као комплетан ЈСОН документ од 256 МБ у меморији, а квоте активног посла/ставке у реду по кориснику су везане за злоупотребу складиштења независно од наплате.

Модел Гате имплементира антропски компатибилан АПИ за групе порука https://api.model-gate.com. То је слој компатибилности: Модел Гате трајно складишти серију и извршава сваку ставку кроз нормалну Модел Гате /v1/messages пут. Има не пошаљите антропску серију изворног добављача узводно.

Користите нормалан модел АПИ кључ (mg_live_...). Свака ставка се обрачунава као појединачни захтев са request_mode=batch, batch_protocol=claude, ИД серије и њен custom_id.

Стримовање није подржано унутар групе. Алијаси модела се решавају пре него што се ставка стави у ред чекања.

Креирајте групу порука

Захтев

curl https://api.model-gate.com/v1/messages/batches \
  -H "x-api-key: mg_live_..." \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "requests": [
      {
        "custom_id": "summary-1",
        "params": {
          "model": "ch-47",
          "max_tokens": 256,
          "messages": [{"role":"user","content":"Summarize this text."}]
        }
      }
    ]
  }'

Одговор — 200

{
  "id": "msgbatch_01K...",
  "type": "message_batch",
  "processing_status": "in_progress",
  "request_counts": {
    "processing": 1,
    "succeeded": 0,
    "errored": 0,
    "canceled": 0,
    "expired": 0
  },
  "ended_at": null,
  "created_at": "2026-08-13T08:30:00Z",
  "expires_at": "2026-08-14T08:30:00Z",
  "cancel_initiated_at": null,
  "results_url": null
}

Преузми серију

Захтев

curl https://api.model-gate.com/v1/messages/batches/msgbatch_01K... \
  -H "x-api-key: mg_live_..."

Одговор — завршен

{
  "id": "msgbatch_01K...",
  "type": "message_batch",
  "processing_status": "ended",
  "request_counts": {
    "processing": 0,
    "succeeded": 1,
    "errored": 0,
    "canceled": 0,
    "expired": 0
  },
  "ended_at": "2026-08-13T08:30:04Z",
  "results_url": "https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../results"
}

Прочитајте резултате

Резултати се враћају као ЈСОН линије. Немојте претпостављати да логика апликације зависи од оригиналног редоследа уноса; резултати утакмица по custom_id.

Захтев

curl https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../results \
  -H "x-api-key: mg_live_..."

Одговор — 200

{"custom_id":"summary-1","result":{"type":"succeeded","message":{"id":"msg_...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}]}}}

Листа серија

limit подразумевано на 20 и мора бити из 1 да 100. Користите after_id или before_id за пагинацију курсора; не шаљите обоје у једном захтеву.

Захтев

curl "https://api.model-gate.com/v1/messages/batches?limit=20&after_id=msgbatch_01K..." \
  -H "x-api-key: mg_live_..."

Одговор — 200

{
  "data": [],
  "has_more": false,
  "first_id": null,
  "last_id": null
}

Откажите серију

Откажи зауставља полагање права на ставке на чекању. Ставка која се већ обрађује може да се заврши.

Захтев

curl -X POST https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../cancel \
  -H "x-api-key: mg_live_..."

Одговор — 200

{
  "id": "msgbatch_01K...",
  "type": "message_batch",
  "processing_status": "canceling",
  "request_counts": {
    "processing": 1,
    "succeeded": 0,
    "errored": 0,
    "canceled": 0,
    "expired": 0
  }
}

Избришите завршену групу

Брисање се прихвата тек након што серија достигне терминално стање.

Захтев

curl -X DELETE https://api.model-gate.com/v1/messages/batches/msgbatch_01K... \
  -H "x-api-key: mg_live_..."

Одговор — 200

{
  "id": "msgbatch_01K...",
  "type": "message_batch_deleted"
}

Семантика опоравка

Групне ставке користе исти издржљиви ред као и изворни асинхронизовани захтеви. Опоравак је бар-једном, не баш једном: након пада радника, напуштени закуп се може повратити, а ставка се може поново послати узводно ако први одговор узводно није био трајно сачуван. The Model Gate request ID remains stable across retries and settlement guards prevent a second account debit for an already-finished request.

Сваки предмет се прихвата непосредно пре него што га радник преузме. У супротном, важеће ставке остају у реду чекања док стање на текућем рачуну није позитивно или је ограничење потрошње које може да се ресетује кључ/група већ исцрпљено; чекање средстава не троши покушај нити означава ставку неуспешном. Касније допуњавање, ресетовање коришћења или повећање ограничења аутоматски настављају ставке које испуњавају услове. Модел Гате не резервише најгоре трошкове серије, тако да истовремено прихваћени артикли могу завршити са негативним коначним салдом или малим прекорачењем ограничења потрошње; одржавају се само наредне нове ставке.

Цене и рачуноводство

Свака серијска ставка користи исти модел рутирања, обрачун токена, снимак цена, процену коришћења, ограничења АПИ-кључа/групе и логику поравнања као и нормалан захтев за приступ моделу. Администратор може да конфигурише а Коефицијент цене захтева серије на шаблону цена налога. Подразумевано је 1.

На пример, са нормалном ценом модела капије 0.02 и коефицијент серије 0.5, стварно задужење рачуна је 0.01. Сачувани референтни износ званичног добављача се не множи са овим коефицијентом серије Модел Гате. Коришћење изворних захтева "async": true такође нису погођени.

Ако се коефицијент разликује од 1, приказан је на страници Цене модела и у /v1/models као batch_pricing плус ефективно batch_cost стопе.

Грешке

Неважећи или дупликат custom_id, непознати модел, stream:true, угнежђено async:true, превелики захтев или неважеће тело враћа нормалан одговор на грешку у антропском стилу.

{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "summary-1: stream=true is not supported inside a batch"
  }
}