Claude Message Batches
Používajte dávky správ kompatibilné s Anthropic, zatiaľ čo Model Gate vykonáva každú položku prostredníctvom svojho odolného interného radu.
Claude Message Batches
Existujúce operácie dávkového čítania/kontroly zostávajú dostupné s nulovým zostatkom pre inak platné aktívne poverenie, ale POST /v1/messages/batches vyžaduje nový kladný zostatok/výdavky pred uložením akýchkoľvek riadkov úloh/položiek. Kľúč s nulovým zostatkom preto nemôže vytvoriť novú dávku Claude ani spotrebovať retenčný úložný priestor MariaDB. Skutočné položky znova skontrolujú príjem, keď si ich pracovníci vyžiadajú, a čakajú v trvalom rade, ak sa prostriedky neskôr vyčerpajú. Vstup sa dekóduje postupne položka po položke a nenačíta sa ako úplný 256 MB dokument JSON v pamäti a kvóty aktívnej úlohy na používateľa/položky vo fronte obmedzujú zneužívanie úložiska nezávisle od fakturácie.
Model Gate implementuje API Message Batches API kompatibilné s Anthropic https://api.model-gate.com. Je to vrstva kompatibility: Model Gate ukladá dávku natrvalo a vykonáva každú položku cez normálnu Model Gate /v1/messages cesta. áno nie odošlite natívnu antropickú dávku poskytovateľa proti prúdu.
Použite normálny model API kľúč (mg_live_...). Každá položka sa účtuje ako individuálna požiadavka request_mode=batch, batch_protocol=claude, ID šarže a jej custom_id.
Streamovanie nie je podporované v rámci dávky. Aliasy modelov sú vyriešené pred zaradením položky do frontu.
Vytvorte dávku správ
Žiadosť
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."}]
}
}
]
}'
Odpoveď - 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
}
Získajte dávku
Žiadosť
curl https://api.model-gate.com/v1/messages/batches/msgbatch_01K... \
-H "x-api-key: mg_live_..."
Odpoveď — ukončená
{
"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"
}
Prečítajte si výsledky
Výsledky sa vrátia ako riadky JSON. Nepredpokladajte, že aplikačná logika závisí od pôvodného poradia vstupu; výsledky zápasov podľa custom_id.
Žiadosť
curl https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../results \
-H "x-api-key: mg_live_..."
Odpoveď - 200
{"custom_id":"summary-1","result":{"type":"succeeded","message":{"id":"msg_...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}]}}}
Zoznam šarží
limit predvolene na 20 a musí byť z 1 do 100. Použite after_id alebo before_id pre stránkovanie kurzora; neposielajte oboje v jednej žiadosti.
Žiadosť
curl "https://api.model-gate.com/v1/messages/batches?limit=20&after_id=msgbatch_01K..." \
-H "x-api-key: mg_live_..."
Odpoveď - 200
{
"data": [],
"has_more": false,
"first_id": null,
"last_id": null
}
Zrušte dávku
Zrušiť zastaví nárokovanie položiek vo fronte. Spracovanie položky sa môže dokončiť.
Žiadosť
curl -X POST https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../cancel \
-H "x-api-key: mg_live_..."
Odpoveď - 200
{
"id": "msgbatch_01K...",
"type": "message_batch",
"processing_status": "canceling",
"request_counts": {
"processing": 1,
"succeeded": 0,
"errored": 0,
"canceled": 0,
"expired": 0
}
}
Odstráňte ukončenú dávku
Vymazanie je akceptované až potom, čo dávka dosiahne koncový stav.
Žiadosť
curl -X DELETE https://api.model-gate.com/v1/messages/batches/msgbatch_01K... \
-H "x-api-key: mg_live_..."
Odpoveď - 200
{
"id": "msgbatch_01K...",
"type": "message_batch_deleted"
}
Sémantika obnovy
Dávkové položky používajú rovnaký trvalý front ako natívne asynchrónne požiadavky. Zotavenie je aspoň raz, nie presne raz: po havárii pracovníka je možné prenechaný prenájom získať späť a položka môže byť znova odoslaná do upstreamu, ak prvá odozva proti prúdu nebola trvalo uložená. ID žiadosti Model Gate zostáva stabilné počas opakovaných pokusov a strážcovia vyrovnania zabraňujú druhému debetu z účtu za už hotovú žiadosť.
Každá položka je prijatá bezprostredne predtým, ako si ju pracovník uplatní. V opačnom prípade platné položky zostanú v rade, kým aktuálny zostatok na účte nie je kladný alebo kým je už vyčerpaný kľúč/skupinový resetovateľný limit výdavkov; čakanie na prostriedky nespotrebuje pokus alebo neoznačí položku ako neúspešnú. Neskoršie dobitie, vynulovanie používania alebo zvýšenie limitu automaticky obnoví vhodné položky vo fronte. Model Gate si nerezervuje náklady na dávku v najhoršom prípade, takže súčasne prijaté položky môžu skončiť so záporným konečným zostatkom alebo malým prekročením limitu výdavkov; uchovávajú sa iba nasledujúce nové položky.
Cenotvorba a účtovníctvo
Každá položka v dávke používa rovnaké smerovanie modelu, účtovanie tokenov, prehľad cien, ocenenie použitia, limity kľúča API/skupiny a logiku zúčtovania ako bežná požiadavka brány modelu. Správca môže nakonfigurovať a Koeficient ceny šarže požiadavky na šablóne cien účtu. Predvolená hodnota je 1.
Napríklad s bežnými nákladmi Model Gate 0.02 a šaržový koeficient 0.5, skutočný debet účtu je 0.01. Uložená referenčná suma oficiálneho poskytovateľa sa nenásobí týmto dávkovým koeficientom Model Gate. Natívne požiadavky pomocou "async": true tiež nie sú ovplyvnené.
Ak sa koeficient líši od 1, je zobrazený na stránke Ceny modelov a v /v1/models ako batch_pricing plus efektívne batch_cost sadzby.
Chyby
Neplatné alebo duplicitné custom_idneznámy model, stream:true, vnorené async:true, nadmerná požiadavka alebo neplatné telo vráti normálnu chybovú odpoveď v antropickom štýle.
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "summary-1: stream=true is not supported inside a batch"
}
}