OpenAI: GPT-4o-mini (batch)
GPT-4o Mini verwerkt gerichte tekst- en afbeeldingstaken, waaronder documentextractie, beknopte antwoorden en hulpmiddeloproepen voor toepassingen. De context van 128.000 tokens en Structured Outputs ondersteunen herhaalbare werkwijzen met een duidelijk bepaald resultaat.
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 Mini is OpenAI’s kleine model uit de GPT-4o-familie voor gericht werk. Het neemt tekst en afbeeldingen aan en produceert tekst, waaronder Structured Outputs. De rol is bruikbaar wanneer een toepassing een beknopt antwoord op een duidelijk gespecificeerde aanvraag vereist: velden extraheren, een antwoord vanuit aangeleverd referentiemateriaal ontwikkelen of een afgebakende stap binnen een groter proces uitvoeren.
Lever voor een ondersteuningsantwoord het binnengekomen bericht, relevante beleidsfragmenten en de in het gesprek al vastgestelde feiten aan. Vraag om een kort voorgesteld antwoord en benoem eventuele nog benodigde informatie van de afzender. Definieer voor documentextractie de velden, leg uit hoe ontbrekende waarden moeten worden behandeld en bewaar een label dat elk resultaat met de bron verbindt. Dezelfde aanpak kan een classificatie, bewerkte passage of uitleg van een kleine codewijziging produceren zonder het model als vervanging voor de omringende toepassingslogica te behandelen.
De maker vermeldt een contextvenster van 128.000 tokens, een maximale uitvoer van 16.384 tokens en een kennisgrens van 1 oktober 2023. Bronmateriaal, gesprek en gegenereerde uitvoer nemen samen die context in. Houd belangrijke eerdere feiten zichtbaar en benoem het vereiste eindresultaat. GPT-4o Mini is een afzonderlijk klein model en geen uitvoerlengtemodus van het volledige GPT-4o; de eigen identiteit en mogelijkheden moeten de taak sturen, ook wanneer de twee modellen specificaties delen.
Afbeeldingen kunnen een screenshot, documentpagina, foto of diagram leveren. OpenAI’s werkwijze voor visuele invoer accepteert PNG, JPEG, WebP en niet-geanimeerde GIF, met detail low, high of auto voor deze familie. Een hoger detailniveau volgt de verwerking op basis van tegels van de maker. Houd belangrijke labels leesbaar en rechtop en leg uit welk deel van de afbeelding voor het antwoord relevant is. Fijne ruimtelijke verbanden, exacte objectaantallen, ongebruikelijke beeldprojecties en sommige niet-Latijnse tekst zijn gedocumenteerde moeilijkheden. Een gerichte vraag maakt een visueel antwoord makkelijker met het oorspronkelijke bewijs te vergelijken. 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.
De bestandswerkwijze van de maker geeft geëxtraheerde tekst en pagina-afbeeldingen uit PDF’s door aan modellen met visuele mogelijkheden. Andere kantoor- en tekstbestanden leveren geëxtraheerde tekst, zodat hun ingebedde afbeeldingen en grafieken een PDF-weergave vereisen wanneer die beelden belangrijk zijn. Aanvulling vanuit spreadsheets gebruikt 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 accepteert PDF-bestandsdelen; de gedocumenteerde werkwijze Responses accepteert een bredere verzameling bestandsformaten. Bewaar pagina-, rij- of sectie-identificatoren in het materiaal dat u voor extractie gebruikt.
Streaming geeft tekst stapsgewijs terug. Structured Outputs beperkt een voltooid antwoord tot de ondersteunde deelverzameling van JSON Schema, terwijl een aanvraag voor JSON-modus alleen geldige JSON garandeert. Benoem de vereiste velden en toegestane waarden, waaronder een expliciete weergave van ontbrekend bewijs. Toepassingen moeten weigeringen en onvolledige antwoorden afzonderlijk verwerken. Een schema kan het resultaat geschikt maken voor de volgende fase, maar de waarden moeten nog steeds de werkelijke bron weergeven, in plaats van een verzonnen invulling van een leeg veld.
GPT-4o Mini ondersteunt functieaanroepen en de op hulpmiddelen gerichte werkwijzen van de maker met zoeken op het web, zoeken in bestanden, code-interpretatie en MCP-verbindingen. Beschrijf een beschikbare functie, laat de toepassing de gevraagde bewerking uitvoeren en de waarneming teruggeven voordat het model een vervolgantwoord ontwikkelt. OpenAI ondersteunt ook een afzonderlijk hulpmiddel voor afbeeldingsgeneratie binnen de ingestelde werkwijze Responses. Afbeeldingen van dat hulpmiddel zijn afzonderlijke resultaten; de eigen gedocumenteerde uitvoer van het model blijft tekst. Zoeken en hulpmiddelgebruik zijn ingestelde activiteiten en bewijzen niet dat elk antwoord actuele informatie heeft geraadpleegd.
Predicted Outputs ondersteunt het opnieuw genereren van een grotendeels bekend document of codebestand met een kleine wijziging. Lever de vorige inhoud en de precieze bewerking aan en vergelijk daarna het resultaat met die aanvraag. Het voorspellingspad ondersteunt uitsluitend tekst en kan niet met functieaanroepen worden gecombineerd; logprobs, max_completion_tokens en meerdere andere instellingen zijn ook uitgesloten. Een gewone aanvraag met hulpmiddelen volgt een ander pad wanneer het antwoord van een nieuwe opzoekactie of berekening afhangt.
OpenAI documenteert fine-tuning voor dit model en beschrijft het gebruik van uitvoer van een groter model om een kleiner model GPT-4o Mini een gespecialiseerde taak te leren. Deze distillatiewerkwijze produceert een aangepast model en verandert de identiteit van een gewoon Mini-antwoord niet. Bepaal voor een gewone aanvraag de taak en het uitvoerformaat met duidelijke voorbeelden en gebruik daarna een gerichte vervolgstap om hetzelfde resultaat te herzien. Een bruikbaar eindresultaat blijft verbonden met de bronfeiten, de beoogde lezer en de toepassingsstap die het verwerkt.
Ailoot Ultra · Batchverwerking POST /v1/batches openai/gpt-4o-mini:batch
openai/gpt-4o-mini:batchAan de slag
GPT-4o Mini verwerkt gerichte tekst- en afbeeldingstaken, waaronder documentextractie, beknopte antwoorden en hulpmiddeloproepen voor toepassingen. De context van 128.000 tokens en Structured Outputs ondersteunen herhaalbare werkwijzen met een duidelijk bepaald resultaat.
- 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
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldendpoint | Typestring | VereisteVereist | Waarden en limieten /v1/chat/completions | Standaard— |
Veldmodel | Typestring | VereisteVereist | Waarden en limieten openai/gpt-4o-mini:batch | Standaard— |
Veldrequests | Typebatch_item[] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
Veldrequests[].custom_id | Typestring | VereisteVereist | Waarden en limieten | Standaard— |
Veldrequests[].body.messages | Typemessage[] | VereisteVereist | Waarden en limieten | Standaard— |
Veldcompletion_window | Typestring | VereisteOptioneel | Waarden en limieten 24h | Standaard— |
Veldprovider | Typeobject|null | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldrequests[].body.model | Typestring | VereisteOptioneel | Waarden en limieten openai/gpt-4o-mini:batch, openai/gpt-4o-mini | Standaard— |
Veldprovider.only | Typestring[] | VereisteOptioneel | Waarden en limieten openai | Standaard— |
Veldprovider.allow_fallbacks | Typeboolean|null | VereisteOptioneel | Waarden en limieten false, null | Standaard— |
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractendpoint, model, requests |
Parametermaterial_types | Contracttext |
Parameterrepresentation | Contractinline requests[]; elk item bevat custom_id en body |
Parameterrequest_endpoint_profile | Contract/v1/chat/completions |
Parameterfile_material | ContractDe 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_order | Contractendpoint, model, provider (indien opgegeven), completion_window (indien opgegeven), requests als laatste |
Parameteroptional_controls | Contractprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | ContractAanvraagbodies 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.
| 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.00015 / 1K tokens Uitvoer · Uitvoertokens $0.0006 / 1K tokens Invoer · Cache lezen $0.000075 / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 1 | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.00015 / 1K tokens Uitvoer · Uitvoertokens $0.0006 / 1K tokens Invoer · Cache lezen $0.000075 / 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
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-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/gpt-4o-mini:batch', 'openai/gpt-4o-mini']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-4o-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
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
| Veld | Type |
|---|---|
Veldresults[].custom_id | Typestring |
Veldresults[].response.body.choices[].message.content | Typestring|null |
Veldresults[].error | Typeobject|null |
Veldusage | Typeobject|null |
Veldid | Typestring |
Veldmodel | Typestring |
Veldendpoint | Typestring |
Veldstatus | Typestring |
Veldrequest_counts | Typeobject |
Veldresults[].id | Typestring |
Veldresults[].response.status_code | Typeinteger |
Veldresults[].response.request_id | Typestring |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeOngeldige 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_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 | VoorwaardeBatch wordt via het saldo gefactureerd; aanmaken via een abonnement wordt geweigerd. | Volgende stapGebruik de geautoriseerde groep die via het saldo wordt gefactureerd. |
Antwoord422 · price_unavailable | VoorwaardeVoor de Batch-invoer kan geen prijsraming worden gemaakt. | Volgende stapBewaar de respons; gebruik de gedocumenteerde invoer voor deze familie. |
Antwoord402 · billing_error | VoorwaardeReservering voor Batch niet beschikbaar. | Volgende stapLos het toelatingsprobleem op vóór een nieuwe aanvraag. |
Antwoord503 · price_unavailable | VoorwaardePrijs voor de Batch-methode/native tarieven niet beschikbaar. | Volgende stapBewaar de respons; vervang de prijzen niet. |
Antwoord503 · api_error | VoorwaardeDe exacte leveranciersroute is niet beschikbaar. | Volgende stapBewaar de respons voor het herstel van de route. |
Antwoord503 · result_pending_check | VoorwaardeHet 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_found | VoorwaardeBewerking 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/gpt-4o-mini:batch
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · OpenAI: GPT-4o-mini (batch)
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/batches·openai/gpt-4o-mini:batch:text→text- Welke velden gebruikt het verzoek?
POST /v1/batches·openai/gpt-4o-mini:batch:endpoint,model,requests,completion_window,provider- Welke limieten gelden?
POST /v1/batches·openai/gpt-4o-mini:batch:requests.min_items:1