Source: https://ailoot.ai/models/nl/openai-gpt-4o-u003a-batch/
Canonical: https://ailoot.ai/models/nl/openai-gpt-4o-u003a-batch/
Language: nl

# OpenAI: GPT-4o (batch)

[Markdown](https://ailoot.ai/models/nl/openai-gpt-4o-u003a-batch/index.md) · [JSON](https://ailoot.ai/models/nl/openai-gpt-4o-u003a-batch/facts.json)

## [OpenAI: GPT-4o (batch)](https://ailoot.ai/models/nl/openai-gpt-4o-u003a-batch/)

GPT-4o combineert begrip van tekst en afbeeldingen met schrijven, programmeren, Structured Outputs en toepassingshulpmiddelen. Gebruik het om een op bewijs gebaseerd antwoord te ontwikkelen, visueel materiaal te interpreteren of bepaalde velden uit een omvangrijke bronverzameling terug te geven.

- [**Ailoot Ultra · Batch** `POST /v1/batches` `openai/gpt-4o:batch`](https://ailoot.ai/models/nl/openai-gpt-4o-u003a-batch/#method-0)

Over het model

Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.

GPT-4o is OpenAI’s veelzijdige GPT-model voor tekst- en afbeeldingsbegrip, schrijven en toepassingswerk. De “o” staat voor “omni”, terwijl dit gedocumenteerde model tekst en afbeeldingen accepteert en tekst teruggeeft, waaronder Structured Outputs. Een praktische aanvraag kan een geschreven opdracht met foto’s, screenshots of documentpagina’s combineren en vragen om een duidelijke uitleg, een bewerkt resultaat of bepaalde velden voor een volgende toepassingsfase.

Lever voor een rapport de brondocumenten en de te ondersteunen beslissing aan. Benoem de relevante datums, eenheden en bewijslabels en vraag daarna om een vergelijking die waarnemingen, aannames en ontbrekende informatie onderscheidt. Wijs voor een visuele taak op het relevante object, de grafiek of de interfacetoestand en voeg de omringende context toe. Lever voor een codewijziging de betrokken code, het gewenste gedrag en de te behouden voorwaarden aan. Dit zijn concrete manieren om de tekst- en afbeeldingsmogelijkheden van het model te gebruiken zonder erop te vertrouwen dat de prompt de volledige taak impliceert.

OpenAI’s huidige profiel van GPT-4o vermeldt een contextvenster van 128.000 tokens, een maximale uitvoer van 16.384 tokens en een kennisgrens van 1 oktober 2023. De maker vermeldt meerdere gedateerde GPT-4o-snapshots afzonderlijk. Het gesprek, invoermateriaal en gegenereerde antwoord delen het contextbudget, zodat een grote documentverzameling nog steeds ordening en ruimte voor het eindresultaat vereist. Feiten die veranderen of uit een privésysteem komen moeten rechtstreeks worden aangeleverd of via een expliciet ingesteld hulpmiddel worden verkregen.

De handleiding voor visuele invoer accepteert PNG, JPEG, WebP en niet-geanimeerde GIF. GPT-4o ondersteunt afbeeldingsdetail low, high en auto; high en auto volgen verwerking op basis van tegels. Vergroot kleine labels, houd tekst rechtop en behoud de legenda of het omringende diagram wanneer u een grafiek interpreteert. De gedocumenteerde beperkingen omvatten nauwkeurige ruimtelijke plaatsbepaling, benaderde objectaantallen, sommige niet-Latijnse schriftsoorten en panoramische of fisheye-aanzichten. Het model kan een afbeelding ook verkeerd beschrijven; bewaar daarom de bron en vraag om de specifieke waarnemingen die een interpretatie ondersteunen. Binnen OpenAI’s gedocumenteerde werkwijze voor visuele invoer is de totale aanvraaginhoud beperkt tot 512 MB en kan een aanvraag maximaal 1.500 afbeeldingen bevatten; de afbeeldingen en tekst moeten ook binnen de context van het model passen.

OpenAI’s werkwijze voor bestandsinvoer levert een model met visuele mogelijkheden zowel geëxtraheerde tekst als pagina-afbeeldingen uit PDF’s. Niet-PDF-kantoordocumenten leveren geëxtraheerde tekst in plaats van hun ingebedde grafieken en spreadsheets worden aangevuld met maximaal de eerste 1.000 rijen per werkblad. Elk bestand moet kleiner dan 50 MB zijn, met gezamenlijk maximaal 50 MB per aanvraag. Chat Completions ondersteunt PDF-bestandsdelen; de gedocumenteerde werkwijze Responses accepteert aanvullende bestandsformaten. Kies een PDF-weergave wanneer visuele getrouwheid belangrijk is en houd bronidentificatoren zichtbaar in het resultaat.

Streaming kan het antwoord teruggeven terwijl het wordt gegenereerd. Structured Outputs beperkt een voltooid antwoord tot de ondersteunde deelverzameling van JSON Schema en is daarmee bruikbaar voor documentextractie of een toepassingsobject met bepaalde velden. JSON-modus betreft uitsluitend de geldigheid van JSON. Definieer de verwachte typen, toegestane waarden en behandeling van ontbrekend bewijs en verwerk expliciete weigeringen of onvolledige antwoorden daarna afzonderlijk. Een schema bewijst niet of een waarde feitelijk juist is, zodat de gevraagde velden tot het aangeleverde materiaal herleidbaar moeten blijven.

De maker ondersteunt functieaanroepen, zoeken op het web, zoeken in bestanden, code-interpretatie en MCP-verbindingen. Aangepaste functies vereisen duidelijke beschrijvingen en argumentschema’s; de toepassing voert de gevraagde actie uit en geeft het resultaat terug voor de volgende modelstap. GPT-4o kan ook een afzonderlijk hulpmiddel voor afbeeldingsgeneratie aansturen binnen een ingestelde werkwijze Responses. Een door een hulpmiddel gemaakte afbeelding is een eigen resultaat, terwijl het eigen gedocumenteerde antwoord van GPT-4o tekst is. De einduitleg van een agent moet werkelijke opgehaalde of berekende waarnemingen gebruiken en een voorgestelde hulpmiddeloproep niet als een voltooide bewerking behandelen.

Predicted Outputs is beschikbaar voor GPT-4o bij het opnieuw genereren van grotendeels bekende tekst of code met kleine wijzigingen. Lever de bestaande inhoud en een nauwkeurige wijziging aan en inspecteer daarna het teruggegeven resultaat. Dit traject voor uitsluitend tekst kan niet met functieaanroepen worden gecombineerd en sluit logprobs, max\_completion\_tokens en meerdere andere instellingen uit. Een aanvraag met hulpmiddelen is een afzonderlijke keuze wanneer het antwoord van nieuwe informatie uit een externe bewerking afhangt.

OpenAI documenteert fine-tuning voor GPT-4o en de optimalisatiehandleiding noemt specifiek de snapshot van 6 augustus 2024 voor visuele fine-tuning met afbeeldingsvoorbeelden. Die snapshotspecifieke aanpassingswerkwijze staat los van een gewone aanvraag aan de modelalias. Begin voor dagelijks schrijven, analyse of extractie met een bruikbare opdracht en een voorbeeld van de gewenste uitvoer. Een vervolgstap kan een ontbrekend feit oplossen, een veld herzien of hetzelfde resultaat verfijnen met behoud van het bewijs en de voorwaarden van de taak.

**Ailoot Ultra · Batch** `POST /v1/batches` `openai/gpt-4o:batch`

[`openai/gpt-4o:batch`](https://ailoot.ai/models/nl/#m=openai%2Fgpt-4o%3Abatch&route=Ultra&caller=openai%2Fgpt-4o%3Abatch&fmt=batches)

OpenAI /`openai/gpt-4o:batch`

### Aan de slag

GPT-4o combineert begrip van tekst en afbeeldingen met schrijven, programmeren, Structured Outputs en toepassingshulpmiddelen. Gebruik het om een op bewijs gebaseerd antwoord te ontwikkelen, visueel materiaal te interpreteren of bepaalde velden uit een omvangrijke bronverzameling terug te geven.

Toegestane invoer

Tekst

Resultaten

Tekst

### Beschikbaar in Ailoot · invoer en methoden

**Ailoot Ultra · Batch** `POST /v1/batches`

Invoertypen

`text`

Uitvoertypen

`text`

Uitvoerformaat

inline results\[\].response.body JSON

| Veld | Type | Vereiste | Waarden en limieten | Standaard |
| --- | --- | --- | --- | --- |
| Veld`endpoint` | Type`string` | VereisteVereist | Waarden en limieten /v1/chat/completions | Standaard— |
| Veld`model` | Type`string` | VereisteVereist | Waarden en limieten openai/gpt-4o:batch | Standaard— |
| Veld`requests` | Type`batch_item[]` | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
| Veld`requests[].custom_id` | Type`string` | VereisteVereist | Waarden en limieten | Standaard— |
| Veld`requests[].body.messages` | Type`message[]` | VereisteVereist | Waarden en limieten | Standaard— |
| Veld`completion_window` | Type`string` | VereisteOptioneel | Waarden en limieten 24h | Standaard— |
| Veld`provider` | Type`object\|null` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`requests[].body.model` | Type`string` | VereisteOptioneel | Waarden en limieten openai/gpt-4o:batch, openai/gpt-4o | Standaard— |
| Veld`provider.only` | Type`string[]` | VereisteOptioneel | Waarden en limieten openai | Standaard— |
| Veld`provider.allow_fallbacks` | Type`boolean\|null` | VereisteOptioneel | Waarden en limieten false, null | Standaard— |

Methodeparameters en levenscyclus

| Parameter | Contract |
| --- | --- |
| Parameter`content_type` | Contractapplication/json |
| Parameter`required` | Contractendpoint, model, requests |
| Parameter`material_types` | Contracttext |
| Parameter`representation` | Contractinline requests\[\]; elk item bevat custom\_id en body |
| Parameter`request_endpoint_profile` | Contract/v1/chat/completions |
| Parameter`file_material` | ContractDe aanroeper mag daadwerkelijke JSONL-inhoud in UTF-8 lokaal in requests\[\] inlezen. Er wordt geen uploaddoel (purpose), input\_file\_id of bestandsverwijzing gebruikt. Ontbrekend of leeg klantmateriaal stopt de voorbereiding vóór POST. |
| Parameter`serialization_order` | Contractendpoint, model, provider (indien opgegeven), completion\_window (indien opgegeven), requests als laatste |
| Parameter`optional_controls` | Contractprovider.only, provider.allow\_fallbacks, completion\_window |
| Parameter`schema_scope` | ContractBody’s voor tekstaanvragen via Chat Completions in de gedocumenteerde inline Batch-envelop. |

Levenscyclus: `asynchronous`

`GET /v1/batches/{operation_id}` · de daadwerkelijke response.id uit het oorspronkelijke aanmaakantwoord; dezelfde gebruiker/sleutel/groep

### Tarieven

Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.

Snelle modus

Niet opgegeven Wanneer de snelle modus is geselecteerd

Flexmodus

Niet opgegeven Wanneer de modus flex is geselecteerd

Maximale redeneerinspanning

Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt

Tarieven voor expliciete caching

Niet ingeschakeld Wanneer expliciete caching wordt aangevraagd

#### Ailoot-tarieven

#### Prijzen per configuratie

Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.

| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
| --- | --- | --- | --- | --- |
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0025** / 1K tokens Uitvoer · Uitvoertokens **$0.01** / 1K tokens Invoer · Cache lezen **$0.00125** / 1K tokens Invoer · Cache schrijven **—** / 1K tokens Invoer · Cache schrijven, 1 uur **—** / 1K tokens |
| ConfiguratieNiveau 1 voor aanvraaglengte | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0025** / 1K tokens Uitvoer · Uitvoertokens **$0.01** / 1K tokens Invoer · Cache lezen **$0.00125** / 1K tokens Invoer · Cache schrijven **—** / 1K tokens Invoer · Cache schrijven, 1 uur **—** / 1K tokens |

Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. [Zo werken reservering en afrekening →](https://ailoot.ai/docs/nl/billing/reserve/)

### Voorbeeldverzoeken

#### Ailoot Ultra · Batch

curl · bewaarde fixturePython HTTP · daadwerkelijke JSONL van de klantPython · sla elk voltooid resultaat op

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"openai/gpt-4o:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
```

```python
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['openai/gpt-4o:batch', 'openai/gpt-4o']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-4o:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
```

```python
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
```

### Resultaten ophalen en opslaan

#### Ailoot Ultra · Batch

inline results\[\].response.body JSON

- `GET /v1/batches/{operation_id}`

##### Taakstatus controleren

curl · Status van de oorspronkelijke bewerking

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
```

##### Alle voltooide resultaten bewaren

Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.

Bewaar de volledige oorspronkelijke status-JSON, elk resultaat/custom\_id en de volledige antwoord- of foutbody. Sla voltooide results\[\] zonder filtering op als JSONL.

##### Als het oorspronkelijke antwoord moet worden gecontroleerd

Bewaar de oorspronkelijke bewerkings-ID. Bij 503 result\_pending\_check hoort X-Should-Retry:false; dien een oorspronkelijke batch met onbekende uitkomst nooit opnieuw in.

Antwoordvelden

| Veld | Type |
| --- | --- |
| Veld`results[].custom_id` | Typestring |
| Veld`results[].response.body.choices[].message.content` | Typestring\|null |
| Veld`results[].error` | Typeobject\|null |
| Veld`usage` | Typeobject\|null |
| Veld`id` | Typestring |
| Veld`model` | Typestring |
| Veld`endpoint` | Typestring |
| Veld`status` | Typestring |
| Veld`request_counts` | Typeobject |
| Veld`results[].id` | Typestring |
| Veld`results[].response.status_code` | Typeinteger |
| Veld`results[].response.request_id` | Typestring |

Fouten en vervolgstappen

| Antwoord | Voorwaarde | Volgende stap |
| --- | --- | --- |
| Antwoord400 · `invalid_request_error` | VoorwaardeOngeldige gedocumenteerde inline envelop, dubbele sleutels, ongeldige itemidentiteit of een conflict met de geconfigureerde modelmogelijkheden. | Volgende stapCorrigeer de aangegeven velden voordat u een nieuwe aanvraag indient. |
| Antwoord401 · `authentication_error` | VoorwaardeOngeldige API-sleutel. | Volgende stapGebruik de geautoriseerde Ailoot-sleutel. |
| Antwoord403 · `permission_error` | VoorwaardeBatch-groep niet beschikbaar. | Volgende stapControleer de toegangsrechten van de sleutel/groep. |
| Antwoord422 · `invalid_request_error` | VoorwaardeBij Batch worden kosten van het saldo afgeschreven; aanmaken via een abonnement wordt geweigerd. | Volgende stapGebruik de geautoriseerde groep waarvoor kosten van het saldo worden afgeschreven. |
| Antwoord422 · `price_unavailable` | VoorwaardeVoor de Batch-invoer kan geen prijsopgave worden berekend. | Volgende stapBewaar het antwoord; gebruik de gedocumenteerde invoer voor deze familie. |
| Antwoord402 · `billing_error` | VoorwaardeBatch-reservering niet beschikbaar. | Volgende stapLos het toelatingsprobleem op voordat u een nieuwe aanvraag indient. |
| Antwoord503 · `price_unavailable` | VoorwaardePrijs voor de Batch-methode/native tarieven niet beschikbaar. | Volgende stapBewaar het antwoord; vervang de prijzen niet. |
| Antwoord503 · `api_error` | VoorwaardeDe exacte leveranciersroute is niet beschikbaar. | Volgende stapBewaar het antwoord voor herstel van de route. |
| Antwoord503 · `result_pending_check` | VoorwaardeHet oorspronkelijke resultaat moet worden gecontroleerd; X-Should-Retry:false. | Volgende stapBewaar de oorspronkelijke operation\_id/id en lees de status ervan uit; herhaal de oorspronkelijke POST nooit. |
| Antwoord404 · `not_found` | VoorwaardeDe bewerking voor de Batch-status ontbreekt of is eigendom van een andere identiteit. | Volgende stapGebruik exact de oorspronkelijke id en dezelfde gebruiker/sleutel/groep. |

### Aliasnamen

#### Modelaliasnamen

**Ailoot Ultra** [`openai/gpt-4o:batch`](https://ailoot.ai/models/nl/#m=openai%2Fgpt-4o%3Abatch&route=Ultra&caller=openai%2Fgpt-4o%3Abatch&fmt=batches)

#### Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

#### Gerelateerde aanroeper-ID’s

[`openai/gpt-4o:batch`](https://ailoot.ai/models/nl/#m=openai%2Fgpt-4o%3Abatch&route=Ultra&caller=openai%2Fgpt-4o%3Abatch&fmt=batches)

FAQ · OpenAI: GPT-4o (batch)

Welke invoer en resultaten zijn beschikbaar?

`POST /v1/batches` · `openai/gpt-4o:batch`: `text` → `text`

Welke velden gebruikt het verzoek?

`POST /v1/batches` · `openai/gpt-4o:batch`: `endpoint`, `model`, `requests`, `completion_window`, `provider`

Welke limieten gelden?

`POST /v1/batches` · `openai/gpt-4o:batch`: `requests.min_items`: `1`

Verbind Ailoot met Claude Code, OpenCode, Hermes of je eigen applicatie.

## Het bedrijf en zijn projectenportefeuille

Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.

## Koop tokens met korting.

Abonnementsvoordeel voor regelmatig gebruik. Promotiecodes geven tot 50% korting op tokens.

Abonnement

Kies een abonnement met korting voor je terugkerende verzoeken.

Promotiecode tot 50%

Vul de code bij aankoop in. De prijs wordt volgens de lopende actie herberekend.

Kosten in de geschiedenis

Model, tokens en bedrag worden per verzoek bewaard.

[Kies een abonnement](https://ailoot.ai/docs/nl/billing/subscriptions/) · [Bekijk modelprijzen](https://ailoot.ai/models/nl/)

## Verbind de API met het product dat je verkoopt.

SaaS, apps en bots volgens de openbare aanbodvoorwaarden en licentieovereenkomst van Ailoot. Vraag voor doorverkoop een resellerlicentie aan.

Commerciële applicatie

Voeg tekst-, beeld-, video- en geluidsgeneratie aan betaalde functies van je service toe.

Resellerlicentie

Stuur een projectbeschrijving en toegangsschema. Vraag schriftelijke voorwaarden voor gebruik en doorverkoop.

Documenten op de site

Aanbodvoorwaarden, licentieovereenkomst en gegevensbeleid zijn vóór het verbinden beschikbaar.

[Vraag een resellerlicentie aan](mailto:support@ailoot.ai) · [Aanbodvoorwaarden en licentieovereenkomst](https://ailoot.ai/legal/offer?lang=nl)

## Ailoot · Het bedrijf en zijn projectenportefeuille





Ailoot bouwt op opgebouwde operationele ervaring, een groot klantenbestand, een stabiele dienst en doorlopende KPI-controle.





Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.





Ailoot gebruikt die operationele ervaring voor API-toegang tot AI-functies in klantproducten, agents, applicaties en automatiseringen.
