models

OpenAI: o4 Mini (batch)

Markdown · JSON

OpenAI: o4 Mini (batch)

OpenAI o4-mini is een compact redeneermodel voor efficiënt programmeren en visuele taken. Het accepteert tekst en afbeeldingen, geeft tekst terug en ondersteunt gestructureerde antwoorden en hulpmiddelen om een afgebakend technisch probleem op te lossen of een bruikbare conclusie uit aangeleverd materiaal te trekken.

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.

o4-mini is OpenAI’s compacte redeneermodel uit de o-serie, geoptimaliseerd voor snel en doeltreffend redeneren bij programmeer- en visuele taken. Het accepteert tekst en afbeeldingen en produceert tekst. Het is bruikbaar voor een duidelijk omschreven technisch probleem dat analyse vóór het antwoord vereist: een fout in code begrijpen, een diagram interpreteren, feiten in aangeleverd materiaal verbinden of een gestructureerd resultaat produceren dat een volgende stap kan gebruiken.

Geef het model bij programmeertaken de relevante functie of bestanden, het verwachte gedrag en de exacte invoer of foutmelding waarbij het misgaat. Vermeld de programmeertaal en omgevingsdetails die het resultaat beïnvloeden. Een gerichte opdracht kan vragen om de waarschijnlijke oorzaak, een zo klein mogelijk correctievoorstel en een uitleg van hoe de wijziging het waargenomen gedrag verhelpt. Bepaal de grenzen van de wijziging, zoals het behoud van de openbare interface of de betekenis van bestaande gegevens, zodat het resultaat aan de werkelijke taak kan worden getoetst.

Lever voor een visueel probleem een leesbare schermafbeelding, een diagram of een grafiek aan en benoem de vraag die daarmee moet worden beantwoord. Houd betekenisvolle labels, assen en eenheden zichtbaar. Een voorbeeldopdracht is uit te leggen welke uitspraak een grafiek ondersteunt, de gebruikte waarnemingen te benoemen en een zichtbare waarde van een gevolgtrekking te onderscheiden. Label bij een documenttaak het bronmateriaal en definieer de velden of relaties die in het antwoord nodig zijn. Ook een compact model heeft baat bij volledige probleeminformatie en een nauwkeurige omschrijving van de gewenste uitvoer.

OpenAI specificeert een contextvenster van 200.000 tokens, een maximale uitvoer van 100.000 tokens en een kennisgrens van 1 juni 2024. Redeneertokens gebruiken zowel context- als uitvoercapaciteit; laat dus ruimte voor analyse en het uiteindelijke antwoord in plaats van het volledige budget met invoer te vullen. Het bereiken van een context- of uitvoerlimiet kan tot een onvolledig antwoord leiden voordat er enige zichtbare beantwoording is. Ook een kort eindantwoord kan intern redeneren vereisen; alleen de zichtbare lengte beschrijft niet het volledige tokenbudget.

De specifieke modelpagina van o4-mini vermeldt interfaces voor Chat Completions, Responses, Batch en fijnafstemming. De gedocumenteerde functies omvatten streaming, Structured Outputs, functieaanroepen, bestandsuploads, afbeeldingsinvoer, zoeken in bestanden, promptcaching en fijnafstemming. De hulpmiddelen omvatten zoeken op het web en in bestanden, code-interpretatie en MCP-verbindingen. Geef een toepassingshulpmiddel een duidelijk doel en invoercontract, stuur het werkelijke resultaat terug en vraag het model dat resultaat te gebruiken voor de volgende beslissing. Een gevraagde functieaanroep is een actievoorstel, terwijl een gestructureerd eindantwoord de informatie ordent die de taak oplevert.

OpenAI’s promptadvies voor de o-serie beveelt een eenvoudig, direct doel met expliciete voorwaarden en duidelijke scheidingstekens rond bronmateriaal aan. Laat het model het probleem intern uitwerken; vraag om de uiteindelijke uitleg, het bewijs of de berekening die u nodig hebt, in plaats van om een transcript van verborgen redeneerwerk. Probeer eerst een duidelijke taakomschrijving en voeg daarna voorbeelden toe als een vereist formaat of een categoriegrens onduidelijk blijft. Een voorbeeld moet dezelfde regels laten zien als de werkelijke taak, inclusief de weergave van ontbrekende informatie.

Voor toepassingen die optioneel uitleg over het redeneerproces nodig hebben, documenteert OpenAI’s redeneerhandleiding expliciet gedetailleerde redeneersamenvattingen voor o4-mini. Een samenvatting moet worden aangevraagd en staat los van de ruwe interne redeneertokens, die niet worden getoond. Het eindantwoord moet nog steeds het door de gebruiker gevraagde resultaat bevatten: bijvoorbeeld een voorgestelde codewijziging, een grafiekinterpretatie met relevante waarnemingen of geëxtraheerde velden die aan het aangeleverde materiaal zijn gekoppeld. Lever recente feiten aan wanneer die relevant zijn, controleer belangrijke beweringen aan de hand van hun bron en houd de werkwijze gericht met een afgebakende taak en een voltooiingscriterium.

Ailoot Ultra · Batchverwerking POST /v1/batches openai/o4-mini:batch

openai/o4-mini:batch

OpenAI /openai/o4-mini:batch

Aan de slag

OpenAI o4-mini is een compact redeneermodel voor efficiënt programmeren en visuele taken. Het accepteert tekst en afbeeldingen, geeft tekst terug en ondersteunt gestructureerde antwoorden en hulpmiddelen om een afgebakend technisch probleem op te lossen of een bruikbare conclusie uit aangeleverd materiaal te trekken.

Toegestane invoer
Tekst
Resultaten
Tekst

Beschikbaar in Ailoot · invoer en methoden

Ailoot Ultra · Batchverwerking POST /v1/batches
Invoer
text
Uitvoer
text
Uitvoerformaat
inline JSON uit results[].response.body
VeldTypeVereisteWaarden en limietenStandaard
VeldendpointTypestringVereisteVereistWaarden en limieten
/v1/chat/completions
Standaard—
VeldmodelTypestringVereisteVereistWaarden en limieten
openai/o4-mini:batch
Standaard—
VeldrequestsTypebatch_item[]VereisteVereistWaarden en limieten
Minimumaantal items: 1
Standaard—
Veldrequests[].custom_idTypestringVereisteVereistWaarden en limietenStandaard—
Veldrequests[].body.messagesTypemessage[]VereisteVereistWaarden en limietenStandaard—
Veldcompletion_windowTypestringVereisteOptioneelWaarden en limieten
24h
Standaard—
VeldproviderTypeobject|nullVereisteOptioneelWaarden en limietenStandaard—
Veldrequests[].body.modelTypestringVereisteOptioneelWaarden en limieten
openai/o4-mini:batch, openai/o4-mini
Standaard—
Veldprovider.onlyTypestring[]VereisteOptioneelWaarden en limieten
openai
Standaard—
Veldprovider.allow_fallbacksTypeboolean|nullVereisteOptioneelWaarden en limieten
false, null
Standaard—
Methodeparameters en levenscyclus
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractendpoint, model, requests
Parametermaterial_typesContracttext
ParameterrepresentationContractinline requests[]; elk item bevat custom_id en body
Parameterrequest_endpoint_profileContract/v1/chat/completions
Parameterfile_materialContractDe aanroeper kan de daadwerkelijke UTF-8 JSONL lokaal in requests[] inlezen. Er wordt geen uploaddoel, input_file_id of bestandsverwijzing gebruikt. Ontbrekend of leeg klantmateriaal stopt de voorbereiding vóór POST.
Parameterserialization_orderContractendpoint, model, provider (indien opgegeven), completion_window (indien opgegeven), requests als laatste
Parameteroptional_controlsContractprovider.only, provider.allow_fallbacks, completion_window
Parameterschema_scopeContractAanvraagbodies voor tekst via Chat Completions in de gedocumenteerde inline Batch-structuur.

Levenscyclus: asynchronous

GET /v1/batches/{operation_id} · daadwerkelijke response.id uit de oorspronkelijke aanmaakrespons; 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 geselecteerd is
Flex-modus
Niet opgegeven Wanneer de flex-modus geselecteerd is
Maximale redeneerinspanning
Niet opgegeven Wanneer voor 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.

ConfiguratieTariefstaffelContexttokens, meer danContexttokens, tot en metKosten
ConfiguratieBasistarieven voor tokensTariefstaffelBasistariefContexttokens, meer dan—Contexttokens, tot en metGeen bovengrensKosten
Invoer · Invoertokens $0.0011 / 1K tokens
Uitvoer · Uitvoertokens $0.0044 / 1K tokens
Invoer · Cache lezen $0.000275 / 1K tokens
Invoer · Cache schrijven — / 1K tokens
Invoer · Cache schrijven, 1 uur — / 1K tokens
ConfiguratieAanvraaglengte · niveau 1Tariefstaffel—Contexttokens, meer dan0Contexttokens, tot en metGeen bovengrensKosten
Invoer · Invoertokens $0.0011 / 1K tokens
Uitvoer · Uitvoertokens $0.0044 / 1K tokens
Invoer · Cache lezen $0.000275 / 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 →

Voorbeeldverzoeken

Ailoot Ultra · Batchverwerking

curl · bewaarde fixturePython HTTP · daadwerkelijke JSONL van de klantPython · sla elk voltooid resultaat op
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/o4-mini: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
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/o4-mini:batch', 'openai/o4-mini']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"openai/o4-mini: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"))
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 · Batchverwerking

inline JSON uit results[].response.body

  • GET /v1/batches/{operation_id}
Taakstatus controleren
curl · Status van de oorspronkelijke bewerking
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 respons- of foutbody. Sla voltooide results[] op als JSONL, zonder te filteren.

Als het oorspronkelijke antwoord moet worden gecontroleerd

Bewaar de oorspronkelijke bewerkings-ID. 503 result_pending_check bevat X-Should-Retry:false; dien een oorspronkelijke batch met onbekende status nooit opnieuw in.

Antwoordvelden
VeldType
Veldresults[].custom_idTypestring
Veldresults[].response.body.choices[].message.contentTypestring|null
Veldresults[].errorTypeobject|null
VeldusageTypeobject|null
VeldidTypestring
VeldmodelTypestring
VeldendpointTypestring
VeldstatusTypestring
Veldrequest_countsTypeobject
Veldresults[].idTypestring
Veldresults[].response.status_codeTypeinteger
Veldresults[].response.request_idTypestring
Fouten en vervolgstappen
AntwoordVoorwaardeVolgende stap
Antwoord400 · invalid_request_errorVoorwaardeOngeldige gedocumenteerde inline structuur, dubbele sleutels, ongeldige itemidentiteit of conflict met de geconfigureerde modelmogelijkheden.Volgende stapCorrigeer de aangegeven velden vóór elke nieuwe indiening.
Antwoord401 · authentication_errorVoorwaardeOngeldige API-sleutel.Volgende stapGebruik de geautoriseerde Ailoot-sleutel.
Antwoord403 · permission_errorVoorwaardeBatch-groep niet beschikbaar.Volgende stapControleer de toegangsrechten van de sleutel/groep.
Antwoord422 · invalid_request_errorVoorwaardeBatch wordt via het saldo gefactureerd; aanmaken via een abonnement wordt geweigerd.Volgende stapGebruik de geautoriseerde groep die via het saldo wordt gefactureerd.
Antwoord422 · price_unavailableVoorwaardeVoor de Batch-invoer kan geen prijsraming worden gemaakt.Volgende stapBewaar de respons; gebruik de gedocumenteerde invoer voor deze familie.
Antwoord402 · billing_errorVoorwaardeReservering voor Batch niet beschikbaar.Volgende stapLos het toelatingsprobleem op vóór een nieuwe aanvraag.
Antwoord503 · price_unavailableVoorwaardePrijs voor de Batch-methode/native tarieven niet beschikbaar.Volgende stapBewaar de respons; vervang de prijzen niet.
Antwoord503 · api_errorVoorwaardeDe exacte leveranciersroute is niet beschikbaar.Volgende stapBewaar de respons voor het herstel van de route.
Antwoord503 · result_pending_checkVoorwaardeHet oorspronkelijke resultaat moet gecontroleerd worden; X-Should-Retry:false.Volgende stapBewaar de oorspronkelijke operation_id/id en lees de status ervan uit; herhaal de oorspronkelijke POST nooit.
Antwoord404 · not_foundVoorwaardeBewerking voor de Batch-status ontbreekt of behoort toe aan een andere identiteit.Volgende stapGebruik de exacte oorspronkelijke id en dezelfde gebruiker/sleutel/groep.

Aliasnamen

Modelaliasnamen

Ailoot Ultra openai/o4-mini:batch

Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

Gerelateerde aanroeper-ID’s

openai/o4-mini:batch

FAQ · OpenAI: o4 Mini (batch)
Welke invoer en resultaten zijn beschikbaar?

POST /v1/batches · openai/o4-mini:batch: text → text

Welke velden gebruikt het verzoek?

POST /v1/batches · openai/o4-mini:batch: endpoint, model, requests, completion_window, provider

Welke limieten gelden?

POST /v1/batches · openai/o4-mini:batch: requests.min_items: 1

Meer details

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 · Bekijk modelprijzen

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 · Aanbodvoorwaarden en licentieovereenkomst