Una tarjeta de título generada titulada «Dos modelos de decisión, una pregunta», con el antetítulo «OPENAI DECISIONS API vs JEV 1.13» y el subtítulo «Lo que un cliente construyó el 2026-10-06 y que los anuncios no mostraron». Tres tarjetas a la derecha dicen «Precio: $0.10 / $0.042 por millón de entrada», «Entrada: texto + imágenes / solo texto» y «Respuestas: predicado, elección, puntuación». Una línea al pie dice «Cifras de endpoints según la documentación de OpenAI y TypeSafe consultada el 2026-10-07; GPT-6 Luna se lanzó el 2026-09-22». El logotipo de OrcaRouter está compuesto en la esquina inferior derecha.
Guides & Insights

Dónde termina la Decisions API de OpenAI y dónde comienza Jev: lo que muestra el primer cliente externo

Autor

Alistair Wren

Fecha de publicación

Últimos modelos · 20Ver todos los modelos →
Benchmarks: Artificial Analysis · actualizado a diario
Volver a todas las publicaciones

A las 23:05 UTC del 6 de octubre de 2026, un plugin llamado llm-openai-decisions llegó a PyPI, y su propio README contiene la frase que la cobertura del lanzamiento nunca publicó: "A diferencia de Jev, el nuevo gpt-6-luna, el modelo de decisiones, admite entrada de imágenes además de texto." El autor es Simon Willison, quien también escribió el primer cliente para el modelo de decisiones de TypeSafe, y la comparación que traza es entre GPT-6 Luna —el modelo detrás de la API Decisions de OpenAI— y Jev 1.13, el modelo System One solo de texto de TypeSafe. La misma publicación de blog señala que el propio plugin fue escrito por GPT-6 Astra leyendo la documentación de OpenAI.

Eso es lo útil de que un cliente se lance una semana después de una API: está escrito según la forma de la solicitud, no según la keynote, así que saca a la luz las diferencias que el copy de marketing disimula. Nada de lo que hay aquí es una filtración y nada de lo que hay aquí está sin confirmar —cada cifra que aparece a continuación procede de una página publicada por OpenAI, TypeSafe o el propio repositorio del plugin, todas consultadas el 2026-10-07. Lo que todavía falta es una medición independiente del propio endpoint, y ese vacío se señala al final en lugar de disimularse.

Las tres superficies, mantenidas separadas

Lo primero que hay que dejar claro es que son tres capas diferentes, y la cobertura de prensa las confunde.

• Los endpoints.El de OpenAI es POST /v1/decisions, una ruta dedicada en lugar de un modo en la API de Responses. El de TypeSafe es POST /v1/systemone. Ambos reciben un cuerpo de evidencia más una lista de preguntas tipadas y devuelven una respuesta por pregunta, usando como clave el nombre que le diste.

• Los modelos. La API de Decisions acepta exactamente un modelo hoy, gpt-6-luna, que también es el nivel económico de la línea general GPT-6 de OpenAI y se lanzó el 22 de septiembre de 2026 como un modelo ordinario de texto e imágenes. Jev 1.13 es un modelo de decisión de principio a fin — no puede emitir texto libre en absoluto. TypeSafe lo lanzó el 15 de septiembre de 2026 y ha estado disponible de forma general desde el 21 de septiembre de 2026.

• Los clientes.Los propios SDK de OpenAI admiten el endpoint desde que se abrió en beta pública el 2026-10-06, así que el plugin no es la primera forma de llamarlo. Es el primer cliente fuera del propio SDK de OpenAI que hemos podido verificar, y el primero escrito para una herramienta de línea de comandos en lugar de una biblioteca de aplicación.

Los dos metros, uno al lado del otro

Aquí es donde el README del cliente vale más que el anuncio, porque los números están junto a las palabras.

• Precio — la API de Decisions cobra $0.10 por millón de tokens de entrada, sin cargo por salida, sin cargo por lectura de caché y sin cargo por escritura de caché. Jev 1.13 cobra $0.042 por millón de tokens de entrada y la salida es gratuita. Ambos cobran por lo que envías y nada por lo que recibes, así que una decisión cuesta una fracción de centavo con cualquiera de los dos precios y la diferencia entre ellos es un factor de 2.4, no un modelo de facturación diferente.

• Entrada — la API de Decisions acepta texto, o mensajes de usuario que combinan texto con imágenes, y el README del plugin indica que se admiten archivos adjuntos PNG, JPEG, WebP y GIF con un máximo de 128 imágenes por solicitud. Las imágenes deben enviarse como URL de datos base64 en línea; las URL de imágenes alojadas HTTP o HTTPS y file_id no son aceptadas por el endpoint, por lo que el plugin convierte una URL o una ruta local antes de enviarla. La documentación de Jev 1.13 es tajante en la dirección opuesta: «No se admiten entradas de imagen, audio o video», y las entradas que no sean texto deben preprocesarse para convertirlas en texto o campos estructurados antes de llegar al estado.

• Tipos de pregunta — OpenAI documenta tres: predicate (una probabilidad de 0 a 1 de que se cumpla una condición declarada), choice (un valor de tu lista, más una distribución y un campo de confianza aparte), y score (un promedio ponderado por probabilidad entre niveles ordenados). Los tres de TypeSafe son las mismas tres ideas con nombres distintos: noul para sí/no, choice, y score. “Noul” es la abreviatura de Bernoulli, y el nombre es un buen indicador de la diferencia cultural: un proveedor ofrece un sustantivo en lenguaje llano, el otro ofrece un chiste estadístico.

• Aritmética de puntuaciones — ambos coinciden exactamente, lo cual es la señal más fuerte de que se trata de una sola categoría de producto y no de dos. La documentación de OpenAI introduce tres niveles de gravedad con probabilidades de 0,1, 0,7 y 0,2 y devuelve una puntuación de 1,1 —deliberadamente entre dos niveles en lugar de ajustarse al más cercano. Los niveles de TypeSafe están indexados desde cero de la misma manera, y el plugin para Jev toma entre dos y diez niveles ordenados. La página de OpenAI no indica ningún límite máximo; eso es una ausencia en su documentación, no un límite que podamos afirmar.

• Presupuestos — Jev documenta su ventana con precisión: alrededor de 64.000 tokens por solicitud, unos 32.000 de ellos para cubrir el estado más la pregunta individual más larga, frente al contexto de 1.050.000 tokens que nuestro propio catálogo indica para GPT-6 Luna como modelo general. La página de decisiones de OpenAI no publica ningún presupuesto de tokens, solo la nota de que los recargos por procesamiento regional y los multiplicadores de entrada de contexto largo siguen aplicándose a la tarifa.

Lo que el cliente revela que el anuncio no reveló

Tres detalles del plugin y de su README merecen destacarse, porque cada uno cambia la forma en que conectarías el endpoint.

La primera es que una decisión puede volver como un rechazo. La documentación de OpenAI nunca explica esto en prosa, pero cada ejemplo del SDK ramifica según ello — answer.type === "refusal" en JavaScript, un OpenAI::Models::Decision::Answer::Refusal caso en Ruby — y el README del plugin especifica que una pregunta rechazada se conserva como {"name":"...","type":"refusal"}. Así que el tipo de respuesta es en realidad cuatro valores, no tres, y cualquier bucle de producción tiene que gestionar una cuarta rama que ningún anuncio mencionó.

El segundo es lo que falta en el plugin en lugar de estar presente en él. El propio artículo de Willison enmarca el trabajo como hacer que GPT-6 Astra lea la nueva documentación y construya el cliente a partir de ella —de documentación a cliente, una sola pasada, sin tutorial humano—. Esa ya es una forma normal de escribir un cliente, y significa que la pregunta de si la documentación de un endpoint es lo bastante completa como para generar a partir de ella un cliente funcional se ha vuelto una cuestión práctica más que editorial. Para este endpoint, la respuesta es en su mayor parte sí, con el tipo de rechazo como la costura visible.

El tercero es la forma del array de preguntas. OpenAI te permite poner preguntas independientes en una sola solicitud sobre una entrada compartida —revisar una foto de producto en busca de daños y clasificar su categoría en la misma llamada—, pero exige solicitudes separadas cuando una pregunta posterior depende de una respuesta anterior. Jev adopta la misma postura por la misma razón: sus preguntas se evalúan en paralelo contra un único estado, así que cualquier cosa secuencial tiene que convertirse en dos llamadas. Ambos proveedores han sido diseñados para el fan-out, y ambos te dicen lo mismo sobre adónde va el presupuesto de latencia.

La categoría ahora tiene tres ocupantes, y dos de ellos no son modelos generales.

Vale la pena nombrar al tercero, porque el marco del endpoint de decisión solo tiene sentido si se contemplan los tres. Perplexity distribuye una API de Decisions propia, servida por pplx-decider-v1-27b — un modelo de decisión de 27.000 millones de parámetros publicado bajo Apache 2.0 con los pesos en Hugging Face el 2026-10-01. Eso da a la categoría una forma genuinamente distinta de la de OpenAI: Jev 1.13 es cerrado y solo texto, el decider de Perplexity tiene pesos abiertos y acepta imágenes, y la entrada de GPT-6 Luna es un arnés en torno a un modelo general en lugar de un modelo creado para decidir.

Para un lector que elige hoy, la división práctica es más estrecha de lo que sugiere el marketing. Si tu evidencia es una frase o un registro y quieres el coste por llamada más bajo con la menor variación de comportamiento, Jev 1.13 es el especialista y su tarifa de $0.042 es la más baja de los tres precios publicados que pudimos verificar. Si tu evidencia incluye una fotografía, o quieres una decisión de un modelo que ya conoces por tareas habituales, Decisions API es la única de las dos opciones cerradas que acepta imágenes. La opción de pesos abiertos responde a una pregunta diferente —control y autoalojamiento—, y no la hemos probado.

Lo que realmente podemos medir, y lo que nadie tiene

La afirmación de OpenAI sobre el endpoint es que "evalúa texto, imágenes o ambos y devuelve respuestas tipadas aproximadamente 10 veces más rápido que la API Responses". Eso lo declara el proveedor y no se ha reproducido: no hay región, ni tamaño de entrada, ni nivel de concurrencia, ni acuerdo de nivel de servicio, y la línea base es la API Responses en general en lugar de una carga de trabajo específica. Una única cifra de aceleración es el número equivocado sobre el que basar una fecha límite.

Lo que podemos poner al lado es nuestra propia ventana de servicio de siete días que finaliza el 2026-10-07 en los dos modelos que aparecen debajo, a partir de nuestro tráfico de playground, y es importante decir lo que esos números no son. Describen solicitudes ordinarias de generación, no decisiones.

• GPT-6 Luna, todas las formas de solicitud: una mediana de 1.448 ms y un p95 de 4.912 ms, una tasa de error del 1,31 % en 643.394.111 tokens en siete días, que es el aspecto que tiene un rendimiento de unos 125 tokens de salida por segundo cuando el modelo está escribiendo.

• Jev 1.13: una mediana de 149 ms y un p95 de 245 ms, una tasa de error del 0,10 % sobre 110.193.080 tokens. Ese es un endpoint genuinamente rápido, y es rápido porque no genera una respuesta: devuelve números para un estado que se ingiere una vez.

Al leerlas juntas, esas dos filas son una advertencia, no una comparación. Una solicitud de decisión emite un puñado de tokens, así que, en la Decisions API, la cifra de rendimiento de salida que domina el perfil general de Luna deja de ser la restricción vinculante, y el número que empieza a importar es cuánto tarda el modelo en leer la evidencia. No hemos medido eso en el endpoint de decisiones y, por lo que sabemos, nadie fuera de OpenAI lo ha publicado.

La cuestión más profunda que no se ha medido es la calibración, y es la que decide si algo de esto es utilizable. Una probabilidad de 0,92 para daño visible solo vale la pena usarla para enrutar si, en todo su tráfico, las fotos con una puntuación cercana a 0,92 presentan daños aproximadamente el 92 % de las veces. La documentación de OpenAI le indica que establezca umbrales a partir de ejemplos etiquetados y que los elija según el costo de los falsos positivos frente a los falsos negativos. Ese es un consejo correcto, y también es una admisión de que la calibración de estos números es algo que usted mismo tiene que establecer. Como primera aproximación, mida la distribución de las probabilidades devueltas en una muestra cuyas respuestas ya conoce. Si todo vuelve con 0,99 o 0,01, el umbral no está haciendo ningún trabajo y el endpoint es un booleano carísimo.

Cómo probar cualquiera de los dos sin arriesgar una ruta de producción en ello

Fuentes, sin rodeos: el contrato del endpoint, el precio y las reglas de imágenes de este artículo provienen de la documentación de la propia Decisions API de OpenAI y del README del plugin, ambos consultados el 2026-10-07; la especificación de Jev 1.13 proviene de la documentación del modelo de la propia TypeSafe; las cifras de servicio son nuestros propios datos de playground de la ventana de siete días que termina el 2026-10-07; las marcas de tiempo de los paquetes provienen de PyPI y del historial de Git del proyecto. La afirmación de velocidad 10x es de OpenAI y se etiqueta como tal. La licencia y la fecha de publicación del decisor open-weight provienen de su repositorio de modelo.

La propia API de Decisions es el empaquetado de OpenAI y nosotros no la enrutamos; si quieres ese endpoint específico, OpenAI es donde se encuentra. Los modelos que hay debajo son otro asunto. GPT-6 Luna es una ruta activa en OrcaRouter al precio de lista de OpenAI sin ningún margen añadido, y typesafe/jev-1.13 a precio de lista está en la misma clave, lo que hace que la comparación de este artículo sea algo que puedes ejecutar en lugar de leer: el mismo estado, las mismas preguntas, dos endpoints, un solo contrato que gestionar y ninguna segunda factura.

Esa es también la forma sensata de adoptar una superficie no probada. Coloca la decisión detrás de un fallback, de modo que un rechazo, un timeout o un límite beta que cambie bajo tus pies degrade a una llamada basada en prompt en lugar de una caída del servicio, y mantén ese fallback con la misma clave que el primario para que no haya nada que recablear cuando el endpoint avance hacia la disponibilidad general. OpenAI dice que se espera la GA en las próximas semanas y que gpt-6-luna es el único modelo disponible mientras tanto; ambas cosas son razones para construir contra la forma e instrumentarla ahora, y ninguna es una razón para poner una autorización de pago detrás de ella todavía.

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.

Qué ver a continuación

Tres cosas resolverían las preguntas que este artículo no puede. Un presupuesto de tokens publicado para el endpoint de decisiones, de modo que una solicitud pueda dimensionarse en lugar de adivinarse. Cualquier anuncio de disponibilidad general, que es el punto en el que la tarifa de solo entrada deja de ser una promesa de beta. Y una medición independiente de la latencia y la calibración en el propio endpoint: quien primero haga pasar unos miles de pares etiquetados por él y publique la curva de fiabilidad hará más por la categoría de lo que hizo cualquiera de los dos artículos de lanzamiento.

Hasta entonces, el resumen honesto es acotado y útil: si lo que necesitas decidir es texto, Jev 1.13 es más barato y devuelve números en unos 150 milisegundos en nuestro tráfico. Si lo que necesitas decidir incluye una imagen, la API Decisions de OpenAI es la que va a mirarla, a 2,4 veces el precio de entrada, con una etiqueta beta en la caja. Ambas se pueden invocar desde una línea de comandos a partir de esta semana, y esa es una mejor posición que la que cualquiera de las dos tenía hace siete días.

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.