Claude Message Batches
Koristite pakete poruka kompatibilne s Anthropicom dok Model Gate izvršava svaku stavku kroz svoj izdržljivi interni red čekanja.
Claude Message Batches
Postojeće skupne operacije čitanja/kontrole ostaju dostupne na nultom stanju za inače važeće aktivne vjerodajnice, ali POST /v1/messages/batches zahtijeva svježi prijem pozitivnog salda/potrošnje prije pohranjivanja redaka poslova/stavki. Ključ nulte ravnoteže stoga ne može stvoriti novu Claude seriju ili potrošiti MariaDB pohranu za zadržavanje. Stvarni predmeti ponovno provjeravaju prijem kad ih radnici zatraže i čekaju u trajnom redu ako se sredstva kasnije potroše. Unos se dekodira postupno stavku po stavku umjesto da se učitava kao potpuni JSON dokument od 256 MB u memoriji, a kvote aktivnih poslova/stavki u redu čekanja po korisniku ograničavaju zlouporabu pohrane neovisno o naplati.
Model Gate implementira Anthropic-kompatibilan Message Batch API na https://api.model-gate.com. To je sloj kompatibilnosti: Model Gate trajno pohranjuje seriju i izvršava svaku stavku kroz normalni Model Gate /v1/messages put. To čini ne pošaljite Anthropic seriju izvornu za davatelja uzvodno.
Upotrijebite uobičajeni API ključ modela (mg_live_...). Svaka stavka se obračunava kao pojedinačni zahtjev sa request_mode=batch, batch_protocol=claude, ID serije i njezin custom_id.
Streaming nije podržan unutar serije. Aliasi modela rješavaju se prije nego što se stavka stavi u red čekanja.
Stvorite skupinu poruka
Zahtjev
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."}]
}
}
]
}'
Odziv — 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
}
Dohvati seriju
Zahtjev
curl https://api.model-gate.com/v1/messages/batches/msgbatch_01K... \
-H "x-api-key: mg_live_..."
Odgovor — završeno
{
"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"
}
Pročitaj rezultate
Rezultati se vraćaju kao JSON linije. Nemojte pretpostavljati da logika aplikacije ovisi o izvornom redoslijedu unosa; rezultati utakmica prema custom_id.
Zahtjev
curl https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../results \
-H "x-api-key: mg_live_..."
Odziv — 200
{"custom_id":"summary-1","result":{"type":"succeeded","message":{"id":"msg_...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}]}}}
Navedite serije
limit zadano 20 i mora biti iz 1 do 100. Koristiti after_id ili before_id za paginaciju pokazivača; nemojte slati oba u jednom zahtjevu.
Zahtjev
curl "https://api.model-gate.com/v1/messages/batches?limit=20&after_id=msgbatch_01K..." \
-H "x-api-key: mg_live_..."
Odziv — 200
{
"data": [],
"has_more": false,
"first_id": null,
"last_id": null
}
Otkaži seriju
Odustani zaustavlja traženje stavki na čekanju. Stavka koja se već obrađuje može završiti.
Zahtjev
curl -X POST https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../cancel \
-H "x-api-key: mg_live_..."
Odziv — 200
{
"id": "msgbatch_01K...",
"type": "message_batch",
"processing_status": "canceling",
"request_counts": {
"processing": 1,
"succeeded": 0,
"errored": 0,
"canceled": 0,
"expired": 0
}
}
Brisanje završene serije
Brisanje je prihvaćeno samo nakon što je serija dosegla terminalno stanje.
Zahtjev
curl -X DELETE https://api.model-gate.com/v1/messages/batches/msgbatch_01K... \
-H "x-api-key: mg_live_..."
Odziv — 200
{
"id": "msgbatch_01K...",
"type": "message_batch_deleted"
}
Semantika oporavka
Skupne stavke koriste isti trajni red kao izvorni asinkroni zahtjevi. Oporavak je barem-jednom, ne točno jednom: nakon pada worker-a, napušteni najam može se zatražiti, a stavka se može ponovno poslati uzvodno ako prvi uzvodni odgovor nije bio trajno pohranjen. Model Gate ID zahtjeva ostaje stabilan tijekom ponovnih pokušaja, a čuvari poravnanja sprječavaju drugo terećenje računa za već dovršeni zahtjev.
Svaki predmet se prima neposredno prije nego što ga radnik preuzme. Inače važeće stavke ostaju u redu čekanja dok trenutno stanje računa nije pozitivno ili je ograničenje potrošnje ključa/grupe koje se može resetirati već iscrpljeno; čekanje sredstava ne troši pokušaj niti označava da je stavka neuspjela. Kasnija nadopuna, poništavanje upotrebe ili povećanje ograničenja automatski nastavljaju ispunjavati uvjete na čekanju. Model Gate ne rezervira trošak serije u najgorem slučaju, tako da istovremeno primljene stavke mogu završiti s negativnim konačnim saldom ili malim prekoračenjem ograničenja potrošnje; zadržavaju se samo sljedeće nove stavke.
Cijene i računovodstvo
Svaka skupna stavka koristi isti model usmjeravanja, računovodstvo tokena, snimku cijena, vrednovanje upotrebe, API-ključ/ograničenja grupe i logiku poravnanja kao i normalni zahtjev Model Gate. Administrator može konfigurirati a Koeficijent cijene paketnog zahtjeva na predlošku za cijene računa. Zadano je 1.
Na primjer, s normalnim troškom Model Gate 0.02 i šaržni koeficijent 0.5, stvarno zaduženje računa je 0.01. Spremljeni referentni iznos službenog davatelja ne množi se ovim koeficijentom serije Model Gate. Upotreba izvornih zahtjeva "async": true također nisu pogođeni.
Ako se koeficijent razlikuje od 1, prikazano je na stranici Cijene modela i u /v1/models kao batch_pricing plus efektivni batch_cost stope.
Greške
Nevažeći ili duplikat custom_id, nepoznati model, stream:true, ugniježđeno async:true, predimenzioniran zahtjev ili nevažeće tijelo vraća normalan odgovor na pogrešku u stilu Anthropic.
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "summary-1: stream=true is not supported inside a batch"
}
}