modelli

OpenAI: GPT-4o (batch)

Markdown · JSON

OpenAI: GPT-4o (batch)

GPT-4o combina comprensione del testo e delle immagini con scrittura, programmazione, Structured Outputs e strumenti applicativi. Usatelo per sviluppare una risposta basata su elementi verificabili, interpretare materiale visivo o restituire campi definiti da una raccolta consistente di fonti.

Informazioni sul modello

Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.

GPT-4o è il modello GPT versatile di OpenAI per la comprensione di testo e immagini, la scrittura e il lavoro applicativo. La “o” sta per “omni”, mentre questo modello documentato accetta testo e immagini e restituisce testo, compresi Structured Outputs. Una richiesta pratica può combinare indicazioni scritte con fotografie, schermate o pagine di documenti e chiedere una spiegazione chiara, un risultato modificato o campi definiti per un’altra fase applicativa.

Per un rapporto, fornite i documenti di origine e la decisione che il rapporto deve supportare. Individuate date, unità ed etichette degli elementi pertinenti, poi richiedete un confronto che separi osservazioni, ipotesi e informazioni mancanti. Per un’attività visiva, indicate l’oggetto, il grafico o lo stato dell’interfaccia importante e includete il contesto circostante. Per una modifica al codice, fornite il codice interessato, il comportamento desiderato e i vincoli da mantenere intatti. Sono modi concreti di usare le capacità testuali e visive del modello, senza affidare al prompt il compito di sottintendere l’intera attività.

L’attuale profilo GPT-4o di OpenAI indica una finestra di contesto di 128 000 token, un output massimo di 16 384 token e conoscenze aggiornate al 1 ottobre 2023. Il produttore elenca separatamente più versioni datate di GPT-4o. Conversazione, materiale di input e risposta generata condividono il budget di contesto, per cui una raccolta ampia di documenti richiede comunque organizzazione e spazio per il risultato finale. I fatti che cambiano o provengono da un sistema privato devono essere forniti direttamente oppure ottenuti attraverso uno strumento configurato esplicitamente.

La guida alla visione accetta PNG, JPEG, WebP e GIF non animate. GPT-4o supporta i livelli di dettaglio delle immagini low, high e auto; high e auto seguono un’elaborazione basata su riquadri. Ingrandite le etichette piccole, mantenete il testo orientato correttamente e conservate la legenda o lo schema circostante quando interpretate un grafico. I limiti documentati comprendono localizzazione spaziale precisa, conteggi approssimativi degli oggetti, alcune scritture non latine e viste panoramiche o a occhio di pesce. Il modello può anche descrivere un’immagine in modo errato, quindi conservate la fonte e chiedete le osservazioni specifiche che sostengono un’interpretazione. Nel processo di visione documentato di OpenAI, il contenuto complessivo della richiesta è limitato a 512 MB e una richiesta può includere fino a 1 500 immagini; anche immagini e testo devono rientrare nel contesto del modello.

Il processo di input di file di OpenAI fornisce a un modello capace di visione sia il testo estratto sia le immagini delle pagine dei PDF. I documenti da ufficio diversi dai PDF forniscono testo estratto, non i grafici incorporati, e i fogli di calcolo vengono integrati usando fino alle prime 1 000 righe per foglio. Ogni file deve essere inferiore a 50 MB, con un limite complessivo di 50 MB per richiesta. Chat Completions supporta parti di file PDF; il processo Responses documentato accetta ulteriori formati di file. Scegliete una rappresentazione PDF quando la fedeltà visiva è importante e mantenete visibili gli identificatori delle fonti nel risultato.

Lo streaming può restituire la risposta durante la generazione. Structured Outputs vincola una risposta completata al sottoinsieme supportato di JSON Schema, rendendolo utile per l’estrazione da documenti o per un oggetto applicativo con campi definiti. La modalità JSON riguarda soltanto la validità del JSON. Definite i tipi attesi, i valori ammessi e il trattamento degli elementi assenti, poi gestite separatamente i rifiuti espliciti o le risposte incomplete. Uno schema non stabilisce la correttezza fattuale di un valore, quindi i campi richiesti devono restare riconducibili al materiale fornito.

Il produttore supporta chiamate di funzione, ricerca sul web, ricerca nei file, interpretazione del codice e connessioni MCP. Le funzioni personalizzate richiedono descrizioni significative e schemi degli argomenti; l’applicazione esegue l’azione richiesta e ne restituisce il risultato per il passaggio successivo del modello. GPT-4o può anche dirigere uno strumento separato di generazione di immagini in un processo Responses configurato. Un’immagine creata da uno strumento è un risultato a sé, mentre la risposta nativa documentata di GPT-4o è testo. La spiegazione finale di un agente deve usare osservazioni effettivamente recuperate o calcolate, senza trattare una chiamata a uno strumento proposta come un’operazione completata.

Predicted Outputs è disponibile per GPT-4o quando si rigenerano testo o codice in gran parte noti con piccole modifiche. Fornite il contenuto esistente e una modifica precisa, poi esaminate il risultato restituito. Questo percorso solo testuale non si combina con le chiamate di funzione ed esclude logprobs, max_completion_tokens e diversi altri controlli. Una richiesta basata su strumenti è una scelta distinta quando la risposta dipende da nuove informazioni ottenute da un’operazione esterna.

OpenAI documenta il perfezionamento del modello GPT-4o mediante fine-tuning e la sua guida all’ottimizzazione indica specificamente la versione del 6 agosto 2024 per il fine-tuning visivo con esempi di immagini. Questo processo di personalizzazione specifico di una versione è distinto da una richiesta ordinaria all’alias del modello. Per la scrittura, l’analisi o l’estrazione quotidiane, iniziate con indicazioni utili e un esempio dell’output desiderato. Un messaggio successivo può chiarire un fatto mancante, rivedere un campo o affinare lo stesso risultato, preservando gli elementi e i vincoli dell’attività.

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

openai/gpt-4o:batch

OpenAI /openai/gpt-4o:batch

Introduzione

GPT-4o combina comprensione del testo e delle immagini con scrittura, programmazione, Structured Outputs e strumenti applicativi. Usatelo per sviluppare una risposta basata su elementi verificabili, interpretare materiale visivo o restituire campi definiti da una raccolta consistente di fonti.

Input accettati
Testo
Risultati
Testo

Disponibile in Ailoot · input e metodi

Ailoot Ultra · Batch POST /v1/batches
Tipi di input
text
Tipi di output
text
Formato di output
JSON inline di results[].response.body
CampoTipoRequisitoValori e limitiPredefinito
CampoendpointTipostringRequisitoObbligatorioValori e limiti
/v1/chat/completions
Predefinito—
CampomodelTipostringRequisitoObbligatorioValori e limiti
openai/gpt-4o:batch
Predefinito—
CamporequestsTipobatch_item[]RequisitoObbligatorioValori e limiti
Numero minimo di elementi: 1
Predefinito—
Camporequests[].custom_idTipostringRequisitoObbligatorioValori e limitiPredefinito—
Camporequests[].body.messagesTipomessage[]RequisitoObbligatorioValori e limitiPredefinito—
Campocompletion_windowTipostringRequisitoFacoltativoValori e limiti
24h
Predefinito—
CampoproviderTipoobject|nullRequisitoFacoltativoValori e limitiPredefinito—
Camporequests[].body.modelTipostringRequisitoFacoltativoValori e limiti
openai/gpt-4o:batch, openai/gpt-4o
Predefinito—
Campoprovider.onlyTipostring[]RequisitoFacoltativoValori e limiti
openai
Predefinito—
Campoprovider.allow_fallbacksTipoboolean|nullRequisitoFacoltativoValori e limiti
false, null
Predefinito—
Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattoendpoint, model, requests
Parametromaterial_typesContrattotext
ParametrorepresentationContrattorequests[] inline; ogni elemento contiene custom_id e body
Parametrorequest_endpoint_profileContratto/v1/chat/completions
Parametrofile_materialContrattoIl chiamante può leggere localmente i dati JSONL effettivi in UTF-8 e inserirli in requests[]. Non viene usato alcun purpose di caricamento, input_file_id o riferimento a file. Il materiale del cliente mancante o vuoto interrompe la preparazione prima del POST.
Parametroserialization_orderContrattoendpoint, model, provider (se fornito), completion_window (se fornito), requests per ultimo
Parametrooptional_controlsContrattoprovider.only, provider.allow_fallbacks, completion_window
Parametroschema_scopeContrattoCorpi delle richieste Chat Completions per testo nella struttura inline Batch documentata.

Ciclo di vita: asynchronous

GET /v1/batches/{operation_id} · response.id effettivo della risposta alla creazione originale; stesso utente/chiave/gruppo

Tariffe

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida
Non specificato Quando è selezionata la modalità rapida
Modalità flex
Non specificato Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe della cache esplicita
Non abilitato Quando viene richiesta una cache esplicita

Tariffe Ailoot

Prezzi per configurazione

Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.

ConfigurazioneListino delle tariffeToken di contesto, più diToken di contesto, fino al limite inclusoCosto
ConfigurazioneTariffe di base dei tokenListino delle tariffeTariffa baseToken di contesto, più di—Token di contesto, fino al limite inclusoNessun limite superioreCosto
Input · Token in input $0.0025 / 1K token
Output · Token in output $0.01 / 1K token
Input · Lettura dalla cache $0.00125 / 1K token
Input · Scrittura nella cache — / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token
ConfigurazioneFascia 1 di lunghezza della richiestaListino delle tariffe—Token di contesto, più di0Token di contesto, fino al limite inclusoNessun limite superioreCosto
Input · Token in input $0.0025 / 1K token
Output · Token in output $0.01 / 1K token
Input · Lettura dalla cache $0.00125 / 1K token
Input · Scrittura nella cache — / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token

Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →

Esempi di richieste

Ailoot Ultra · Batch

curl · fixture conservataPython HTTP · JSONL effettivo del clientePython · salva ogni risultato completato
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
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"))
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.

Ricevi e salva i risultati

Ailoot Ultra · Batch

JSON inline di results[].response.body

  • GET /v1/batches/{operation_id}
Verifica lo stato dell’attività
curl · stato dell’operazione originale
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
Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva il JSON completo dello stato originale, ogni result/custom_id e il corpo completo della risposta o dell'errore. Salva i results[] completati come JSONL senza filtrarli.

Se occorre verificare la risposta originale

Conserva l'ID dell'operazione originale. La risposta 503 result_pending_check contiene X-Should-Retry:false; non reinviare mai un batch originale il cui esito è sconosciuto.

Campi della risposta
CampoTipo
Camporesults[].custom_idTipostring
Camporesults[].response.body.choices[].message.contentTipostring|null
Camporesults[].errorTipoobject|null
CampousageTipoobject|null
CampoidTipostring
CampomodelTipostring
CampoendpointTipostring
CampostatusTipostring
Camporequest_countsTipoobject
Camporesults[].idTipostring
Camporesults[].response.status_codeTipointeger
Camporesults[].response.request_idTipostring
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneStruttura inline documentata non valida, chiavi duplicate, identità degli elementi non valida o conflitto con le capacità configurate del modello.Passaggio successivoCorreggi i campi indicati prima di qualsiasi nuovo invio.
Risposta401 · authentication_errorCondizioneChiave API non valida.Passaggio successivoUsa la chiave Ailoot autorizzata.
Risposta403 · permission_errorCondizioneGruppo Batch non disponibile.Passaggio successivoVerifica le autorizzazioni della chiave e del gruppo.
Risposta422 · invalid_request_errorCondizioneBatch usa l'addebito sul saldo; la creazione tramite abbonamento viene rifiutata.Passaggio successivoUsa il gruppo autorizzato con addebito sul saldo.
Risposta422 · price_unavailableCondizioneNon è possibile formulare un preventivo per l'input Batch.Passaggio successivoConserva la risposta; usa l'input documentato per la famiglia.
Risposta402 · billing_errorCondizioneRiserva Batch non disponibile.Passaggio successivoRisolvi le condizioni di ammissione prima di una nuova richiesta.
Risposta503 · price_unavailableCondizionePrezzo del metodo Batch o tariffe native non disponibili.Passaggio successivoConserva la risposta; non sostituire i prezzi.
Risposta503 · api_errorCondizioneLa rotta esatta del fornitore non è disponibile.Passaggio successivoConserva la risposta per la riparazione della rotta.
Risposta503 · result_pending_checkCondizioneIl risultato originale richiede una verifica; X-Should-Retry:false.Passaggio successivoConserva operation_id/id originale e leggine lo stato; non ripetere mai il POST originale.
Risposta404 · not_foundCondizioneL'operazione di stato Batch è assente o appartiene a un'altra identità.Passaggio successivoUsa l'id originale esatto e lo stesso utente/chiave/gruppo.

Alias

Alias del modello

Ailoot Ultra openai/gpt-4o:batch

Alias dei percorsi dei metodi

Usa i percorsi dei metodi indicati sopra.

ID di chiamata correlati

openai/gpt-4o:batch

FAQ · OpenAI: GPT-4o (batch)
Quali input e risultati sono disponibili?

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

Quali campi usa la richiesta?

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

Quali limiti si applicano?

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

Maggiori dettagli

Collega Ailoot a Claude Code, OpenCode, Hermes o alla tua applicazione.

L’azienda e il suo portafoglio di progetti

L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.

Acquista token con uno sconto.

Sconto con abbonamento per lavoro regolare. Codici fino al 50% sull’acquisto di token.

Abbonamento
Scegli un piano scontato per richieste regolari.
Codice fino al 50%
Inserisci il codice all’acquisto. Il prezzo si aggiorna secondo la promozione.
Spese nella cronologia
Modello, token e importo sono salvati per ogni richiesta.

Scegli abbonamento · Consulta prezzi dei modelli

Collega l’API al prodotto che vendi.

SaaS, app e bot secondo offerta e accordo di licenza Ailoot. Per rivendere, richiedi una licenza reseller.

Applicazione commerciale
Integra generazione di testo, immagini, video e suono nelle funzioni a pagamento.
Licenza reseller
Invia descrizione del progetto e schema di accesso. Richiedi condizioni scritte per uso e rivendita.
Documenti sul sito
Offerta, accordo di licenza e politica sui dati sono disponibili prima della connessione.

Richiedi licenza reseller · Offerta e accordo di licenza