Una scheda del titolo generata, intestata 'Due modelli decisionali, una domanda', con l'occhiello 'OPENAI DECISIONS API vs JEV 1.13' e il sottotitolo 'Ciò che un cliente ha costruito il 2026-10-06 dimostra quello che gli annunci non hanno dimostrato'. Tre schede sulla destra recitano 'Prezzo: $0,10 / $0,042 per milione di input', 'Input: testo + immagini / solo testo' e 'Risposte: predicato, scelta, punteggio'. Una riga a piè di pagina recita 'Dati sugli endpoint secondo la documentazione OpenAI e TypeSafe consultata il 2026-10-07; GPT-6 Luna è stato rilasciato il 2026-09-22'. Il logo OrcaRouter è composto nell'angolo in basso a destra.
Guides & Insights

Dove finisce l'API Decisions di OpenAI e dove inizia Jev: cosa mostra il primo cliente esterno

Autore

Alistair Wren

Data di pubblicazione

Ultimi modelli · 20Vedi tutti i modelli →
Benchmark: Artificial Analysis · aggiornato ogni giorno
Torna a tutti gli articoli

Alle 23:05 UTC del 6 ottobre 2026, un plugin chiamato llm-openai-decisions è approdato su PyPI, e il suo stesso README contiene la frase che la copertura del lancio non ha mai stampato: "A differenza di Jev, il nuovo gpt-6-luna modello decisionale supporta l'input di immagini oltre al testo." L'autore è Simon Willison, che ha anche scritto il primo client per il modello decisionale di TypeSafe, e il confronto che traccia è tra GPT-6 Luna — il modello dietro l'API Decisions di OpenAI — e Jev 1.13, il modello System One solo testuale di TypeSafe. Lo stesso post del blog osserva che il plugin stesso è stato scritto da GPT-6 Astra leggendo la documentazione di OpenAI.

Questa è la cosa utile di un client che viene rilasciato una settimana dopo un'API: è scritto in base alla forma della richiesta, non al keynote, quindi fa emergere le differenze che il testo di marketing attenua. Qui non c'è nulla di trapelato e nulla di non confermato — ogni cifra riportata di seguito proviene da una pagina pubblicata da OpenAI, TypeSafe o dal repository stesso del plugin, tutte consultate il 2026-10-07. Ciò che manca ancora è una misurazione indipendente dell'endpoint stesso, e questa lacuna è dichiarata alla fine anziché essere mascherata.

Le tre superfici, tenute separate

La prima cosa da chiarire è che questi sono tre livelli diversi, e la copertura della stampa li confonde.

• Gli endpoint.Quello di OpenAI è POST /v1/decisions, una route dedicata anziché una modalità della Responses API. Quello di TypeSafe è POST /v1/systemone. Entrambi accettano un corpo di prove più un elenco di domande tipizzate e restituiscono una risposta per ogni domanda, indicizzata con il nome che le hai assegnato.

• I modelli. L'API Decisions accetta esattamente un modello oggi, gpt-6-luna, che è anche la fascia economica della linea GPT-6 generalista di OpenAI ed è stato rilasciato il 2026-09-22 come modello ordinario di testo e immagini. Jev 1.13 è un modello decisionale end to end — non può produrre affatto testo libero. TypeSafe lo ha rilasciato il 2026-09-15 ed è disponibile a livello generale dal 2026-09-21.

• I client.Gli SDK di OpenAI supportano l'endpoint da quando è entrato in beta pubblica il 2026-10-06, quindi il plugin non è il primo modo per chiamarlo. È il primo client al di fuori degli SDK di OpenAI che siamo riusciti a verificare, e il primo scritto per uno strumento a riga di comando anziché per una libreria applicativa.

I due metri, fianco a fianco

È qui che il README del client vale più dell'annuncio, perché i numeri stanno accanto alla formulazione.

• Prezzo — l'API Decisions addebita $0,10 per milione di token di input, senza costi per l'output, senza costi per la lettura della cache e senza costi per la scrittura della cache. Jev 1.13 addebita $0,042 per milione di token di input, con output gratuito. Entrambe addebitano per ciò che invii e nulla per ciò che restituisce, quindi una decisione costa una frazione di centesimo con entrambi i prezzi e la differenza tra loro è un fattore di 2,4, non un diverso modello di fatturazione.

• Input — l'API Decisions accetta testo o messaggi utente che mescolano testo e immagini, e il README del plugin dichiara che gli allegati PNG, JPEG, WebP e GIF sono supportati con al massimo 128 immagini in una richiesta. Le immagini devono essere inserite come data URL base64 inline; gli URL di immagini HTTP o HTTPS ospitati e file_id come input non sono accettati dall'endpoint, quindi il plugin converte un URL o un percorso locale prima di inviarlo. La documentazione di Jev 1.13 è netta nella direzione opposta: "Nessun input di immagini, audio o video", e gli input non testuali dovrebbero essere pre-elaborati in testo o campi strutturati prima che raggiungano lo stato.

• Tipi di domanda — OpenAI ne documenta tre: predicate (una probabilità da 0 a 1 che una condizione dichiarata sia soddisfatta), choice (un valore dal tuo elenco, più una distribuzione e un campo di confidenza separato) e score (una media ponderata per probabilità su livelli ordinati). I tre di TypeSafe sono le stesse tre idee con nomi diversi: noul per sì/no, choice e score. "Noul" è l'abbreviazione di Bernoulli, e il nome è un indicatore calzante della differenza culturale: un fornitore offre un sostantivo di uso comune, l'altro offre una battuta statistica.

•Punteggio — i due concordano, il che è il segno più forte che si tratti di un'unica categoria di prodotto anziché di due. La documentazione di OpenAI assegna ai livelli di gravità le probabilità 0,1, 0,7 e 0,9 e restituisce un punteggio di 1,1 — deliberatamente compreso tra due livelli anziché allineato al più vicino. I livelli di TypeSafe sono indicizzati a partire da zero allo stesso modo, e il plugin per Jev accetta da due a dieci livelli ordinati. La pagina di OpenAI non dichiara alcun tetto massimo; si tratta di un'assenza nella loro documentazione, non di un limite che possiamo affermare.

• Budget — Jev documenta con precisione la propria finestra: circa 64.000 token per richiesta, di cui circa 32.000 coprono lo stato più la singola domanda più lunga, rispetto al contesto da 1.050.000 token che il nostro catalogo riporta per GPT-6 Luna come modello generale. La pagina delle decisioni di OpenAI non pubblica alcun budget di token, ma soltanto la nota che i sovrapprezzi regionali per l'elaborazione e i moltiplicatori di input per contesto lungo continuano ad applicarsi alla tariffa.

Ciò che il cliente rivela e che l'annuncio non ha rivelato

Tre dettagli nel plugin e nel suo README meritano di essere evidenziati, perché ognuno cambia il modo in cui collegheresti l'endpoint.

Il primo è che una decisione può tornare come un rifiuto. La documentazione di OpenAI non lo spiega mai in prosa, ma ogni esempio dell'SDK presenta una diramazione su di esso — answer.type === "refusal" in JavaScript, un OpenAI::Models::Decision::Answer::Refusal case in Ruby — e il README del plugin specifica che una domanda rifiutata viene conservata come {"name":"...","type":"refusal"}. Quindi il tipo di risposta è effettivamente quattro valori, non tre, e qualsiasi ciclo di produzione deve gestire un quarto ramo che nessun annuncio ha menzionato.

Il secondo è ciò che manca al plugin anziché essere presente in esso. Il post di Willison inquadra il lavoro come un far leggere a GPT-6 Astra la nuova documentazione e costruire da essa il client — da documentazione a client, in un'unica passata, senza tutorial umano. Oggigiorno è un modo normale di scrivere un client, e ciò significa che la questione se la documentazione di un endpoint sia abbastanza completa da generare un client funzionante è diventata una questione pratica anziché editoriale. Per questo endpoint la risposta è per lo più sì, con il tipo di rifiuto come giuntura visibile.

Il terzo è la forma dell'array di domande. OpenAI ti consente di inserire domande indipendenti in un'unica richiesta sullo stesso input condiviso — controllare se la foto di un prodotto presenta danni e classificarne la categoria nella stessa chiamata — ma richiede richieste separate quando una domanda successiva dipende da una risposta precedente. Jev assume la stessa posizione per lo stesso motivo: le sue domande vengono valutate in parallelo rispetto a un unico stato, quindi qualsiasi cosa sequenziale deve diventare due chiamate. Entrambi i fornitori hanno progettato per il fan-out, ed entrambi ti stanno dicendo la stessa cosa su dove va il budget di latenza.

La categoria ora ha tre occupanti, e due di essi non sono modelli generali.

Vale la pena nominare il terzo, perché il frame dell'endpoint decisionale ha senso solo con tutti e tre in vista. Perplexity distribuisce una propria Decisions API, servita da pplx-decider-v1-27b — un modello decisionale da 27 miliardi di parametri rilasciato sotto Apache 2.0 con i pesi su Hugging Face il 2026-10-01. Questo conferisce alla categoria una forma genuinamente diversa da quella di OpenAI: Jev 1.13 è closed e solo testuale, il decider di Perplexity è open-weight e accetta immagini, e l'ingresso di GPT-6 Luna è un harness attorno a un modello generale anziché un modello costruito per decidere.

Per un lettore che oggi deve scegliere, la separazione pratica è più stretta di quanto suggerisca il marketing. Se la tua prova è una frase o un record e vuoi il costo per chiamata più basso con la minore variabilità di comportamento, Jev 1.13 è lo specialista e la sua tariffa di $0,042 è la più bassa dei tre prezzi pubblicati che abbiamo potuto verificare. Se la tua prova include una fotografia, o vuoi una decisione da un modello che già conosci da attività ordinarie, le Decisions API sono l'unica delle due opzioni chiuse che accetta immagini. L'opzione open-weight risponde a una domanda diversa — controllo e self-hosting — e non l'abbiamo testata.

Quello che possiamo effettivamente misurare, e quello che nessuno ha

L'affermazione di OpenAI per l'endpoint è che "valuta testo, immagini o entrambi e restituisce risposte tipizzate circa 10 volte più velocemente rispetto alla Responses API". Si tratta di un'affermazione dichiarata dal fornitore e non riprodotta: nessuna regione, nessuna dimensione dell'input, nessun livello di concorrenza, nessun accordo sul livello di servizio, e il riferimento è la Responses API in generale anziché un carico di lavoro specifico. Un singolo dato di accelerazione è il numero sbagliato su cui basare una scadenza.

Ciò che possiamo mettere accanto ad esso è la nostra finestra di servizio di sette giorni che termina il 2026-10-07 sui due modelli sottostanti, dal traffico del nostro playground — ed è importante dire cosa quei numeri non sono. Descrivono ordinarie richieste di generazione, non decisioni.

• GPT-6 Luna, tutte le tipologie di richiesta: una mediana di 1.448 ms e un p95 di 4.912 ms, un tasso di errore dell'1,31% su 643.394.111 token in sette giorni, che è quello che sembra un throughput di circa 125 token di output al secondo quando il modello scrive.

• Jev 1.13: una mediana di 149 ms e un p95 di 245 ms, un tasso di errore dello 0,10% su 110.193.080 token. È un endpoint davvero veloce, ed è veloce perché non genera una risposta: restituisce numeri per uno stato che viene ingerito una sola volta.

Confrontati tra loro, sono un avvertimento, non un confronto. Una richiesta di decisione emette pochi token, quindi sulla Decisions API il dato di throughput di output che domina il profilo generale di Luna smette di essere il vincolo limitante, e il numero che inizia a contare è quanto tempo impiega il modello a leggere le prove. Non l'abbiamo misurato sull'endpoint decisions e, per quanto possiamo sapere, nessuno al di fuori di OpenAI l'ha pubblicato.

La questione più profonda e non misurata è la calibrazione, ed è quella che decide se qualcosa di tutto questo sia utilizzabile. Vale la pena basare l'instradamento su una probabilità di 0,92 per un danno visibile solo se, in tutto il tuo traffico, le foto con punteggio vicino a 0,92 risultano danneggiate circa il 92% delle volte. La documentazione di OpenAI ti dice di impostare le soglie a partire da esempi etichettati e di sceglierle in base al costo dei falsi positivi rispetto ai falsi negativi. È un consiglio corretto, ed è anche un'ammissione che la calibrazione di questi numeri è qualcosa che devi stabilire da solo. In prima battuta, misura la distribuzione delle probabilità restituite su un campione di cui conosci già le risposte. Se tutto restituisce 0,99 o 0,01, la soglia non sta facendo alcun lavoro e l'endpoint è un booleano molto costoso.

Come provare l'uno o l'altro senza puntarvi un percorso di produzione

Fonti, in parole semplici: il contratto dell'endpoint, il prezzo e le regole sulle immagini in questo articolo provengono dalla documentazione Decisions API di OpenAI stessa e dal README del plugin, entrambi consultati il 2026-10-07; la specifica Jev 1.13 proviene dalla documentazione del modello di TypeSafe stessa; i dati di servizio sono i nostri dati del playground relativi alla finestra di sette giorni che termina il 2026-10-07; i timestamp dei pacchetti provengono da PyPI e dalla cronologia Git del progetto. L'affermazione di velocità 10x è di OpenAI ed è etichettata come tale. La licenza e la data di rilascio del decider open-weight provengono dal suo repository del modello.

L'API Decisions in sé è un pacchetto di OpenAI e non la instradiamo; se vuoi quell'endpoint specifico, si trova presso OpenAI. I modelli sottostanti sono un'altra questione. GPT-6 Luna è una route attiva su OrcaRouter al prezzo di listino di OpenAI, senza alcun ricarico applicato, e typesafe/jev-1.13 al prezzo di listino si trova sulla stessa chiave, il che rende il confronto in questo articolo qualcosa che puoi eseguire anziché leggere: lo stesso stato, le stesse domande, due endpoint, un solo contratto da gestire e nessuna seconda fattura.

Questo è anche il modo saggio di adottare una superficie non ancora collaudata. Metti la decisione dietro un fallback, così che un rifiuto, un timeout o un limite beta che cambia sotto di te si degradi in una chiamata basata su prompt anziché in un'interruzione del servizio, e mantieni quel fallback sulla stessa chiave della primaria, così non c'è nulla da ricablare quando l'endpoint si avvicina alla disponibilità generale. OpenAI afferma che la GA è prevista nelle prossime settimane e che gpt-6-lunaè l'unico modello disponibile nel frattempo; entrambe le cose sono motivi per sviluppare in base alla forma e strumentarla già ora, e nessuna delle due è un motivo per metterci dietro un'autorizzazione al pagamento, per ora.

A generated two-column scoreboard titled 'GPT-6 Luna vs Jev 1.13 - the scoreboard' comparing the decision endpoints of GPT-6 Luna and Jev 1.13. The left column, headed 'GPT-6 Luna (Decisions API)', reads 'Price: $0.10 per M input', 'Output charge: none', 'Input: text + images', 'Answer types: predicate, choice, score', 'Model ids: gpt-6-luna only' and 'Status: public beta, GA promised'. The right column, headed 'Jev 1.13 (TypeSafe)', reads 'Price: $0.042 per M input', 'Output charge: none', 'Input: text only', 'Answer types: noul, choice, score', 'Model ids: jev-1.13 only' and 'Status: GA since 2026-09-21'. A footer line reads 'Per OpenAI and TypeSafe documentation read 2026-10-07; no independent endpoint measurement exists.' The OrcaRouter logo is composited in the bottom-right corner.

Cosa guardare dopo

Tre cose risolverebbero le questioni che questo pezzo non può. Un budget di token pubblicato per l'endpoint delle decisioni, così che una richiesta possa essere dimensionata invece che indovinata. Qualsiasi annuncio di GA, che è il punto in cui la tariffa solo-input smette di essere una promessa in beta. E una misurazione indipendente di latenza e calibrazione sull'endpoint stesso — la prima persona che ci farà passare qualche migliaio di coppie etichettate e pubblicherà la curva di affidabilità farà di più per la categoria di quanto abbia fatto l'uno o l'altro post di lancio.

Fino ad allora, il riepilogo onesto è ristretto e utile: se ciò che devi decidere è testo, Jev 1.13 costa meno e restituisce numeri in circa 150 millisecondi nel nostro traffico. Se ciò che devi decidere include un'immagine, OpenAI's Decisions API è quella che la esaminerà, a 2,4 volte il prezzo di input, con un'etichetta beta sulla confezione. Entrambe sono richiamabili da riga di comando da questa settimana, e questa è una posizione migliore di quella in cui si trovava ciascuna sette giorni fa.

A headless-browser capture of the GitHub repository page for simonw/llm-openai-decisions at github.com/simonw/llm-openai-decisions, showing the repository name with the description 'LLM plugin for the OpenAI Decisions API', a sidebar reading 1 branch, 1 tag, 7 stars and 0 forks with an Apache-2.0 licence label, a file list in which five entries carry the commit message 'Plugin, built by GPT-6 Astra Medium', and below it the rendered README opening 'Use the OpenAI Decisions API with LLM to evaluate text and images with predicates,' under an Installation heading with the commands 'llm install llm-openai-decisions' and 'llm keys set openai'.A headless-browser capture of the OrcaRouter model page for OpenAI: GPT-6 Luna, showing the breadcrumb 'Home » Models » OpenAI', the slug openai/gpt-6-luna, the badges 'ctx 1M tokens' and 'Max output 128K', the release date 2026-09-22 with a p50 TTFT figure beside the 'Public benchmarks by OpenAI' heading, the vendor blurb describing GPT-6 Luna as the fast, cost-efficient model in OpenAI's GPT-6 series positioned below GPT-6 Sol, a Python code sample using base_url https://api.orcarouter.ai/v1 with the ORCAROUTER_API_KEY environment variable, and a seven-day tile strip reading $0.10, $0.50, 1.45 s, 4.91 s and 643.7M tokens.