OpenAI: GPT-5.6 Sol Pro
GPT-5.6 Sol con ragionamento Pro per lavoro professionale complesso. Fornite materiali correlati, requisiti e un risultato concreto da consegnare per sviluppare codice, un documento analitico o un piano con basi esplicite.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsgpt-5.6-sol-pro - Ailoot Ultra · Anthropic Messages
POST /v1/messagesgpt-5.6-sol-pro - Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsopenai/gpt-5.6-sol-pro - Ailoot Ultra · Anthropic Messages
POST /v1/messagesopenai/gpt-5.6-sol-pro
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.6 Sol Pro indica GPT-5.6 Sol di OpenAI con ragionamento Pro. Sol è l’edizione di punta GPT-5.6 per il lavoro professionale complesso e corrisponde approssimativamente alla fascia senza suffisso delle precedenti famiglie GPT-5. L’alias gpt-5.6 di OpenAI identifica questa edizione Sol. Il modello di base accetta testo e immagini e produce testo; Pro prevede un’elaborazione aggiuntiva del modello durante lo sviluppo della risposta finale.
Per un’attività professionale, fornite l’obiettivo, il materiale pertinente e gli standard che il risultato deve soddisfare. Un esempio di richiesta ingegneristica è esaminare diversi moduli correlati, spiegare le dipendenze coinvolte e sviluppare una proposta di modifica coordinata. Un’attività documentale può invece combinare diverse fonti in un’analisi le cui sezioni distinguano i fatti forniti, le loro relazioni e le azioni giustificate dalla conclusione.
Usate materiale visivo quando fornisce prove assenti dal testo. Identificate il diagramma, l’elemento dell’interfaccia o il dettaglio di riferimento che conta per l’attività e spiegatene il ruolo nel risultato richiesto. Per il codice, includete il comportamento obbligatorio e un input rappresentativo o un errore osservato. Per l’analisi, fornite i criteri che devono guidare il confronto. Etichette chiare delle fonti rendono più facile collegare un’attività complessa alle prove usate nel risultato finale.
OpenAI specifica per GPT-5.6 Sol una finestra di contesto di 1 050 000 token, un input massimo di 922 000 token e un output massimo di 128 000 token, con conoscenze aggiornate al 16 febbraio 2026. Le opzioni di impegno nel ragionamento del modello di base sono none, low, medium, high, xhigh e max, con medium come valore predefinito. La modalità Pro è indipendente dall’impegno: la modalità seleziona un’elaborazione aggiuntiva del modello, mentre l’impegno regola l’analisi al suo interno. Il budget del contesto include i token di ragionamento oltre alla risposta visibile.
Il produttore documenta Pro nell’API Responses per attività difficili che possono tollerare latenza e attività aggiuntive del modello. Il modello di base elenca lo streaming, Structured Outputs, le chiamate di funzioni, la ricerca sul web e nei file, l’input di immagini e la memorizzazione nella cache dell’input. Gli strumenti comprendono generazione di immagini, interpretazione di codice, esecuzione di comandi in un ambiente ospitato e applicazione di modifiche ai file, competenze, uso del computer, connessioni MCP e ricerca di strumenti. Le applicazioni forniscono l’ambiente corrispondente, eseguono le proprie azioni e restituiscono risultati effettivi per la decisione successiva.
Definite ciò che un risultato completo deve contenere e come verificarlo. Per una proposta di modifica, chiedete il comportamento interessato, le scelte significative e le prove necessarie per verificarle. Per un documento, definite il pubblico, le sezioni obbligatorie e le domande a cui una conclusione deve rispondere. Il risultato finale può essere una proposta di codice, una nota analitica o un piano articolato in fasi che colleghi ogni raccomandazione sostanziale all’obiettivo originale e al materiale di partenza.
Caso pratico
Caso pratico
Esempio tecnico in inglese
Align a money-field contract
Prepare a coordinated engineering proposal. Database total_cents is an integer. Exporter currently writes total_cents / 100 into a column also named total_cents. Importer reads that column as integer cents. Preserve database storage and existing invoice totals. Explain the mismatch, propose a versioned export contract and give round-trip tests for 1, 199 and 200 cents.Risultato atteso
A cross-module contract proposal, compatibility plan and round-trip acceptance cases with units stated explicitly.Verificare il risultato
Check that no stage silently treats dollars as cents and that existing invoice totals are not recomputed.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions gpt-5.6-sol-pro
gpt-5.6-sol-progpt-5.6-sol-proopenai/gpt-5.6-sol-pro
Introduzione
GPT-5.6 Sol con ragionamento Pro per lavoro professionale complesso. Fornite materiali correlati, requisiti e un risultato concreto da consegnare per sviluppare codice, un documento analitico o un piano con basi esplicite.
- 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
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti gpt-5.6-sol-pro | Predefinito— |
Campomessages | Tipomessage[] | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 | Predefinito— |
Campomessages[].role | Tipostring | RequisitoObbligatorio | Valori e limiti Dipende dal modello | Predefinito— |
Campomessages[].content | Tipostring | RequisitoFacoltativo | Valori e limiti Si applica quando: Conversazione testuale | Predefinito— |
Campostream | Tipoboolean | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |
Combinazioni di materiali in input
Testo · Testo UTF8
messages[].content
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, messages |
Parametromaterial_types | Contrattotext |
Parametromessages | ContrattoArray di messaggi con struttura role/content |
Parametrofile_material | ContrattoDocumento UTF-8 effettivo inserito come testo letterale; nessun ID di file dedotto |
Parametrooptional_controls | Contrattostream |
Parametrocontrol_scope | ContrattoConversazione testuale; stream è un booleano e per impostazione predefinita vale false. |
Parametrooutput_modalities | Contrattotext |
Parametrohosted_operations | Contrattofalse |
Parametromultimodal_input_binding | Contrattonull |
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 · max
- Tariffa standard Quando lo sforzo di ragionamento è max
- 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.
| Configurazione | Listino delle tariffe | Token di contesto, più di | Token di contesto, fino al limite incluso | Costo |
|---|---|---|---|---|
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Token di contesto, più di— | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.008 / 1K token Output · Token in output $0.04 / 1K token Input · Lettura dalla cache $0.0008 / 1K token Input · Scrittura nella cache $0.01 / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
| ConfigurazioneFascia 1 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di0 | Token di contesto, fino al limite incluso272.000 | Costo Input · Token in input $0.008 / 1K token Output · Token in output $0.04 / 1K token Input · Lettura dalla cache $0.0008 / 1K token Input · Scrittura nella cache $0.01 / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
| ConfigurazioneFascia 2 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di272.000 | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.016 / 1K token Output · Token in output $0.06 / 1K token Input · Lettura dalla cache $0.0016 / 1K token Input · Scrittura nella cache $0.02 / 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
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.6-sol-pro","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.6-sol-pro", 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
| Campo | Tipo |
|---|---|
Campochoices[].index | Tipointeger |
Campochoices[].message.content | Tipostring|null |
Campochoices[].message.tool_calls | Tipotool_call[] |
Campochoices[].message.reasoning_content | Tipostring |
Campochoices[].message.reasoning_details | Tipoobject|array |
Campochoices[].finish_reason | Tipostring|null |
Campousage | Tipoobject |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |
Alias
Alias del modello
Ailoot Ultra gpt-5.6-sol-pro, openai/gpt-5.6-sol-pro
Alias dei percorsi dei metodi
/chat/completions
ID di chiamata correlati
Ailoot Ultra · Anthropic Messages POST /v1/messages gpt-5.6-sol-pro
gpt-5.6-sol-progpt-5.6-sol-proopenai/gpt-5.6-sol-pro
Introduzione
GPT-5.6 Sol con ragionamento Pro per lavoro professionale complesso. Fornite materiali correlati, requisiti e un risultato concreto da consegnare per sviluppare codice, un documento analitico o un piano con basi esplicite.
- 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
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti gpt-5.6-sol-pro | Predefinito— |
Campomessages | Tipomessage[] | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campomessages[].role | Tipostring | RequisitoObbligatorio | Valori e limiti user, assistant | Predefinito— |
Campomessages[].content | Tipostring | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campomax_tokens | Tipointeger | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campostream | Tipoboolean | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |
Combinazioni di materiali in input
Testo · Testo UTF-8
Stringa messages[].content
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, messages, max_tokens |
Parametrooptional_controls | Contrattostream |
Parametromaterial_types | Contrattotext |
Parametrotext_file_material | ContrattoLeggi 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 · max
- Tariffa standard Quando lo sforzo di ragionamento è max
- 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.
| Configurazione | Listino delle tariffe | Token di contesto, più di | Token di contesto, fino al limite incluso | Costo |
|---|---|---|---|---|
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Token di contesto, più di— | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.008 / 1K token Output · Token in output $0.04 / 1K token Input · Lettura dalla cache $0.0008 / 1K token Input · Scrittura nella cache $0.01 / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
| ConfigurazioneFascia 1 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di0 | Token di contesto, fino al limite incluso272.000 | Costo Input · Token in input $0.008 / 1K token Output · Token in output $0.04 / 1K token Input · Lettura dalla cache $0.0008 / 1K token Input · Scrittura nella cache $0.01 / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
| ConfigurazioneFascia 2 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di272.000 | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.016 / 1K token Output · Token in output $0.06 / 1K token Input · Lettura dalla cache $0.0016 / 1K token Input · Scrittura nella cache $0.02 / 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
{
"model": "gpt-5.6-sol-pro",
"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.6-sol-pro', '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.6-sol-pro', '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
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campomodel | Tipostring |
Campocontent[] | Tipotext|thinking|tool_use|other content block |
Campostop_reason | Tipostring|null |
Campousage | Tipoobject |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |
Alias
Alias del modello
Ailoot Ultra gpt-5.6-sol-pro, openai/gpt-5.6-sol-pro
Alias dei percorsi dei metodi
/chat/completions
ID di chiamata correlati
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions openai/gpt-5.6-sol-pro
openai/gpt-5.6-sol-progpt-5.6-sol-proopenai/gpt-5.6-sol-pro
Introduzione
GPT-5.6 Sol con ragionamento Pro per lavoro professionale complesso. Fornite materiali correlati, requisiti e un risultato concreto da consegnare per sviluppare codice, un documento analitico o un piano con basi esplicite.
- 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
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti openai/gpt-5.6-sol-pro | Predefinito— |
Campomessages | Tipomessage[] | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 | Predefinito— |
Campomessages[].role | Tipostring | RequisitoObbligatorio | Valori 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[].content | Tipostring|content_part[]|null | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Campomessages[].tool_calls | Tipotool_call[] | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Campomessages[].tool_call_id | Tipostring | RequisitoFacoltativo | Valori e limiti Si applica quando: role=tool; usa l’ID effettivamente restituito | Predefinito— |
Campomessages[].name | Tipostring | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Campomessages[].reasoning_content | Tipostring | RequisitoFacoltativo | Valori e limiti Si applica quando: Reinserisci il ragionamento effettivamente restituito quando il modello lo utilizza | Predefinito— |
Campomessages[].reasoning_details | Tipoobject|array | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Campomax_tokens | Tipointeger | RequisitoFacoltativo | Valori e limiti Minimo: 1 Dipende dal modello | Predefinito— |
Campomax_completion_tokens | Tipointeger | RequisitoFacoltativo | Valori e limiti Minimo: 1 Dipende dal modello | Predefinito— |
Campostream | Tipoboolean | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |
Campostream_options.include_usage | Tipoboolean | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Campotemperature | Tiponumber | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Campotop_p | Tiponumber | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Campostop | Tipostring|string[] | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Campotools | Tipofunction_tool[] | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Campotools[].type | Tipostring | RequisitoFacoltativo | Valori e limiti function Dipende dal modello | Predefinito— |
Campotools[].function.name | Tipostring | RequisitoObbligatorio | Valori e limiti Si applica quando: Funzione fornita come strumento | Predefinito— |
Campotools[].function.description | Tipostring | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Campotools[].function.parameters | TipoJSON_schema | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Campotool_choice | Tipostring|object | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Campoparallel_tool_calls | Tipoboolean | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Camporesponse_format | Tipoobject | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Camporeasoning_effort | Tipostring | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Camporeasoning | Tipoobject | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Camposervice_tier | Tipostring | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Campoinstructions | Tipostring | RequisitoFacoltativo | Valori e limiti Campo di compatibilità | Predefinito— |
Campofunctions | Tipofunction[] | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Campofunction_call | Tipostring|object | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Campoprompt_cache_options | Tipoobject | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
Campomodalities | Tipostring[] | RequisitoFacoltativo | Valori e limiti text | Predefinito— |
Campoprovider | Tipoobject | RequisitoFacoltativo | Valori e limiti Condizioni: provider.options viene rifiutato su questa rotta testuale Ultra | Predefinito— |
Campocache_control.ttl | Tipostring | RequisitoFacoltativo | Valori 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
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, messages |
Parametromaterial_types | Contrattotext |
Parametromessages | ContrattoArray di messaggi con struttura role/content |
Parametrofile_material | ContrattoDocumento UTF-8 effettivo inserito come testo letterale; nessun ID di file dedotto |
Parametrooptional_controls | Contrattostream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametrocontrol_scope | ContrattoSpecifico del modello; gli strumenti di funzione dell’utente differiscono dagli strumenti ospitati |
Parametrooutput_modalities | Contrattotext |
Parametrohosted_operations | Contrattofalse |
Parametromultimodal_input_binding | Contrattonull |
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 · max
- Tariffa standard Quando lo sforzo di ragionamento è max
- 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.
| Configurazione | Listino delle tariffe | Token di contesto, più di | Token di contesto, fino al limite incluso | Costo |
|---|---|---|---|---|
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Token di contesto, più di— | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.008 / 1K token Output · Token in output $0.04 / 1K token Input · Lettura dalla cache $0.0008 / 1K token Input · Scrittura nella cache $0.01 / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
| ConfigurazioneFascia 1 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di0 | Token di contesto, fino al limite incluso272.000 | Costo Input · Token in input $0.008 / 1K token Output · Token in output $0.04 / 1K token Input · Lettura dalla cache $0.0008 / 1K token Input · Scrittura nella cache $0.01 / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
| ConfigurazioneFascia 2 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di272.000 | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.016 / 1K token Output · Token in output $0.06 / 1K token Input · Lettura dalla cache $0.0016 / 1K token Input · Scrittura nella cache $0.02 / 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
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.6-sol-pro", "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.6-sol-pro',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.6-sol-pro',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
| Campo | Tipo |
|---|---|
Campochoices[].index | Tipointeger |
Campochoices[].message.content | Tipostring|null |
Campochoices[].message.tool_calls | Tipotool_call[] |
Campochoices[].message.reasoning_content | Tipostring |
Campochoices[].message.reasoning_details | Tipoobject|array |
Campochoices[].finish_reason | Tipostring|null |
Campousage | Tipoobject |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |
Alias
Alias del modello
Ailoot Ultra gpt-5.6-sol-pro, openai/gpt-5.6-sol-pro
Alias dei percorsi dei metodi
/chat/completions
ID di chiamata correlati
Ailoot Ultra · Anthropic Messages POST /v1/messages openai/gpt-5.6-sol-pro
openai/gpt-5.6-sol-progpt-5.6-sol-proopenai/gpt-5.6-sol-pro
Introduzione
GPT-5.6 Sol con ragionamento Pro per lavoro professionale complesso. Fornite materiali correlati, requisiti e un risultato concreto da consegnare per sviluppare codice, un documento analitico o un piano con basi esplicite.
- 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
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti openai/gpt-5.6-sol-pro | Predefinito— |
Campomessages | Tipomessage[] | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campomessages[].role | Tipostring | RequisitoObbligatorio | Valori e limiti user, assistant | Predefinito— |
Campomessages[].content | Tipostring | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campomax_tokens | Tipointeger | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campostream | Tipoboolean | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |
Combinazioni di materiali in input
Testo · Testo UTF-8
Stringa messages[].content
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, messages, max_tokens |
Parametrooptional_controls | Contrattostream |
Parametromaterial_types | Contrattotext |
Parametrotext_file_material | ContrattoLeggi 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 · max
- Tariffa standard Quando lo sforzo di ragionamento è max
- 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.
| Configurazione | Listino delle tariffe | Token di contesto, più di | Token di contesto, fino al limite incluso | Costo |
|---|---|---|---|---|
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Token di contesto, più di— | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.008 / 1K token Output · Token in output $0.04 / 1K token Input · Lettura dalla cache $0.0008 / 1K token Input · Scrittura nella cache $0.01 / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
| ConfigurazioneFascia 1 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di0 | Token di contesto, fino al limite incluso272.000 | Costo Input · Token in input $0.008 / 1K token Output · Token in output $0.04 / 1K token Input · Lettura dalla cache $0.0008 / 1K token Input · Scrittura nella cache $0.01 / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
| ConfigurazioneFascia 2 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di272.000 | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.016 / 1K token Output · Token in output $0.06 / 1K token Input · Lettura dalla cache $0.0016 / 1K token Input · Scrittura nella cache $0.02 / 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
{
"model": "openai/gpt-5.6-sol-pro",
"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.6-sol-pro', '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.6-sol-pro', '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
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campomodel | Tipostring |
Campocontent[] | Tipotext|thinking|tool_use|other content block |
Campostop_reason | Tipostring|null |
Campousage | Tipoobject |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |
Alias
Alias del modello
Ailoot Ultra gpt-5.6-sol-pro, openai/gpt-5.6-sol-pro
Alias dei percorsi dei metodi
/chat/completions
ID di chiamata correlati
FAQ · OpenAI: GPT-5.6 Sol Pro
- Quali input e risultati sono disponibili?
POST /v1/chat/completions·gpt-5.6-sol-pro:text→textPOST /v1/messages·gpt-5.6-sol-pro:text→json,ssePOST /v1/chat/completions·openai/gpt-5.6-sol-pro:text→textPOST /v1/messages·openai/gpt-5.6-sol-pro:text→json,sse- Quali campi usa la richiesta?
POST /v1/chat/completions·gpt-5.6-sol-pro:model,messages,streamPOST /v1/messages·gpt-5.6-sol-pro:model,messages,max_tokens,streamPOST /v1/chat/completions·openai/gpt-5.6-sol-pro:model,messages,stream,modalities,providerPOST /v1/messages·openai/gpt-5.6-sol-pro:model,messages,max_tokens,stream- Quali limiti si applicano?
POST /v1/chat/completions·gpt-5.6-sol-pro:messages.min_items:1POST /v1/chat/completions·openai/gpt-5.6-sol-pro:messages.min_items:1