modelli

OpenAI: GPT-5.3-Codex

Markdown · JSON

OpenAI: GPT-5.3-Codex

Un modello specializzato per Codex per programmazione con agenti e attività tecniche di lunga durata. Accetta testo e immagini, lavora con i risultati degli strumenti e supporta la compattazione, affinché un’attività possa proseguire oltre una singola finestra di contesto.

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-5.3-Codex è il modello di OpenAI specializzato nella programmazione con agenti in Codex e in ambienti simili collegati a strumenti. Combina programmazione, ragionamento e conoscenze professionali, accetta testo e immagini e produce testo. Il ruolo si estende dalla generazione di codice all’esame di un progetto, alle decisioni basate sulle prove degli strumenti e alla prosecuzione di un’attività tecnica nei passaggi successivi.

Il rilascio descrive implementazione, debug, test e altro lavoro lungo il ciclo di vita del software, compresi requisiti di prodotto, documenti tecnici e analisi dei dati. Per una richiesta di programmazione, fornite al modello il comportamento da implementare, il materiale pertinente del progetto e i vincoli da preservare. Un esempio di attività è seguire come un input raggiunge il risultato, identificare le dipendenze coinvolte e sviluppare una correzione coordinata con una spiegazione del comportamento interessato.

Il lavoro sull’interfaccia può combinare le istruzioni scritte con schermate o altri riferimenti visivi. Identificate l’interazione o l’impaginazione che conta e il risultato atteso per l’utente. In un ambiente di programmazione, contenuti dei file, output dei comandi e risultati delle verifiche diventano prove per la decisione successiva. L’applicazione esegue gli strumenti e restituisce output effettivo; il modello deve distinguere una modifica proposta da una modifica eseguita e verificata in tale ambiente.

OpenAI specifica una finestra di contesto di 400 000 token, un input massimo di 272 000 token e un output massimo di 128 000 token, con conoscenze aggiornate al 31 agosto 2025. Il modello supporta i livelli di impegno nel ragionamento low, medium, high e xhigh. La guida dedicata alla formulazione delle istruzioni raccomanda medium come punto di partenza pratico per la programmazione interattiva e un impegno maggiore per attività difficili. L’interfaccia documentata è Responses, con streaming, Structured Outputs, chiamate di funzioni, input di immagini, ricerca sul web e memorizzazione nella cache dell’input. L’esatto insieme di strumenti della scheda del modello comprende funzioni, ricerca sul web, esecuzione di comandi in un ambiente ospitato e competenze.

La guida dedicata di Codex documenta un supporto nativo alla compattazione per percorsi lunghi. Quando la conversazione cresce, l’applicazione può produrre contesto compattato che conserva lo stato precedente essenziale per richieste successive. La guida richiede inoltre di preservare le informazioni di fase dei messaggi dell’assistente: i commenti intermedi (commentary) e la risposta finale (final) hanno ruoli diversi e perdere tale distinzione può causare un arresto prematuro o un comportamento peggiore. Un messaggio di avanzamento deve quindi restare un messaggio di avanzamento, anziché essere trattato come risultato completato dell’attività.

Il rilascio descrive la possibilità di guidare il modello e interagire con esso durante il lavoro nell’ambiente Codex. Fornite correzioni o requisiti aggiuntivi mantenendo espliciti l’obiettivo originale e le prove pertinenti. Descrive inoltre monitoraggio automatico e controlli per richieste valutate come lavoro di cybersicurezza a rischio maggiore. Tali controlli del produttore sono separati dalle autorizzazioni e dagli strumenti forniti da uno specifico ambiente di lavoro.

Definite ciò che un’attività completata deve includere. Per correggere un errore, fornite il problema osservato e il comportamento atteso, poi chiedete i file interessati, la modifica significativa e il risultato delle verifiche realmente eseguite. Per una revisione, chiedete problemi concreti collegati al comportamento previsto. Un risultato finale utile collega il lavoro proposto o completato alla richiesta originale ed elenca le prove ottenute insieme agli eventuali passaggi specifici ancora irrisolti.

Caso pratico

Caso pratico

Esempio tecnico in inglese

Patch a parser and its caller

Propose a coordinated patch for two Python excerpts. parser.py: def parse_line(line): return line.split(":"). runner.py: key, value = parse_line(line). A value may contain colons; blank lines must be skipped. For "title:a:b", preserve value "a:b". Return both changed excerpts and tests for a colon-bearing value, a blank line and a missing delimiter.

Risultato atteso

Two focused code changes with a clear malformed-line contract and tests covering the three supplied cases.

Verificare il risultato

Check that the parser and caller agree on skipped and malformed lines and that value colons are preserved.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions gpt-5.3-codex

gpt-5.3-codex

OpenAI /gpt-5.3-codex
ID del modello
  • gpt-5.3-codex
  • openai/gpt-5.3-codex

Introduzione

Un modello specializzato per Codex per programmazione con agenti e attività tecniche di lunga durata. Accetta testo e immagini, lavora con i risultati degli strumenti e supporta la compattazione, affinché un’attività possa proseguire oltre una singola finestra di contesto.

Input accettati
Testo
Risultati
Testo

Disponibile in Ailoot · input e metodi

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Tipi di input
text
Tipi di output
text
Formato di output
json o SSE
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
gpt-5.3-codex
Predefinito—
CampomessagesTipomessage[]RequisitoObbligatorioValori e limiti
Numero minimo di elementi: 1
Predefinito—
Campomessages[].roleTipostringRequisitoObbligatorioValori e limiti
Dipende dal modello
Predefinito—
Campomessages[].contentTipostringRequisitoFacoltativoValori e limiti
Si applica quando: Conversazione testuale
Predefinito—
CampostreamTipobooleanRequisitoFacoltativoValori e limitiPredefinitofalse
Combinazioni di materiali in input

Testo · Testo UTF8

messages[].content

Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, messages
Parametromaterial_typesContrattotext
ParametromessagesContrattoArray di messaggi con struttura role/content
Parametrofile_materialContrattoDocumento UTF-8 effettivo inserito come testo letterale; nessun ID di file dedotto
Parametrooptional_controlsContrattostream
Parametrocontrol_scopeContrattoConversazione testuale; stream è un booleano e per impostazione predefinita vale false.
Parametrooutput_modalitiesContrattotext
Parametrohosted_operationsContrattofalse
Parametromultimodal_input_bindingContrattonull

Alias del metodo: /chat/completions

Ciclo di vita: synchronous_or_streamed

Invia l’ID esatto del modello con messages.

La lunghezza del contesto non è un limite di uscita.

Un file di testo può fornire testo letterale; gli ingressi immagine/audio/oggetto file richiedono un’associazione esatta.

Tariffe

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

Modalità rapida
Tariffa standard Quando è selezionata la modalità rapida
Modalità flex
Tariffa standard Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Tariffa standard Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Sforzo di ragionamento · elevato
Tariffa standard Quando lo sforzo di ragionamento è elevato
Sforzo di ragionamento · basso
Tariffa standard Quando lo sforzo di ragionamento è basso
Sforzo di ragionamento · medio
Tariffa standard Quando lo sforzo di ragionamento è medio
Sforzo di ragionamento · nessuno
Tariffa standard Quando lo sforzo di ragionamento è assente
Sforzo di ragionamento · xhigh
Tariffa standard Quando lo sforzo di ragionamento è xhigh

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.0035 / 1K token
Output · Token in output $0.028 / 1K token
Input · Lettura dalla cache $0.00035 / 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.0035 / 1K token
Output · Token in output $0.028 / 1K token
Input · Lettura dalla cache $0.00035 / 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 · OpenAI Chat

curlPython SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"gpt-5.3-codex","messages":[{"role":"user","content":"hello"}],"stream":false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="gpt-5.3-codex", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))

Ricevi e salva i risultati

Ailoot Ultra · OpenAI Chat

json o SSE

Conserva tutti i risultati completati

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

Conserva ogni scelta con contenuto, chiamate agli strumenti e ragionamento. In SSE assembla i delta per indice di scelta e strumento e conserva il motivo finale di completamento e i dati di utilizzo.

Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta
CampoTipo
Campochoices[].indexTipointeger
Campochoices[].message.contentTipostring|null
Campochoices[].message.tool_callsTipotool_call[]
Campochoices[].message.reasoning_contentTipostring
Campochoices[].message.reasoning_detailsTipoobject|array
Campochoices[].finish_reasonTipostring|null
CampousageTipoobject
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validiPassaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione.

Alias

Alias del modello

Ailoot Ultra gpt-5.3-codex, openai/gpt-5.3-codex

Alias dei percorsi dei metodi

/chat/completions

ID di chiamata correlati

openai/gpt-5.3-codex, gpt-5.3-codex

Ailoot Ultra · Anthropic Messages POST /v1/messages gpt-5.3-codex

gpt-5.3-codex

OpenAI /gpt-5.3-codex
ID del modello
  • gpt-5.3-codex
  • openai/gpt-5.3-codex

Introduzione

Un modello specializzato per Codex per programmazione con agenti e attività tecniche di lunga durata. Accetta testo e immagini, lavora con i risultati degli strumenti e supporta la compattazione, affinché un’attività possa proseguire oltre una singola finestra di contesto.

Input accettati
Testo
Risultati
json · sse

Disponibile in Ailoot · input e metodi

Ailoot Ultra · Anthropic Messages POST /v1/messages
Tipi di input
text
Tipi di output
json, sse
Formato di output
JSON o SSE
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
gpt-5.3-codex
Predefinito—
CampomessagesTipomessage[]RequisitoObbligatorioValori e limitiPredefinito—
Campomessages[].roleTipostringRequisitoObbligatorioValori e limiti
user, assistant
Predefinito—
Campomessages[].contentTipostringRequisitoObbligatorioValori e limitiPredefinito—
Campomax_tokensTipointegerRequisitoObbligatorioValori e limitiPredefinito—
CampostreamTipobooleanRequisitoFacoltativoValori e limitiPredefinitofalse
Combinazioni di materiali in input

Testo · Testo UTF-8

Stringa messages[].content

Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, messages, max_tokens
Parametrooptional_controlsContrattostream
Parametromaterial_typesContrattotext
Parametrotext_file_materialContrattoLeggi il documento UTF-8 effettivo e inserisci il testo nell’ingresso indicato o nella stringa del contenuto del messaggio.

Ciclo di vita: synchronous_or_streamed

Tariffe

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

Modalità rapida
Tariffa standard Quando è selezionata la modalità rapida
Modalità flex
Tariffa standard Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Tariffa standard Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Sforzo di ragionamento · elevato
Tariffa standard Quando lo sforzo di ragionamento è elevato
Sforzo di ragionamento · basso
Tariffa standard Quando lo sforzo di ragionamento è basso
Sforzo di ragionamento · medio
Tariffa standard Quando lo sforzo di ragionamento è medio
Sforzo di ragionamento · nessuno
Tariffa standard Quando lo sforzo di ragionamento è assente
Sforzo di ragionamento · xhigh
Tariffa standard Quando lo sforzo di ragionamento è xhigh

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.0035 / 1K token
Output · Token in output $0.028 / 1K token
Input · Lettura dalla cache $0.00035 / 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.0035 / 1K token
Output · Token in output $0.028 / 1K token
Input · Lettura dalla cache $0.00035 / 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 · Anthropic Messages

Corpo JSON minimo completocurl · usa il tuo documento UTF-8Python · salva il risultato completo
{
  "model": "gpt-5.3-codex",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'gpt-5.3-codex', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'gpt-5.3-codex', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))

Ricevi e salva i risultati

Ailoot Ultra · Anthropic Messages

JSON o SSE

Conserva tutti i risultati completati

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

Conserva tutti i blocchi di contenuto, le firme di ragionamento e gli ID effettivi di utilizzo degli strumenti. Assembla tutti i delta dei blocchi SSE; il primo blocco di testo non è l’uscita completa.

Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta
CampoTipo
CampoidTipostring
CampomodelTipostring
Campocontent[]Tipotext|thinking|tool_use|other content block
Campostop_reasonTipostring|null
CampousageTipoobject
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validiPassaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione.

Alias

Alias del modello

Ailoot Ultra gpt-5.3-codex, openai/gpt-5.3-codex

Alias dei percorsi dei metodi

/chat/completions

ID di chiamata correlati

openai/gpt-5.3-codex, gpt-5.3-codex

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions openai/gpt-5.3-codex

openai/gpt-5.3-codex

OpenAI /openai/gpt-5.3-codex
ID del modello
  • gpt-5.3-codex
  • openai/gpt-5.3-codex

Introduzione

Un modello specializzato per Codex per programmazione con agenti e attività tecniche di lunga durata. Accetta testo e immagini, lavora con i risultati degli strumenti e supporta la compattazione, affinché un’attività possa proseguire oltre una singola finestra di contesto.

Input accettati
Testo
Risultati
Testo

Disponibile in Ailoot · input e metodi

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Tipi di input
text
Tipi di output
text
Formato di output
json o SSE
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
openai/gpt-5.3-codex
Predefinito—
CampomessagesTipomessage[]RequisitoObbligatorioValori e limiti
Numero minimo di elementi: 1
Predefinito—
Campomessages[].roleTipostringRequisitoObbligatorioValori e limiti
Esempi: system, user, assistant, tool, function
Condizioni: Questi ruoli sono rappresentati esplicitamente dai tipi di compatibilità del codice sorgente; l’insieme esatto dei ruoli rimane specifico del modello.
Dipende dal modello
Predefinito—
Campomessages[].contentTipostring|content_part[]|nullRequisitoFacoltativoValori e limitiPredefinito—
Campomessages[].tool_callsTipotool_call[]RequisitoFacoltativoValori e limitiPredefinito—
Campomessages[].tool_call_idTipostringRequisitoFacoltativoValori e limiti
Si applica quando: role=tool; usa l’ID effettivamente restituito
Predefinito—
Campomessages[].nameTipostringRequisitoFacoltativoValori e limitiPredefinito—
Campomessages[].reasoning_contentTipostringRequisitoFacoltativoValori e limiti
Si applica quando: Reinserisci il ragionamento effettivamente restituito quando il modello lo utilizza
Predefinito—
Campomessages[].reasoning_detailsTipoobject|arrayRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
Campomax_tokensTipointegerRequisitoFacoltativoValori e limiti
Minimo: 1
Dipende dal modello
Predefinito—
Campomax_completion_tokensTipointegerRequisitoFacoltativoValori e limiti
Minimo: 1
Dipende dal modello
Predefinito—
CampostreamTipobooleanRequisitoFacoltativoValori e limitiPredefinitofalse
Campostream_options.include_usageTipobooleanRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
CampotemperatureTiponumberRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
Campotop_pTiponumberRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
CampostopTipostring|string[]RequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
CampotoolsTipofunction_tool[]RequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
Campotools[].typeTipostringRequisitoFacoltativoValori e limiti
function
Dipende dal modello
Predefinito—
Campotools[].function.nameTipostringRequisitoObbligatorioValori e limiti
Si applica quando: Funzione fornita come strumento
Predefinito—
Campotools[].function.descriptionTipostringRequisitoFacoltativoValori e limitiPredefinito—
Campotools[].function.parametersTipoJSON_schemaRequisitoFacoltativoValori e limitiPredefinito—
Campotool_choiceTipostring|objectRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
Campoparallel_tool_callsTipobooleanRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
Camporesponse_formatTipoobjectRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
Camporeasoning_effortTipostringRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
CamporeasoningTipoobjectRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
Camposervice_tierTipostringRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
CampoinstructionsTipostringRequisitoFacoltativoValori e limiti
Campo di compatibilità
Predefinito—
CampofunctionsTipofunction[]RequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
Campofunction_callTipostring|objectRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
Campoprompt_cache_optionsTipoobjectRequisitoFacoltativoValori e limiti
Dipende dal modello
Predefinito—
CampomodalitiesTipostring[]RequisitoFacoltativoValori e limiti
text
Predefinito—
CampoproviderTipoobjectRequisitoFacoltativoValori e limiti
Condizioni: provider.options viene rifiutato su questa rotta testuale Ultra
Predefinito—
Campocache_control.ttlTipostringRequisitoFacoltativoValori e limiti
Condizioni: 1h viene rifiutato nelle posizioni effettive della cache dei prompt
Predefinito—
Combinazioni di materiali in input

Testo · Testo UTF8

messages[].content

Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, messages
Parametromaterial_typesContrattotext
ParametromessagesContrattoArray di messaggi con struttura role/content
Parametrofile_materialContrattoDocumento UTF-8 effettivo inserito come testo letterale; nessun ID di file dedotto
Parametrooptional_controlsContrattostream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametrocontrol_scopeContrattoSpecifico del modello; gli strumenti di funzione dell’utente differiscono dagli strumenti ospitati
Parametrooutput_modalitiesContrattotext
Parametrohosted_operationsContrattofalse
Parametromultimodal_input_bindingContrattonull

Ciclo di vita: synchronous_or_streamed

Invia l’ID esatto del modello con messages.

La lunghezza del contesto non è un limite di uscita.

Un file di testo può fornire testo letterale; gli ingressi immagine/audio/oggetto file richiedono un’associazione esatta.

Tariffe

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

Modalità rapida
Tariffa standard Quando è selezionata la modalità rapida
Modalità flex
Tariffa standard Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Tariffa standard Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Sforzo di ragionamento · elevato
Tariffa standard Quando lo sforzo di ragionamento è elevato
Sforzo di ragionamento · basso
Tariffa standard Quando lo sforzo di ragionamento è basso
Sforzo di ragionamento · medio
Tariffa standard Quando lo sforzo di ragionamento è medio
Sforzo di ragionamento · nessuno
Tariffa standard Quando lo sforzo di ragionamento è assente
Sforzo di ragionamento · xhigh
Tariffa standard Quando lo sforzo di ragionamento è xhigh

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.0035 / 1K token
Output · Token in output $0.028 / 1K token
Input · Lettura dalla cache $0.00035 / 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.0035 / 1K token
Output · Token in output $0.028 / 1K token
Input · Lettura dalla cache $0.00035 / 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 · OpenAI Chat

curlPython SDKStreaming Python
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "openai/gpt-5.3-codex", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='openai/gpt-5.3-codex',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='openai/gpt-5.3-codex',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")

Ricevi e salva i risultati

Ailoot Ultra · OpenAI Chat

json o SSE

Conserva tutti i risultati completati

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

Conserva ogni scelta con contenuto, chiamate agli strumenti e ragionamento. In SSE assembla i delta per indice di scelta e strumento e conserva il motivo finale di completamento e i dati di utilizzo.

Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta
CampoTipo
Campochoices[].indexTipointeger
Campochoices[].message.contentTipostring|null
Campochoices[].message.tool_callsTipotool_call[]
Campochoices[].message.reasoning_contentTipostring
Campochoices[].message.reasoning_detailsTipoobject|array
Campochoices[].finish_reasonTipostring|null
CampousageTipoobject
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validiPassaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione.

Alias

Alias del modello

Ailoot Ultra gpt-5.3-codex, openai/gpt-5.3-codex

Alias dei percorsi dei metodi

/chat/completions

ID di chiamata correlati

openai/gpt-5.3-codex, gpt-5.3-codex

Ailoot Ultra · Anthropic Messages POST /v1/messages openai/gpt-5.3-codex

openai/gpt-5.3-codex

OpenAI /openai/gpt-5.3-codex
ID del modello
  • gpt-5.3-codex
  • openai/gpt-5.3-codex

Introduzione

Un modello specializzato per Codex per programmazione con agenti e attività tecniche di lunga durata. Accetta testo e immagini, lavora con i risultati degli strumenti e supporta la compattazione, affinché un’attività possa proseguire oltre una singola finestra di contesto.

Input accettati
Testo
Risultati
json · sse

Disponibile in Ailoot · input e metodi

Ailoot Ultra · Anthropic Messages POST /v1/messages
Tipi di input
text
Tipi di output
json, sse
Formato di output
JSON o SSE
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
openai/gpt-5.3-codex
Predefinito—
CampomessagesTipomessage[]RequisitoObbligatorioValori e limitiPredefinito—
Campomessages[].roleTipostringRequisitoObbligatorioValori e limiti
user, assistant
Predefinito—
Campomessages[].contentTipostringRequisitoObbligatorioValori e limitiPredefinito—
Campomax_tokensTipointegerRequisitoObbligatorioValori e limitiPredefinito—
CampostreamTipobooleanRequisitoFacoltativoValori e limitiPredefinitofalse
Combinazioni di materiali in input

Testo · Testo UTF-8

Stringa messages[].content

Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, messages, max_tokens
Parametrooptional_controlsContrattostream
Parametromaterial_typesContrattotext
Parametrotext_file_materialContrattoLeggi il documento UTF-8 effettivo e inserisci il testo nell’ingresso indicato o nella stringa del contenuto del messaggio.

Ciclo di vita: synchronous_or_streamed

Tariffe

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

Modalità rapida
Tariffa standard Quando è selezionata la modalità rapida
Modalità flex
Tariffa standard Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Tariffa standard Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Sforzo di ragionamento · elevato
Tariffa standard Quando lo sforzo di ragionamento è elevato
Sforzo di ragionamento · basso
Tariffa standard Quando lo sforzo di ragionamento è basso
Sforzo di ragionamento · medio
Tariffa standard Quando lo sforzo di ragionamento è medio
Sforzo di ragionamento · nessuno
Tariffa standard Quando lo sforzo di ragionamento è assente
Sforzo di ragionamento · xhigh
Tariffa standard Quando lo sforzo di ragionamento è xhigh

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.0035 / 1K token
Output · Token in output $0.028 / 1K token
Input · Lettura dalla cache $0.00035 / 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.0035 / 1K token
Output · Token in output $0.028 / 1K token
Input · Lettura dalla cache $0.00035 / 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 · Anthropic Messages

Corpo JSON minimo completocurl · usa il tuo documento UTF-8Python · salva il risultato completo
{
  "model": "openai/gpt-5.3-codex",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'openai/gpt-5.3-codex', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'openai/gpt-5.3-codex', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))

Ricevi e salva i risultati

Ailoot Ultra · Anthropic Messages

JSON o SSE

Conserva tutti i risultati completati

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

Conserva tutti i blocchi di contenuto, le firme di ragionamento e gli ID effettivi di utilizzo degli strumenti. Assembla tutti i delta dei blocchi SSE; il primo blocco di testo non è l’uscita completa.

Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta
CampoTipo
CampoidTipostring
CampomodelTipostring
Campocontent[]Tipotext|thinking|tool_use|other content block
Campostop_reasonTipostring|null
CampousageTipoobject
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validiPassaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione.

Alias

Alias del modello

Ailoot Ultra gpt-5.3-codex, openai/gpt-5.3-codex

Alias dei percorsi dei metodi

/chat/completions

ID di chiamata correlati

openai/gpt-5.3-codex, gpt-5.3-codex

FAQ · OpenAI: GPT-5.3-Codex
Quali input e risultati sono disponibili?

POST /v1/chat/completions · gpt-5.3-codex: text → text

POST /v1/messages · gpt-5.3-codex: text → json, sse

POST /v1/chat/completions · openai/gpt-5.3-codex: text → text

POST /v1/messages · openai/gpt-5.3-codex: text → json, sse

Quali campi usa la richiesta?

POST /v1/chat/completions · gpt-5.3-codex: model, messages, stream

POST /v1/messages · gpt-5.3-codex: model, messages, max_tokens, stream

POST /v1/chat/completions · openai/gpt-5.3-codex: model, messages, stream, modalities, provider

POST /v1/messages · openai/gpt-5.3-codex: model, messages, max_tokens, stream

Quali limiti si applicano?

POST /v1/chat/completions · gpt-5.3-codex: messages.min_items: 1

POST /v1/chat/completions · openai/gpt-5.3-codex: messages.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