B2BB2B LLM

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":"..."}]}}}

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"
  }
}