B2BB2B LLM

Claude Message Batches

Brug Antropisk-kompatible Message Batches, mens Model Gate udfører hvert element gennem sin holdbare interne kø.

Claude Message Batches

Eksisterende batchlæse-/kontroloperationer forbliver tilgængelige ved nulsaldo for en ellers gyldig aktiv legitimationsoplysninger, men POST /v1/messages/batches kræver ny positiv saldo/forbrugsadgang, før nogen job-/varerækker gemmes. En nulbalancenøgle kan derfor ikke oprette en ny Claude-batch eller forbruge MariaDB-retentionslagring. Faktiske varer kontrollerer adgangen igen, når arbejderne gør krav på dem, og venter i den varige kø, hvis pengene senere er opbrugt. Input afkodes trinvist element for element i stedet for at blive indlæst som et komplet 256 MB i hukommelsen JSON-dokument, og aktiv-job-/kø-element-kvoter er bundet til lagermisbrug uafhængigt af fakturering.

Model Gate implementerer en Antropisk-kompatibel Message Batches API på https://api.model-gate.com. Det er et kompatibilitetslag: Model Gate opbevarer partiet holdbart og udfører hvert element gennem den normale Model Gate /v1/messages sti. Det gør den ikke indsende en udbyder-native Antropisk batch opstrøms.

Brug en normal Model API-nøgle (mg_live_...). Hver vare er opført som en individuel anmodning med request_mode=batch, batch_protocol=claude, batch-id'et og dets custom_id.

Streaming understøttes ikke i en batch. Modelaliasser løses, før varen sættes i kø.

Opret en meddelelsesbatch

Anmodning

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

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

Hent en batch

Anmodning

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

Svar — afsluttet

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

Læs resultater

Resultater returneres som JSON-linjer. Antag ikke, at applikationslogikken afhænger af den oprindelige inputrækkefølge; match resultater af custom_id.

Anmodning

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

Svar - 200

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

Liste partier

limit standard til 20 og skal være fra 1 til 100. Bruge after_id eller before_id til markørpaginering; send ikke begge dele i én anmodning.

Anmodning

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

Svar - 200

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

Annuller en batch

Annuller forhindrer, at varer i kø bliver gjort krav på. En vare, der allerede behandles, afsluttes muligvis.

Anmodning

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

Svar - 200

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

Slet en afsluttet batch

Sletning accepteres først, når batchen har nået en terminaltilstand.

Anmodning

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

Svar - 200

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

Recovery semantik

Batchvarer bruger den samme holdbare kø som native async-anmodninger. Recovery er mindst én gang, ikke præcis én gang: efter en arbejdernedbrud kan en opgivet lejekontrakt tilbagekaldes, og en vare kan sendes opstrøms igen, hvis det første opstrømssvar ikke var varigt opbevaret. Model Gate-anmodnings-id'et forbliver stabilt på tværs af genforsøg, og afregningsvagter forhindrer en anden kontodebitering for en allerede afsluttet anmodning.

Hver genstand optages umiddelbart før en arbejder gør krav på den. Ellers gyldige varer forbliver i kø, mens den løbende kontosaldo er ikke-positiv, eller den nøgle/gruppe-nulstillelige forbrugsgrænse allerede er opbrugt; at vente på penge optager ikke et forsøg eller markerer varen som mislykket. En senere opfyldning, nulstilling af brug eller en grænseforøgelse genoptager automatisk kvalificerede varer i kø. Model Gate reserverer ikke en worst-case batch-omkostning, så samtidig indrømmede varer kan ende med en negativ slutsaldo eller en lille overskridelse af forbrugsgrænsen; kun efterfølgende nye poster afholdes.

Pris og regnskab

Hver batchvare bruger den samme modelrouting, token-regnskab, prissætningsøjebliksbillede, brugsvurdering, API-nøgle/gruppegrænser og afregningslogik som en normal Model Gate-anmodning. En administrator kan konfigurere en Batch anmodning pris koefficient på kontoprisskabelonen. Standard er 1.

For eksempel med normale Model Gate-omkostninger 0.02 og batch-koefficient 0.5, er den faktiske kontodebitering 0.01. Det gemte referencebeløb fra den officielle udbyder ganges ikke med denne Model Gate-batchkoefficient. Native anmodninger ved hjælp af "async": true er heller ikke berørt.

Hvis koefficienten afviger fra 1, det vises på siden Modelpriser og i /v1/models som batch_pricing plus det effektive batch_cost satser.

Fejl

Ugyldig eller dublet custom_id, en ukendt model, stream:true, indlejret async:true, en overdimensioneret anmodning eller en ugyldig krop returnerer et normalt antropisk fejlsvar.

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