Qualsiasi libreria ufficiale di OpenAI funziona; cambia solo base_url. Gli esempi usano gpt-5.6-sol; per il pacchetto Astra usa gpt-astra.
Chat Completions
base_url deve includere /v1 e non deve terminare con /. La libreria aggiunge /chat/completions da sola.
Le risposte seguono esattamente lo schema di OpenAI: id è chatcmpl-..., usage ha prompt_tokens, completion_tokens e completion_tokens_details.reasoning_tokens. Il credito viene addebitato esattamente usage.total_tokens.
Responses API
Codex e i nuovi SDK usano questo protocollo. L’impostazione di ragionamento si trova in reasoning.effort.
Livello di ragionamento
Con Chat Completions usa reasoning_effort (low, medium, high). Se non impostato, il gateway usa high. Per compiti semplici imposta low per risparmiare token:
reasoning_effort è solo per Chat Completions. Con la Responses API usa reasoning: {"effort": ...}; inviare reasoning_effort a /v1/responses viene rifiutato con “Unsupported parameter”.
Streaming
Su domande difficili il modello potrebbe pensare a lungo prima del primo token. Usa stream: true in modo che la connessione non venga interrotta. stream_options.include_usage fa sì che l’ultimo chunk porti usage in modo che tu possa riconciliare il credito da solo.
Invio di immagini (visione)
Le immagini vanno nell’array content, come URL pubblica o base64 per i file locali.
Le immagini costano token in base alla loro dimensione. Ritaglia la parte rilevante invece di inviare uno screenshot 4K completo.
Modelli e credito tramite API
subscription restituisce il totale in hard_limit_usd; usage restituisce ciò che è stato usato in total_usage, in centesimi (dividi per 100 prima di confrontare). La pagina di verifica fa questo per te.