Ir al contenido
Zabio está en beta: los modelos, los precios y las funciones pueden cambiar. Cuéntanos qué falla en hello@zabio.ai.

Modelos y enrutado

Cada modelo que sirve Zabio tiene un proveedor (anthropic, openai, google, deepseek, xai, mistral, together, typesafe, alibaba-us o alibaba-intl), una clase (fast, balanced, powerful o frontier, una etiqueta para las páginas, no una regla de enrutado), un conjunto de capacidades, una ubicación de procesamiento y un precio con fecha. Puedes pedir un modelo por su nombre o dejar que Zabio elija con uno de los modelos auto.

Para la forma exacta de cada petición y respuesta, con ejemplos en curl, Python y Node, consulta la Referencia de la API.

Proveedor Modelos Se procesa en
Anthropic, OpenAI, Google sus propios modelos Estados Unidos
xAI Grok, a través del endpoint de EE. UU. de xAI Estados Unidos
DeepSeek DeepSeek a través de la API propia de DeepSeek, etiquetado “DeepSeek (China)” China
Together AI modelos de pesos abiertos (Llama, Qwen, gpt-oss) y copias de los modelos de DeepSeek etiquetadas “DeepSeek (North America, via Together AI)”, con ids que terminan en @together Norteamérica
Mistral AI modelos de Mistral, a través de la API global de Mistral sin garantía: Mistral no se compromete a una ubicación de inferencia en ella
TypeSafe AI Jev (jev-1.13.0), un modelo de decisión: respuestas tipadas con probabilidades calibradas, se llama por su nombre o lo elige auto para una tarea de clasificación, ver Modelos de decisión Estados Unidos
Alibaba Cloud (US) modelos Qwen y GLM a través del espacio de trabajo de Virginia de Alibaba Cloud Model Studio, con ids que terminan en @alibaba-us EE. UU. (Virginia): los datos se almacenan y se procesan solo en Estados Unidos
Alibaba Cloud (International) modelos Qwen y DeepSeek V4 Flash a través del espacio de trabajo de Singapur de Alibaba Cloud Model Studio, y copias de DeepSeek V4.1 Flash, GLM y Qwen 3.8 2.4T con ids que terminan en @alibaba-intl Fuera de China continental: los datos se almacenan en Singapur y se procesan en cualquier lugar fuera de China continental

Todos los proveedores están activados por defecto. Los propietarios y administradores pueden desactivar un proveedor entero, o modelos sueltos, en la página de Modelos de la aplicación web; un proveedor desactivado nunca recibe tus peticiones. Los modelos de DeepSeek existen dos veces para que elijas: desactiva DeepSeek y deja Together AI activado para usar solo los modelos de DeepSeek procesados en Norteamérica.

auto elige entre los modelos con una habilidad medida para el tipo de trabajo de la petición (ver Cómo el enrutado elige un modelo), dentro de los proveedores y modelos que permiten tu organización y tu key. Todos los modelos del catálogo se pueden pedir también por su nombre. El modelo de decisión jev-1.13.0 nunca es candidato, pero auto puede responder una tarea de clasificación con él (ver Tareas de clasificación en auto). Si quieres acotar el campo, nombra una línea (auto/best, auto/balanced), desactiva proveedores o modelos para tu organización o pon una lista de modelos permitidos en la key.

Cuando un proveedor anuncia que retirará un modelo, el modelo lleva retires_at con esa fecha. auto deja de elegirlo 10 días antes; las peticiones que lo nombran siguen funcionando hasta la fecha del proveedor.

Una línea dice cuánta habilidad debe tener el modelo. El clasificador dice qué es la petición: su tipo de trabajo, su dificultad y lo que está en juego. Cada candidato tiene una puntuación de habilidad para ese tipo de trabajo, y la línea fija el mínimo; responde el modelo más barato que llega a ese mínimo.

Id de modelo Qué obtienes
auto/best el modelo más barato cuya habilidad para este tipo de trabajo está en el tercio superior de los candidatos
auto/balanced el modelo más barato cuya habilidad para este tipo de trabajo está en el tercio central de los candidatos o por encima
auto/cheap el modelo más barato con habilidad suficiente para la tarea: cualquier candidato con puntuación de habilidad para este tipo de trabajo
auto lo mismo que auto/cheap. Nombra otra línea cuando quieras un modelo más fuerte en todas las peticiones

Una petición difícil, o de riesgo alto, sube un escalón: auto y auto/cheap al tercio central, auto/balanced al tercio superior; auto/best ya está arriba. Cuando el modelo más barato ya llega al mínimo más alto, nada cambia. zabio.routing.line muestra el nivel tal como lo pediste (auto para auto a secas), y zabio.routing.floor el mínimo aplicado después de cualquier subida (none, middle o top). También puedes nombrar cualquier modelo directamente.

  1. La tarea. Un modelo pequeño y rápido lee la petición (la primera parte de tu prompt de sistema, el último mensaje del usuario, los nombres de tus herramientas, si hay imágenes) y nombra la tarea: su tipo de trabajo (zabio.routing.task_type, una de las etiquetas de Tipos de trabajo), una dificultad de 1 a 5, si el riesgo es alto, con una confianza y una frase de motivo. Lo ves todo en zabio.routing. Nunca ve un precio ni el nombre de un modelo. Cuando duda, redondea la dificultad hacia arriba.
  2. Restricciones. zabio.vendors limita los candidatos a los proveedores que indiques. Los modelos desactivados para tu organización o ausentes de la lista de permitidos de la key quedan fuera.
  3. Capacidades. Una petición con imágenes necesita un modelo con visión, las herramientas necesitan un modelo que las soporte, response_format: json_schema necesita salida estructurada, y el prompt más max_tokens debe caber en la ventana de contexto. Los modelos que no cumplen se descartan.
  4. Habilidad y precio. Cada candidato tiene una puntuación de habilidad para el tipo de trabajo, medida para ese tipo de trabajo y ordenada frente a los demás modelos actuales. Solo los modelos con puntuación son candidatos. La línea fija un mínimo sobre esa puntuación (ninguno, el tercio central o el tercio superior de los candidatos), y responde el candidato más barato que llega a él. El precio es el de esta petición: el tamaño de tu prompt, la salida que se espera que escriba el modelo con su razonamiento, y la caché de prompt caliente de una sesión. A igual precio gana el modelo con el id anterior.
  5. Dificultad y riesgo. Una petición difícil, o de riesgo alto, sube el mínimo un escalón. Una tarea es de riesgo alto cuando actuar sobre una respuesta equivocada podría costar más que volver a preguntar (un daño a la salud o la seguridad, al dinero, a una posición legal o a la seguridad informática, una acción que no se puede deshacer o un cambio en un sistema en producción). La urgencia, las emociones fuertes, un contexto de soporte o un cliente molesto no hacen que una tarea sea de riesgo alto por sí solos. Antes de marcar una tarea como de riesgo alto, una segunda pregunta, más concreta, comprueba qué costaría de verdad un error. Su respuesta solo se usa en esas tareas. En las llamadas en streaming y en las que llevan herramientas se hace a la vez que la primera, para que la respuesta no la espere; cuando no hace falta, la paga Zabio.
  6. Intentos. Si el proveedor elegido falla o no responde a tiempo, Zabio pasa al siguiente proveedor del mismo modelo, o al siguiente modelo por la misma regla, hasta 3 intentos en total. zabio.attempts te dice cuántos hicieron falta.

Cuando no hay habilidad medida. Una petición de tipo other, o de un tipo de trabajo que aún no tiene puntuaciones de habilidad, se enruta con la regla anterior de Zabio. Para la tarea y su dificultad, Zabio sabe cómo lo hace cada modelo y cuán seguro es ese conocimiento; ordenados por el precio de esta petición, los candidatos forman una curva, y un modelo al que otro más barato iguala nunca se elige. auto/best deja de subir cuando nada más caro es probablemente mejor, auto/cheap se detiene en el primer modelo que no es claramente peor que el mejor, auto/balanced se sitúa entre los dos, y auto a secas toma el modelo más barato en una tarea fácil, la regla de best en una de riesgo alto y balanced en el resto. Con esta regla una tarea de riesgo alto lleva cheap a balanced y balanced a best, y los modelos frontier solo son candidatos en auto/best. zabio.routing.cell nombra el conocimiento que usó. De dónde sale ese conocimiento se explica en la página de benchmarks.

La cuenta, la organización, un proyecto y la key eligen cada uno qué modelos permiten, y una llamada solo puede usar lo que permiten todos los niveles; auto solo elige entre esos modelos. Consulta Acceso a modelos.

Niveles de razonamiento y esfuerzo dentro de auto

Section titled “Niveles de razonamiento y esfuerzo dentro de auto”

reasoning_effort en chat completions y reasoning.effort en la Responses API usan una sola escala para todos los proveedores: none, minimal, low, medium, high y xhigh, los nombres de OpenAI, para que los clientes de OpenAI funcionen sin cambios. Cada modelo tiene una fila en la tabla de razonamiento de Zabio, que aparece en la columna Razonamiento de las tablas de abajo y en zabio.reasoning de GET /v1/models: niveles con nombre (OpenAI, Anthropic, DeepSeek), los niveles de razonamiento de Google (Gemini: low, medium y high), activado o desactivado (los modelos con razonamiento de Together AI), siempre activo (grok-4.7), o sin razonamiento. Un nivel que el modelo no tiene se aplica como el más cercano que sí tiene, el más bajo entre dos igual de cercanos, y una petición nunca falla por el nivel. Un nivel enviado a un modelo sin razonamiento se ignora, aparece en zabio.ignored_parameters, y zabio.reasoning.applied indica not supported. Los modelos con razonamiento de DeepSeek y de Together AI van siempre sin razonamiento cuando la petición lleva tools. Toda respuesta informa zabio.reasoning: requested (lo que enviaste) y applied (default para el ajuste propio del proveedor, off, el nombre del nivel del proveedor, budget N, on, always on o not supported).

Cuando no indicas nivel con auto, Zabio elige el ajuste de razonamiento junto con el modelo. En tareas fáciles y medias las líneas cheap y balanced usan el ajuste más bajo del modelo: desactivado donde el modelo puede dejar de razonar, su nivel más bajo en caso contrario. Las pruebas propias de Zabio encontraron que en esas tareas razonar más no cambiaba las respuestas, solo el coste y la espera, y los tokens de razonamiento suelen ser la mayor parte de lo que factura un modelo de razonamiento. La línea best, las tareas de riesgo alto y las tareas difíciles y de frontera mantienen el ajuste por defecto del modelo. Los cálculos siempre razonan: en una tarea de matemáticas, un modelo cuyo razonamiento está desactivado por defecto usa su ajuste más bajo que razona, y un modelo que no puede razonar solo responde cuando ningún candidato puede. El razonamiento que activa Zabio necesita espacio: cuando max_tokens es demasiado pequeño para él en todos los candidatos, la tarea de matemáticas usa el ajuste por defecto de los modelos. Si una respuesta vuelve vacía porque el razonamiento gastó todo el presupuesto, esa llamada nunca se cobra, lo eligiera quien lo eligiera. En auto la petición se repite entonces una vez con menos razonamiento: el mismo modelo en su ajuste más bajo cuando puede razonar menos (un modelo con niveles baja a su nivel más bajo, un modelo de encendido o apagado apaga el razonamiento, un presupuesto de razonamiento se limita a la mitad de max_tokens), o si no el modelo más barato del mismo mínimo de habilidad cuyo razonamiento cabe en max_tokens, en su ajuste más bajo; los modelos que razonan siempre quedan fuera de ese cambio. Cuando esa respuesta también vuelve vacía, o no hay nada que cambiar, recibes la respuesta vacía con zabio.no_answer explicando por qué, y no se cobra. Un modelo con nombre nunca se repite. Con un max_tokens de 4.000 o menos, auto prefiere modelos cuyo razonamiento se puede limitar a modelos que razonan siempre. zabio.routing.effort indica qué se eligió y zabio.routing.effort_reason por qué. Un nivel que indiques se respeta en el primer intento. Los tokens de razonamiento cuentan dentro de max_tokens, así que deja margen por encima del razonamiento: fija max_tokens en la respuesta que necesitas más el razonamiento que permites.

Envía zabio.session_id (cualquier cadena de hasta 128 caracteres; la cabecera x-zabio-session-id también sirve) en las llamadas que van juntas. Dentro de una sesión la tarea se clasifica una vez por mensaje del usuario y se reutiliza en los turnos de resultado de herramienta que siguen, así que esas llamadas no pagan una nueva clasificación. Zabio vuelve a clasificar con un mensaje nuevo del usuario y cuando salta una señal:

Trigger (tal como aparece en zabio.routing.trigger) Significado
no_prior_decision primera llamada de la sesión
cache_hit se reutilizó la decisión anterior
low_confidence_prior la decisión anterior tenía una confianza por debajo de 0.7
long_idle más de 30 minutos desde la última llamada
tool_failure_streak tres resultados de herramienta seguidos parecían errores
customer_feedback el usuario escribió algo como “esto está mal” o “inténtalo de nuevo”
new_human_message un mensaje nuevo del usuario en la sesión; la tarea se clasifica de nuevo
explicit se nombró un modelo; no hay enrutado
escalation el modelo pidió un modelo más potente (ver más abajo)

El estado de sesión son solo metadatos (línea, modelo, confianza, algunos contadores, el tamaño del último prompt y la vida de caché que se le aplicó). Vive una hora después de la última llamada y como máximo 24 horas. Los prompts nunca se guardan para ello.

Dentro de una sesión, el enrutado cuenta la caché de prompt. Tras un turno, el modelo que lo sirvió conserva tu contexto en la caché de su proveedor durante un tiempo (Anthropic: la vida de 5 minutos o de 1 hora que se aplicó; OpenAI, DeepSeek, xAI y Mistral: unos cinco minutos, porque cachean sin marcadores). En el turno siguiente Zabio pone precio a ese modelo con la parte cacheada del prompt a su tarifa de lectura de caché, y a cada otro candidato con esa misma parte a la tarifa normal más la escritura de caché que pagaría, y la línea aplica su regla de siempre a esos precios. Así una conversación se queda en su modelo cuando moverse costaría más de lo que ahorra, y aun así se mueve cuando otro modelo es más barato por más de lo que cuesta calentarlo, cuando la tarea cambia con un mensaje nuevo, o cuando el modelo pide escalar. No hay fijación: gana el precio honesto más bajo. Los modelos de Google y de Together AI no reciben ni el descuento ni la escritura, porque Zabio no tiene allí ninguna caché que contar. Cuando la caché decidió la elección, zabio.routing.sticky nombra el modelo que se mantuvo y el que habría elegido el precio en frío; si no, el campo no aparece.

Una petición con auto que lleva una fuente grande (un contrato, un log, un hilo de soporte, un conjunto de reseñas o de registros) junto con una pregunta que solo necesita una parte de ella puede responderse en dos pasos cuando sale más barato que enviar la fuente entera al modelo que eligió el enrutado. Zabio lo llama división y enrutado. La versión 1 hace un solo tipo de división, extractar y después responder:

  1. Quién cumple los requisitos. Solo un modelo virtual (auto, auto/best, auto/balanced, auto/cheap, o ningún modelo); un modelo con nombre nunca se divide. El último mensaje del usuario debe ser texto plano de al menos unos 4,000 tokens según la estimación de Zabio, sin partes de imagen ni resultados de herramientas, la petición no debe llevar herramientas, y la estimación gratuita de Zabio de la llamada entera debe estar en 0.010 USD o por encima. Las llamadas más baratas se ejecutan exactamente como antes.
  2. Las preguntas. Una segunda llamada a Jev (el modelo de decisión de TypeSafe, el mismo que clasifica la tarea, con la key de Zabio y a coste de Zabio) lee el mismo extracto que lee el clasificador y dice si la petición es una fuente grande más una pregunta aparte que necesita como mucho la mitad de ella.
  3. La comprobación de precio. Zabio pone precio a los dos caminos: la petición entera en el modelo enrutado, y el extracto en el modelo barato más la comprobación más la respuesta sobre el extracto. La división sigue adelante solo cuando se estima en el 70 por ciento de la llamada entera o menos.
  4. El extracto. Un modelo barato (gpt-5.4-nano, o gemini-3.5-flash-lite cuando el primero rehúsa o no devuelve nada) copia las líneas de la fuente que la pregunta necesita, palabra por palabra y en su orden. Su salida se recibe en streaming y se corta al pasar del 40 por ciento de la fuente. Toda línea que no aparece en la fuente se descarta, así que nada que el extractor reescribiera o inventara llega al modelo que responde. Un extracto con menos de la mitad de sus líneas encontradas en la fuente, uno vacío, o uno por encima del 40 por ciento de la fuente detiene la división.
  5. La comprobación. Jev lee el principio y el final de tu mensaje y el extracto, y dice si el extracto contiene lo que la pregunta nombra; por debajo de 0.5 la división se detiene.
  6. La respuesta. El modelo enrutado, con el ajuste que eligió el enrutado, recibe tu mensaje con sus primeros 2,000 y sus últimos 2,000 caracteres intactos (en límites de línea, que es donde suelen estar las instrucciones) y la fuente entre ellos sustituida por el extracto bajo esta línea: [Zabio excerpt: the material between these markers was shortened by a preprocessing step to the lines relevant to the request (K of N lines kept, in their original order). If you need more of the original material to answer well, reply with exactly the line NEED_MORE_SOURCE and nothing else.], seguida del extracto y de [end of excerpt]. Todo lo demás de la llamada (el system prompt, los mensajes anteriores, max_tokens, response_format) no cambia.
  7. El camino de vuelta. Cuando el modelo responde con la línea NEED_MORE_SOURCE, Zabio envía la petición completa al mismo modelo y devuelve esa respuesta. En un stream la línea reservada se lee en los primeros fragmentos, antes de que te llegue nada, y el stream con la fuente completa lo sustituye, así que los primeros tokens pueden tardar un momento más.

Cada salvaguarda que falla envía la petición entera al modelo enrutado, como si no hubiera pasado nada, y zabio.split.fallback dice cuál: extractor_declined (el extractor dijo que la tarea necesita todo el material), empty_extract, extract_too_big, low_verbatim, check_rejected, need_more_source, extract_failed, check_failed. Una división que volvió atrás nunca te cuesta más que la llamada entera; consulta Facturación.

Lo que ves: zabio.split en cada respuesta mientras la función está activa, con applied, el reason cuando la petición no se dividió (named_model, opt_out, not_eligible, below_threshold, jev_no, jev_failed, price_check), las dos estimaciones, cada llamada de la división (steps: las preguntas, el extracto, la comprobación y la respuesta, cada una con su proveedor, modelo, tokens, precio de lista y si se facturó), el tamaño del extracto y qué parte de la salida del extractor se encontró literalmente en tu fuente, y la probabilidad de la comprobación. zabio.model_served y zabio.routing siguen nombrando el modelo que respondió y cómo se eligió. Para enviar una petición entera, pon zabio.split: "off" o la cabecera x-zabio-split: off; no hay valor por defecto por key, la elección va en la petición.

Lo que la versión 1 no cubre: solo se divide el último mensaje del usuario. Una fuente grande que está en turnos anteriores o en el historial de una conversación guardada no se extracta (allí el tamaño lo gestiona la compactación), ni tampoco varios mensajes grandes, las imágenes, los resultados de herramientas o una cadena de previous_response_id cuya fuente llegó turnos atrás. Dentro de una sesión, el turno siguiente a una división no pone precio a ninguna caché caliente, porque lo que el proveedor guardó en caché fue el mensaje reescrito.

OpenAI y Google sirven algunos modelos en un nivel flex: el mismo modelo a la mitad de precio, más o menos, más despacio (su propio objetivo de latencia llega a 15 minutos) y con la capacidad que haya en cada momento. Una petición que puede esperar lo dice con zabio.deadline (o la cabecera x-zabio-deadline), una duración de 15 minutos o más; por debajo de 15 minutos, o sin plazo, no cambia nada. Los modelos con precio flex son los modelos de chat GPT-5, GPT-5.x y GPT-6 de OpenAI junto con o3 y o4-mini, y todos los modelos Gemini de Google; la familia GPT-4, o1, o3-mini, chat-latest y los demás modelos se sirven y facturan a precio estándar, con plazo o sin él.

Con un plazo, auto valora cada candidato que tiene nivel flex a su precio flex y el resto a precio estándar, y después aplica la regla de la línea como siempre, así que un modelo puede ganar porque sale más barato en flex. Un modelo con nombre que tiene precio flex se sirve en flex. Cuando el proveedor rechaza una petición flex por falta de capacidad, Zabio reintenta al momento el mismo modelo en el nivel estándar y factura el precio que se usó de verdad. Los pasos previos de una división (el extracto y las comprobaciones) se ejecutan en el nivel estándar; solo la respuesta puede ir en flex. zabio.tier en la respuesta dice qué se pidió, qué sirvió la llamada y si la falta de capacidad obligó a usar el nivel estándar. Consulta Chat completions para el campo y Facturación para la comisión.

En los turnos auto de la Responses API, Zabio da al modelo una herramienta oculta que puede invocar cuando una tarea le supera. Cuando eso ocurre, Zabio repite el mismo turno en un modelo más potente, con todo el historial, y devuelve esa respuesta: el modelo más barato un escalón más arriba en el mínimo de habilidad para el tipo de trabajo, o, en una petición enrutada con la regla anterior, el siguiente modelo de la curva que su conocimiento dice que es probablemente mejor. La respuesta lleva zabio.escalated_from con la línea y el modelo que se rindieron (por ejemplo cheap/gpt-5.4-nano). El escalado en sí nunca aparece en tu salida. En /v1/chat/completions no se ofrece escalado.

En una petición sin streaming, Zabio comprueba la respuesta contra lo que pidió la petición antes de que te llegue:

  • con response_format json_schema: la respuesta es JSON, y nada más, que cumple tu esquema (tipos, campos obligatorios, enumeraciones, longitudes, límites numéricos, patrones);
  • con response_format json_object: la respuesta es un objeto JSON;
  • con tools: cada llamada a una herramienta nombra una de tus herramientas y sus argumentos son JSON que cumple los parámetros de esa herramienta, y un tool_choice required o con el nombre de una herramienta recibe una llamada;
  • en cualquier petición: la respuesta no está vacía porque el modelo gastó todo su presupuesto de salida pensando (finish_reason length sin contenido).

Cuando la respuesta a una petición auto no pasa la comprobación y auto eligió el modelo por su puntuación de habilidad, envía la petición una vez más al modelo más barato un escalón más arriba en el mínimo de habilidad, dejando fuera el modelo que falló, y recibes esa respuesta. Una respuesta que quedó vacía porque el modelo gastó todo su presupuesto de salida pensando nunca se cobra, y sigue en cambio la regla del razonamiento: el mismo modelo una vez más con menos razonamiento, o el modelo más barato del mismo mínimo de habilidad cuyo razonamiento se puede limitar, nunca el modelo más fuerte que auto puede elegir en una línea distinta de best (ver Niveles de razonamiento y esfuerzo dentro de auto). Pagas solo la respuesta que recibes: el intento fallido es coste de Zabio y no aparece en zabio.cost. Cuando responde otro modelo, zabio.escalated_from nombra el que falló; zabio.attempts cuenta los dos intentos. Una petición se repite una vez como mucho; cuando la segunda respuesta también falla, la recibes tal cual. Los modelos con nombre se comprueban y nunca se repiten: tú elegiste el modelo; aun así, una respuesta vacía en uno de ellos no se cobra. Las peticiones con streaming no se comprueban, porque la respuesta te llega mientras se escribe; una respuesta en streaming vacía se responde de nuevo con menos razonamiento antes de que la veas cuando el modelo puede razonar menos, y si no te llega sin cobrarse con zabio.no_answer. Un esquema se lee solo con referencias dentro del propio esquema; Zabio nunca descarga un archivo o una URL referenciados.

Nombra cualquier id de modelo de la tabla de abajo, por ejemplo claude-sonnet-5 o gpt-5.4. La petición va a ese modelo. Si el modelo no está sano o no está disponible, o no responde dentro del plazo de Zabio (3 minutos en los modelos de clase fast y balanced, 10 minutos en powerful y frontier; un stream debe enviar sus primeros datos en 60 segundos en fast y balanced, y en 10 minutos en powerful y frontier, y mientras tanto Zabio mantiene viva la conexión, ver Llamadas largas), zabio.fallback decide qué pasa:

zabio.fallback Comportamiento
same_vendor (por defecto) otro modelo del mismo proveedor y clase
cross_vendor cualquier modelo de la misma clase
none fallar en vez de usar otro modelo

El valor por defecto viene del ajuste fallback_policy de la key. La respuesta siempre te dice qué se sirvió en zabio.model_served y zabio.vendor.

Un max_tokens demasiado grande para el modelo que nombraste no te lleva a otro modelo: Zabio lo baja a lo que el modelo puede producir junto a tu entrada y mantiene el modelo. La llamada solo pasa a otro modelo cuando la entrada misma no cabe en la ventana de contexto del modelo.

jev-1.13.0 es Jev, el modelo “System One” de TypeSafe AI. No escribe texto. Responde preguntas tipadas sobre una conversación y devuelve, con cada respuesta, la probabilidad calibrada de cada opción. Eso lo hace adecuado para los trabajos en los que quieres una etiqueta, un sí o no, o una puntuación y nada más: etiquetado, enrutado, moderación, sentimiento, detección de idioma, urgencia. Responde en mucho menos de un segundo y cuesta 0.042 USD por millón de tokens de entrada, con la salida gratis; Zabio añade la comisión de servicio del (consulta la página de precios), como en cualquier llamada (ver Facturación).

Lo llamas a través de /v1/chat/completions como cualquier otro modelo, con response_format de tipo json_schema. Cada propiedad del objeto del esquema se convierte en una pregunta:

Propiedad en tu esquema Pregunta a Jev Qué recibes
un string con un enum de 2 a 255 valores una elección uno de los valores, con la probabilidad de cada valor
un boolean un sí o no true o false, con la probabilidad del sí
un integer con minimum y maximum separados de 2 a 10 niveles una puntuación el nivel ponderado redondeado al entero más cercano, con la probabilidad de cada nivel
un number con minimum y maximum separados de 2 a 10 niveles una puntuación el nivel ponderado tal cual, por ejemplo 0.27 en una escala de 0 a 1

usage.completion_tokens es el recuento que TypeSafe da de sus respuestas; esos tokens son gratis. Pon una description en cada propiedad: Jev la lee como la pregunta. La description del propio esquema se lee como instrucciones comunes. La respuesta conserva el orden de tus propiedades. Lo que Jev lee es la conversación entera: el prompt de sistema y todos los mensajes de usuario y asistente.

Lo que Jev no puede responder se rechaza con 400 unsupported_for_model antes de enviar nada, y param nombra el campo: una petición sin json_schema, un string de texto libre, un objeto anidado, un array, un número sin límites o con más de 10 niveles, una propiedad anulable o con anyOf, herramientas, imágenes, resultados de herramientas y stream: true (Jev responde de una pieza).

Un ejemplo con números: un ticket de soporte en una de cinco categorías, con un booleano de urgencia y una prioridad de 1 a 5.

Terminal window
curl https://api.zabio.ai/v1/chat/completions \
-H "Authorization: Bearer $ZABIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-1.13.0",
"messages": [
{"role": "system", "content": "Clasificas tickets de soporte de una empresa de hosting."},
{"role": "user", "content": "Me han cobrado dos veces este mes. Arregladlo hoy, por favor, estoy a punto de viajar."}
],
"response_format": {"type": "json_schema", "json_schema": {"name": "ticket", "strict": true, "schema": {
"type": "object",
"description": "Clasifica el ticket de soporte de la conversación.",
"properties": {
"category": {"type": "string", "enum": ["billing", "bug", "feature_request", "account", "other"], "description": "El tipo de petición."},
"urgent": {"type": "boolean", "description": "El cliente necesita respuesta hoy."},
"priority": {"type": "integer", "minimum": 1, "maximum": 5, "description": "Importancia del ticket, 5 la máxima."}
},
"required": ["category", "urgent", "priority"],
"additionalProperties": false
}}}
}'

La respuesta es el content del mensaje del asistente, válido según tu esquema, y zabio.decision lleva las probabilidades que hay detrás:

{
"id": "chatcmpl-01a0e9d47c4d75d385ba714a2736ca34",
"object": "chat.completion",
"model": "jev-1.13.0",
"choices": [{"index": 0, "message": {"role": "assistant", "content": "{\"category\":\"billing\",\"urgent\":true,\"priority\":4}"}, "finish_reason": "stop", "logprobs": null}],
"usage": {"prompt_tokens": 484, "completion_tokens": 83, "total_tokens": 567},
"zabio": {
"vendor": "typesafe",
"model_served": "jev-1.13.0",
"routing": {"reason": "explicit model", "trigger": "explicit"},
"cost_micros": 21,
"cost": {"vendor_micros": 20, "service_fee_micros": 1, "call_fee_micros": 0, "savings_fee_micros": 0, "classifier_micros": 0, "direct_micros": 20, "saved_micros": -1},
"decision": {
"category": {"type": "choice", "probabilities": {"billing": 1, "bug": 0, "feature_request": 0, "account": 0, "other": 0}, "confidence": 1},
"urgent": {"type": "noul", "probability": 0.84},
"priority": {"type": "score", "value": 4.01, "probabilities": {"1": 0, "2": 0.02, "3": 0.11, "4": 0.71, "5": 0.16}, "confidence": 0.75}
},
"cache": {"read_tokens": 0, "write_tokens": 0, "ttl_applied": "none"}
}
}

Lee zabio.decision cuando quieras actuar según la confianza: envía el ticket a una persona cuando la categoría principal está por debajo de 0.7, o elige tu propio umbral para urgent en lugar del 0.5 que decide el booleano.

La salud, el fallback y el coste funcionan como en cualquier modelo con nombre. TypeSafe tiene un solo modelo, así que con la política por defecto same_vendor una caída de TypeSafe hace fallar la llamada con 503 no_provider_available; con cross_vendor un modelo de texto de clase fast con salida estructurada responde el mismo esquema en su lugar, sin zabio.decision, y zabio.model_served lo indica. Jev nunca es fallback de un modelo de texto. Una petición a Jev se envía entera a TypeSafe AI en Estados Unidos, como una petición a cualquier proveedor que nombres; ver Privacidad.

Con auto (y auto/best, auto/balanced, auto/cheap), Zabio puede responder una tarea de clasificación con Jev en lugar del modelo de texto que eligió el enrutado, cuando sale más barato. Una petición cumple los requisitos cuando su response_format es un json_schema en el que cada propiedad es una que Jev puede responder (un string con enum, un boolean, un integer o number con minimum y maximum separados entre 2 y 10 niveles), sin herramientas, sin imágenes y sin stream. Todo lo demás se enruta exactamente como siempre. Zabio compara entonces su estimación del precio de Jev con la del modelo enrutado para la misma petición y solo pregunta a Jev cuando Jev es más barato: en una petición corta a los modelos más baratos muchas veces no lo es, y responde el modelo de texto; en un ticket, un correo o una reseña más largos normalmente sí lo es.

Una red de seguridad: Jev devuelve la probabilidad de cada respuesta, y cuando algún campo de su respuesta está por debajo de 0.5 (la opción que eligió es menos probable que su contrario), Zabio descarta la respuesta y envía la petición al modelo de texto como siempre. Esa llamada a Jev es coste de Zabio, nunca tuyo. En el conjunto de estudio detrás de esta función, Jev acertó el 92 por ciento de los campos frente al 75 por ciento de los modelos de texto enrutados, y sus respuestas llegaron en unos 0.15 segundos.

Cómo lo sabes: zabio.model_served es jev-1.13.0, zabio.vendor es typesafe y zabio.decision lleva las probabilidades, igual que cuando nombras a Jev. La respuesta conserva la forma y el orden de propiedades de tu esquema. zabio.routing sigue describiendo la tarea que vio el clasificador. La facturación es la de cualquier llamada auto: el precio de Jev más la comisión de servicio y la cantidad por la elección automática del modelo, con el ahorro medido contra el modelo de referencia de tu key sobre la petición tal como la enviaste (ver Facturación). Usar Jev nunca te cuesta más que no usarlo: cuando la respuesta de Jev se descarta, pagas exactamente lo que cuesta la llamada del modelo de texto.

Nombrar un modelo conserva el control total: una petición a gpt-5.4-nano o a cualquier otro modelo con nombre nunca la responde Jev, y una petición que nombra jev-1.13.0 siempre la responde Jev. Una petición a Jev en auto se envía entera a TypeSafe AI en Estados Unidos, como una petición que lo nombra; ver Privacidad.

GET /v1/models devuelve los modelos auto seguidos del catálogo, con precios para tu organización:

{
"object": "list",
"data": [
{"id": "auto", "object": "model", "created": 1757808000, "owned_by": "zabio",
"zabio": {"tier": "balanced", "auto_eligible": true, "virtual": true}},
{"id": "claude-sonnet-5", "object": "model", "created": 1757808000, "owned_by": "anthropic",
"zabio": {"tier": "balanced", "auto_eligible": true,
"capabilities": {"vision": true, "tools": true, "json_schema": true, "context_window": 1000000, "max_output": 128000},
"pricing": {"input": 2.10, "output": 10.50, "cache_read": 0.21, "cache_write": 2.63, "currency": "USD"},
"residency": "global"}}
]
}

GET /v1/models/{id} devuelve un modelo; los ids del tipo auto/cheap funcionan (codifica la barra en porcentaje si tu cliente lo necesita). Las keys con lista de permitidos solo ven sus modelos. Los ids desconocidos devuelven 404 model_not_found.

pricing es el precio de lista del proveedor más la comisión de servicio de tu plan, redondeado hacia arriba al céntimo, en USD por millón de tokens. cache_write es la tarifa de escritura de caché de 5 minutos. Consulta Facturación para saber cómo funcionan las comisiones.

zabio.free_tier es true en los modelos de la lista de modelos gratuitos, los que una cuenta Free puede nombrar; GET /v1/public/free-tier sirve esa lista sin key. Mientras tu organización funciona con los límites de Free, cada modelo lleva además zabio.availability: available, o locked en un modelo fuera de la lista, que una petición no puede nombrar hasta una recarga (403 free_tier_model). Los ids auto siempre están disponibles y eligen entre los modelos gratuitos. Consulta Facturación, “El plan Free”.

La tabla de abajo se genera a partir del catálogo que hay en el código. Los precios son los precios de lista de los proveedores en USD por millón de tokens. Zabio factura ese precio más la comisión de servicio del (consulta la página de precios) y, en cada petición auto, una cantidad fija de (consulta la página de precios), el precio de la elección automática del modelo; Zabio no se queda con ninguna parte de lo que ahorra el enrutado (consulta Facturación). Tarifas de escritura de caché: Anthropic cobra 1.25 veces el precio de entrada para una caché de 5 minutos y 2 veces para una de 1 hora; OpenAI y Google no cobran nada extra por escribir. Los precios promocionales de Google para 3.x Flash terminan el 2026-12-31. En los modelos con nivel flex (los modelos de chat GPT-5, GPT-5.x y GPT-6 de OpenAI, o3 y o4-mini, y todos los modelos Gemini de Google), una llamada con un zabio.deadline de 15 minutos o más se factura a la mitad de los precios de entrada, salida y lectura de caché de la tabla (la entrada en caché de gpt-5.4 a 0.13 USD por millón y la de o4-mini a 0.138, como las publica OpenAI); ver Nivel flex.

La columna Auto dice si auto puede elegir el modelo hoy: tiene puntuación de habilidad para al menos un tipo de trabajo, o la regla anterior puede elegirlo para una petición de tipo other (ver Cómo el enrutado elige un modelo). Sigue los datos de habilidad diarios, así que la página la lee en vivo al cargarse; zabio.auto_eligible en GET /v1/models y GET /v1/public/auto-models llevan la misma respuesta. Todos los modelos se pueden pedir por su nombre. La mayoría de los modelos marcados con no se añadieron para que todo modelo al que puedes llegar a través de otros enrutadores también esté aquí, al precio de lista del propio proveedor.

Modelo Proveedor Se procesa en Auto Ventana de contexto Salida máxima Entrada Salida Lectura de caché Razonamiento Entrada / salida fuera de pico
claude-haiku-4-5 Anthropic Estados Unidos sí 200K 64K 1.00 5.00 0.10 no -
gpt-5.4-nano OpenAI Estados Unidos sí 400K 128K 0.20 1.25 0.02 niveles, de none a xhigh, por defecto off -
gpt-5-mini OpenAI Estados Unidos sí 400K 128K 0.25 2.00 0.025 niveles, de minimal a high, por defecto el del proveedor, siempre razona -
gpt-4.1-mini OpenAI Estados Unidos no 1M 32768 0.40 1.60 0.10 no -
gpt-4o-mini OpenAI Estados Unidos no 128K 16384 0.15 0.60 0.075 no -
gemini-3.5-flash-lite Google Estados Unidos sí 1M 65536 0.30 2.50 0.03 niveles, de none a high, por defecto el del proveedor -
mistral-small-2603 Mistral AI Sin garantía sí 256K 256K 0.15 0.60 0.015 no -
qwen3.5-9b Together AI Norteamérica sí 262144 262144 0.17 0.25 0.00 activado o desactivado, por defecto off -
gpt-6-luna OpenAI Estados Unidos no 400K 128K 0.10 0.50 0.01 niveles, de none a xhigh, por defecto el del proveedor -
gpt-5.6-luna OpenAI Estados Unidos no 400K 128K 0.20 1.20 0.02 niveles, de none a xhigh, por defecto el del proveedor -
gpt-5-nano OpenAI Estados Unidos no 400K 128K 0.05 0.40 0.005 niveles, de minimal a high, por defecto el del proveedor, siempre razona -
gpt-4.1-nano OpenAI Estados Unidos no 1M 32768 0.10 0.40 0.025 no -
gemini-3.1-flash-lite Google Estados Unidos no 1M 65536 0.25 1.50 0.025 niveles, de none a high, por defecto el del proveedor -
ministral-3b-2512 Mistral AI Sin garantía no 131072 131072 0.10 0.10 0.01 no -
ministral-8b-2512 Mistral AI Sin garantía no 262144 262144 0.15 0.15 0.015 no -
ministral-14b-2512 Mistral AI Sin garantía no 262144 262144 0.20 0.20 0.02 no -
glm-5.3-flash Together AI Norteamérica no 1048575 1048575 0.15 0.50 0.03 siempre activo -
muse-glimmer-30b Together AI Norteamérica no 131072 131072 0.35 1.50 0.04 siempre activo -
deepseek-v4-flash-0731 Together AI Norteamérica no 1048576 1048576 0.14 0.28 0.03 activado o desactivado, por defecto off -
minimax-m3 Together AI Norteamérica no 524288 524288 0.30 1.20 0.06 siempre activo -
claude-haiku-5-5 Anthropic Estados Unidos no 1M 128K 0.10 0.50 0.01 niveles, de none a xhigh, por defecto el del proveedor -
qwen3.8-omni-flash Alibaba Cloud (International) Fuera de China continental no 1M 131072 0.15 0.47 0.016 presupuestos, de none a high, por defecto off -
qwen3.8-flash Alibaba Cloud (International) Fuera de China continental no 1M 131072 0.15 0.47 0.03 presupuestos, de none a high, por defecto off -
qwen3.7-plus Alibaba Cloud (International) Fuera de China continental no 1M 131072 0.32 1.28 0.064 presupuestos, de none a high, por defecto off -
qwen3.5-plus-2026-04-20 Alibaba Cloud (International) Fuera de China continental no 1M 65536 0.40 2.40 0.00 presupuestos, de none a high, por defecto off -
qwen3.5-plus-2026-02-15 Alibaba Cloud (International) Fuera de China continental no 1M 65536 0.40 2.40 0.00 presupuestos, de none a high, por defecto off -
qwen3.5-flash-2026-02-23 Alibaba Cloud (International) Fuera de China continental no 1M 65536 0.10 0.40 0.00 presupuestos, de none a high, por defecto off -
qwen3.6-flash Alibaba Cloud (International) Fuera de China continental no 1M 65536 0.25 1.50 0.05 presupuestos, de none a high, por defecto off -
qwen3.6-35b-a3b Alibaba Cloud (International) Fuera de China continental no 262144 65536 0.375 2.25 0.00 presupuestos, de none a high, por defecto off -
qwen3.5-35b-a3b Alibaba Cloud (International) Fuera de China continental no 262144 65536 0.25 2.00 0.00 presupuestos, de none a high, por defecto off -
qwen3.5-27b Alibaba Cloud (International) Fuera de China continental no 262144 65536 0.30 2.40 0.00 presupuestos, de none a high, por defecto off -
qwen3.5-122b-a10b Alibaba Cloud (International) Fuera de China continental no 262144 65536 0.40 3.20 0.00 presupuestos, de none a high, por defecto off -
qwen3-vl-235b-a22b-thinking Alibaba Cloud (International) Fuera de China continental no 131072 32768 0.40 4.00 0.00 siempre activo -
qwen3-vl-235b-a22b-instruct Alibaba Cloud (International) Fuera de China continental no 262144 32768 0.40 1.60 0.00 no -
qwen3-next-80b-a3b-thinking Alibaba Cloud (International) Fuera de China continental no 262144 32768 0.15 1.20 0.00 siempre activo -
qwen3-next-80b-a3b-instruct Alibaba Cloud (International) Fuera de China continental no 262144 32768 0.15 1.20 0.00 no -
qwen3-30b-a3b-thinking-2507 Alibaba Cloud (International) Fuera de China continental no 262144 32768 0.20 2.40 0.00 siempre activo -
qwen3-30b-a3b-instruct-2507 Alibaba Cloud (International) Fuera de China continental no 262144 32768 0.20 0.80 0.00 no -
qwen3-235b-a22b-thinking-2507 Alibaba Cloud (International) Fuera de China continental no 262144 131072 0.23 2.30 0.00 siempre activo -
qwen3-235b-a22b-instruct-2507 Alibaba Cloud (International) Fuera de China continental no 262144 131072 0.23 0.92 0.00 no -
deepseek-v4-flash
DeepSeek V4 Flash (outside mainland China, via Alibaba Cloud)
Alibaba Cloud (International) Fuera de China continental no 1M 393216 0.20 0.40 0.04 activado o desactivado, por defecto off -
qwen3.7-plus@alibaba-us
Qwen3.7 Plus (US, via Alibaba Cloud)
Alibaba Cloud (US) EE. UU. (Virginia) no 1M 131072 0.32 1.28 0.064 presupuestos, de none a high, por defecto off -
qwen3.6-flash@alibaba-us
Qwen3.6 Flash (US, via Alibaba Cloud)
Alibaba Cloud (US) EE. UU. (Virginia) no 1M 65536 0.25 1.50 0.00 presupuestos, de none a high, por defecto off -
deepseek-v4-flash-0731@alibaba-intl Alibaba Cloud (International) Fuera de China continental no 131072 32768 0.44 1.32 0.088 no 0.22 / 0.66
Modelo Proveedor Se procesa en Auto Ventana de contexto Salida máxima Entrada Salida Lectura de caché Razonamiento Entrada / salida fuera de pico
claude-sonnet-5 Anthropic Estados Unidos sí 1M 128K 2.00 10.00 0.20 niveles, de none a xhigh, por defecto el del proveedor -
claude-sonnet-4-6 Anthropic Estados Unidos no 1M 128K 3.00 15.00 0.30 niveles, de none a xhigh, por defecto off -
gpt-5.4-mini OpenAI Estados Unidos sí 400K 128K 0.75 4.50 0.075 niveles, de none a xhigh, por defecto off -
gpt-5.4 OpenAI Estados Unidos sí 400K 128K 2.50 15.00 0.25 niveles, de none a xhigh, por defecto off -
gpt-4.1 OpenAI Estados Unidos no 1M 32768 2.00 8.00 0.50 no -
gemini-3.8-flash Google Estados Unidos sí 1M 65536 0.75 3.75 0.075 niveles, de low a high, por defecto el del proveedor, siempre razona -
gemini-3.5-flash Google Estados Unidos no 1M 65536 0.75 3.75 0.075 niveles, de none a high, por defecto off -
deepseek-flash
DeepSeek (China)
DeepSeek China sí 1M 393216 0.30 1.20 0.006 niveles, de none a xhigh, por defecto off 0.15 / 0.60
mistral-large-2512 Mistral AI Sin garantía sí 256K 256K 0.50 1.50 0.05 no -
codestral-2508 Mistral AI Sin garantía sí 128K 128K 0.30 0.90 0.03 no -
llama-3.3-70b-instruct-turbo Together AI Norteamérica sí 131072 131072 1.04 1.04 0.00 no -
gpt-oss-120b Together AI Norteamérica sí 131072 131072 0.15 0.60 0.00 siempre activo -
deepseek-flash@together
DeepSeek (North America, via Together AI)
Together AI Norteamérica sí 1M 1M 0.30 1.20 0.006 activado o desactivado, por defecto off -
gpt-5.2 OpenAI Estados Unidos no 400K 128K 1.75 14.00 0.175 niveles, de none a xhigh, por defecto off -
gpt-5.1 OpenAI Estados Unidos no 400K 128K 1.25 10.00 0.125 niveles, de none a high, por defecto off -
gpt-5 OpenAI Estados Unidos no 400K 128K 1.25 10.00 0.125 niveles, de minimal a high, por defecto el del proveedor, siempre razona -
o4-mini OpenAI Estados Unidos no 200K 100K 1.10 4.40 0.275 niveles, de low a high, por defecto el del proveedor, siempre razona -
o3-mini OpenAI Estados Unidos no 200K 100K 1.10 4.40 0.55 niveles, de low a high, por defecto el del proveedor, siempre razona -
gpt-3.5-turbo OpenAI Estados Unidos no 16385 4096 0.50 1.50 0.00 no -
claude-sonnet-5-5 Anthropic Estados Unidos no 1M 128K 2.00 10.00 0.10 niveles, de low a xhigh, por defecto el del proveedor, siempre razona -
claude-sonnet-4-5 Anthropic Estados Unidos no 200K 64K 3.00 15.00 0.30 no -
gemini-3.7-flash Google Estados Unidos no 1M 65536 0.75 3.75 0.075 niveles, de low a high, por defecto el del proveedor, siempre razona -
gemini-3.6-flash Google Estados Unidos no 1M 65536 0.75 3.75 0.075 niveles, de none a high, por defecto off -
gemini-3-flash-preview Google Estados Unidos no 1M 65536 0.50 3.00 0.05 niveles, de none a high, por defecto off -
glm-5.3 Together AI Norteamérica no 1048575 1048575 1.40 4.40 0.26 siempre activo -
inkling Together AI Norteamérica no 524288 524288 1.00 4.05 0.17 siempre activo -
glm-5.2 Together AI Norteamérica no 1048575 1048575 1.40 4.40 0.26 activado o desactivado, por defecto off -
mistral-large-4-0 Mistral AI Sin garantía no 524288 524288 0.68 2.09 0.07 activado o desactivado, por defecto off -
qwen3.8-27b Alibaba Cloud (International) Fuera de China continental no 1M 131072 0.50 3.00 0.10 presupuestos, de none a high, por defecto off -
qwen3.6-max-preview Alibaba Cloud (International) Fuera de China continental no 262144 65536 1.30 7.80 0.26 presupuestos, de none a high, por defecto off -
qwen3.6-27b Alibaba Cloud (International) Fuera de China continental no 262144 65536 0.60 3.60 0.00 presupuestos, de none a high, por defecto off -
qwen3.6-plus Alibaba Cloud (International) Fuera de China continental no 1M 65536 0.50 3.00 0.00 presupuestos, de none a high, por defecto off -
qwen3.5-397b-a17b Alibaba Cloud (International) Fuera de China continental no 262144 65536 0.60 3.60 0.00 presupuestos, de none a high, por defecto off -
deepseek-flash@alibaba-intl
DeepSeek (outside mainland China, via Alibaba Cloud)
Alibaba Cloud (International) Fuera de China continental no 1M 393216 0.30 1.20 0.03 activado o desactivado, por defecto off 0.15 / 0.60
glm-5.3@alibaba-intl
GLM 5.3 (outside mainland China, via Alibaba Cloud)
Alibaba Cloud (International) Fuera de China continental no 202752 131072 1.40 4.40 0.00 siempre activo -
glm-5.2@alibaba-intl
GLM 5.2 (outside mainland China, via Alibaba Cloud)
Alibaba Cloud (International) Fuera de China continental no 202752 131072 1.40 4.40 0.00 presupuestos, de none a high, por defecto off -
glm-5.2@alibaba-us
GLM 5.2 (US, via Alibaba Cloud)
Alibaba Cloud (US) EE. UU. (Virginia) no 202752 131072 1.40 4.40 0.00 presupuestos, de none a high, por defecto off -
deepseek-v4-pro-0813 Alibaba Cloud (International) Fuera de China continental no 131072 32768 1.32 3.96 0.264 no 0.66 / 1.98
Modelo Proveedor Se procesa en Auto Ventana de contexto Salida máxima Entrada Salida Lectura de caché Razonamiento Entrada / salida fuera de pico
claude-opus-5-5 Anthropic Estados Unidos sí 1M 128K 4.00 20.00 0.20 niveles, de low a xhigh, por defecto el del proveedor, siempre razona -
claude-opus-5 Anthropic Estados Unidos sí 1M 128K 5.00 25.00 0.50 niveles, de low a xhigh, por defecto el del proveedor, siempre razona -
claude-opus-4-8 Anthropic Estados Unidos no 1M 128K 5.00 25.00 0.50 niveles, de none a xhigh, por defecto off -
gpt-5.5 OpenAI Estados Unidos sí 400K 128K 5.00 30.00 0.50 niveles, de none a xhigh, por defecto el del proveedor -
gemini-3.1-pro-preview Google Estados Unidos sí 200K 65536 2.00 12.00 0.20 niveles, de low a high, por defecto el del proveedor, siempre razona -
deepseek-v4-pro
DeepSeek (China)
DeepSeek China sí 1M 393216 1.32 3.96 0.044 niveles, de none a xhigh, por defecto off 0.66 / 1.98
grok-4.7 xAI Estados Unidos sí 500K 500K 2.20 6.60 0.55 siempre activo -
mistral-medium-3-5 Mistral AI Sin garantía sí 256K 256K 1.50 7.50 0.15 no -
deepseek-v4-pro@together
DeepSeek (North America, via Together AI)
Together AI Norteamérica sí 1048576 1048576 1.32 3.96 0.13 activado o desactivado, por defecto off -
gpt-6.1-sol OpenAI Estados Unidos no 400K 128K 2.00 10.00 0.10 niveles, de low a xhigh, por defecto el del proveedor, siempre razona -
gpt-6-sol OpenAI Estados Unidos no 400K 128K 2.00 10.00 0.20 niveles, de none a xhigh, por defecto el del proveedor -
gpt-5.6-sol OpenAI Estados Unidos no 400K 128K 4.00 20.00 0.40 niveles, de none a xhigh, por defecto el del proveedor -
gpt-5.6-terra OpenAI Estados Unidos no 400K 128K 2.00 12.00 0.20 niveles, de none a xhigh, por defecto el del proveedor -
o3 OpenAI Estados Unidos no 200K 100K 2.00 8.00 0.50 niveles, de low a high, por defecto el del proveedor, siempre razona -
gpt-4o OpenAI Estados Unidos no 128K 16384 2.50 10.00 1.25 no -
chat-latest OpenAI Estados Unidos no 400K 128K 5.00 30.00 0.50 no -
claude-opus-4-7 Anthropic Estados Unidos no 1M 128K 5.00 25.00 0.50 niveles, de none a xhigh, por defecto off -
claude-opus-4-6 Anthropic Estados Unidos no 1M 128K 5.00 25.00 0.50 niveles, de none a xhigh, por defecto off -
claude-opus-4-5 Anthropic Estados Unidos no 200K 64K 5.00 25.00 0.50 no -
grok-4.6 xAI Estados Unidos no 500K 500K 2.20 6.60 0.55 siempre activo -
qwen3.8-2.4t-a95b Together AI Norteamérica no 1010K 1010K 2.00 6.00 0.25 siempre activo -
kimi-k3 Together AI Norteamérica no 1048576 1048576 2.70 13.50 0.27 activado o desactivado, por defecto off -
qwen3.8-max-0902 Alibaba Cloud (International) Fuera de China continental no 1M 131072 2.00 6.00 0.40 presupuestos, de none a high, por defecto off -
qwen3.8-2.4t-a95b@alibaba-intl
Qwen3.8 2.4T (outside mainland China, via Alibaba Cloud)
Alibaba Cloud (International) Fuera de China continental no 1M 131072 2.00 6.00 0.40 siempre activo -
qwen3.7-max Alibaba Cloud (International) Fuera de China continental no 1M 131072 2.50 7.50 0.50 presupuestos, de none a high, por defecto off -
qwen3.7-max@alibaba-us
Qwen3.7 Max (US, via Alibaba Cloud)
Alibaba Cloud (US) EE. UU. (Virginia) no 1M 131072 2.50 7.50 0.50 presupuestos, de none a high, por defecto off -
Modelo Proveedor Se procesa en Auto Ventana de contexto Salida máxima Entrada Salida Lectura de caché Razonamiento
claude-fable-5-1 Anthropic Estados Unidos sí 1M 128K 10.00 50.00 0.25 niveles, de low a xhigh, por defecto el del proveedor, siempre razona
gpt-6-astra OpenAI Estados Unidos sí 400K 128K 10.00 50.00 1.00 niveles, de low a xhigh, por defecto el del proveedor, siempre razona
o1 OpenAI Estados Unidos no 200K 100K 15.00 60.00 7.50 niveles, de low a high, por defecto el del proveedor, siempre razona
gpt-4-turbo OpenAI Estados Unidos no 128K 4096 10.00 30.00 0.00 no
gpt-4 OpenAI Estados Unidos no 8192 8192 30.00 60.00 0.00 no
claude-fable-5 Anthropic Estados Unidos no 1M 128K 10.00 50.00 1.00 niveles, de low a xhigh, por defecto el del proveedor, siempre razona
Modelo Proveedor Se procesa en Tokens de entrada máx. Entrada Salida
jev-1.13.0 TypeSafe AI Estados Unidos 32K 0.042 0.00

Los modelos de decisión responden preguntas tipadas (opciones fijas, sí o no, puntuaciones) con probabilidades calibradas en lugar de escribir texto. auto nunca los elige; llámalos por su nombre con response_format: json_schema. Los tokens de salida son gratis. Consulta Modelos de decisión.

Modelo Proveedor Se procesa en Tokens de entrada máx. Entrada
text-embedding-3-small OpenAI Estados Unidos 8192 0.02
text-embedding-3-large OpenAI Estados Unidos 8192 0.13
gemini-embedding-001 Google Estados Unidos 8192 0.20
mistral-embed-2312 Mistral AI Sin garantía 8K 0.10

Fuera de pico: DeepSeek factura la mitad de su precio de lista fuera de las horas pico. Las horas pico son de 01:00 a 04:00 y 06:00 a 10:00 UTC, de lunes a viernes, salvo los festivos oficiales de China; los fines de semana y esos festivos son fuera de pico todo el día. Zabio factura el precio vigente a la hora de la llamada.

Fuera de pico: Alibaba Cloud (International) factura la mitad de su precio de lista fuera de las horas pico. Las horas pico son de 00:00 a 14:00 UTC, de lunes a viernes, salvo los festivos oficiales de China; los fines de semana y esos festivos son fuera de pico todo el día. Zabio factura el precio vigente a la hora de la llamada.

Contexto largo: cuando el prompt de una petición a gpt-5.4 supera los 272K tokens, todos los tokens de esa petición se facturan a 5.00 de entrada, 22.50 de salida y 0.50 de lectura de caché.

Contexto largo: cuando el prompt de una petición a gpt-5.5 supera los 272K tokens, todos los tokens de esa petición se facturan a 10.00 de entrada, 45.00 de salida y 1.00 de lectura de caché.

Contexto largo: cuando el prompt de una petición a gpt-6-astra supera los 272K tokens, todos los tokens de esa petición se facturan a 20.00 de entrada, 75.00 de salida y 2.00 de lectura de caché.

Contexto largo: cuando el prompt de una petición a gemini-3.1-pro-preview supera los 200K tokens, todos los tokens de esa petición se facturan a 4.00 de entrada, 18.00 de salida y 0.40 de lectura de caché.

Contexto largo: cuando el prompt de una petición a grok-4.7 llega a 200K tokens, todos los tokens de esa petición se facturan a 4.40 de entrada, 13.20 de salida y 1.10 de lectura de caché.

Contexto largo: cuando el prompt de una petición a gpt-6.1-sol supera los 272K tokens, todos los tokens de esa petición se facturan a 4.00 de entrada, 15.00 de salida y 0.20 de lectura de caché.

Contexto largo: cuando el prompt de una petición a gpt-6-luna supera los 272K tokens, todos los tokens de esa petición se facturan a 0.20 de entrada, 0.75 de salida y 0.02 de lectura de caché.

Contexto largo: cuando el prompt de una petición a gpt-6-sol supera los 272K tokens, todos los tokens de esa petición se facturan a 4.00 de entrada, 15.00 de salida y 0.40 de lectura de caché.

Contexto largo: cuando el prompt de una petición a gpt-5.6-sol supera los 272K tokens, todos los tokens de esa petición se facturan a 8.00 de entrada, 30.00 de salida y 0.80 de lectura de caché.

Contexto largo: cuando el prompt de una petición a gpt-5.6-terra supera los 272K tokens, todos los tokens de esa petición se facturan a 4.00 de entrada, 18.00 de salida y 0.40 de lectura de caché.

Contexto largo: cuando el prompt de una petición a gpt-5.6-luna supera los 272K tokens, todos los tokens de esa petición se facturan a 0.40 de entrada, 1.80 de salida y 0.04 de lectura de caché.

Contexto largo: cuando el prompt de una petición a grok-4.6 llega a 200K tokens, todos los tokens de esa petición se facturan a 4.40 de entrada, 13.20 de salida y 1.10 de lectura de caché.

Contexto largo: cuando el prompt de una petición a claude-haiku-5-5 supera los 100K tokens, todos los tokens de esa petición se facturan a 0.50 de entrada, 2.50 de salida y 0.05 de lectura de caché.

Contexto largo: cuando el prompt de una petición a qwen3.7-plus supera los 256K tokens, todos los tokens de esa petición se facturan a 0.96 de entrada, 3.84 de salida y 0.192 de lectura de caché.

Contexto largo: cuando el prompt de una petición a qwen3.5-plus-2026-04-20 supera los 256K tokens, todos los tokens de esa petición se facturan a 0.50 de entrada, 3.00 de salida y 0.00 de lectura de caché.

Contexto largo: cuando el prompt de una petición a qwen3.5-plus-2026-02-15 supera los 256K tokens, todos los tokens de esa petición se facturan a 0.50 de entrada, 3.00 de salida y 0.00 de lectura de caché.

Contexto largo: cuando el prompt de una petición a qwen3.6-flash supera los 256K tokens, todos los tokens de esa petición se facturan a 1.00 de entrada, 4.00 de salida y 0.20 de lectura de caché.

Contexto largo: cuando el prompt de una petición a qwen3.6-max-preview supera los 128K tokens, todos los tokens de esa petición se facturan a 2.00 de entrada, 12.00 de salida y 0.40 de lectura de caché.

Contexto largo: cuando el prompt de una petición a qwen3.6-plus supera los 256K tokens, todos los tokens de esa petición se facturan a 2.00 de entrada, 6.00 de salida y 0.00 de lectura de caché.

Contexto largo: cuando el prompt de una petición a qwen3.7-plus@alibaba-us supera los 256K tokens, todos los tokens de esa petición se facturan a 0.96 de entrada, 3.84 de salida y 0.192 de lectura de caché.

Contexto largo: cuando el prompt de una petición a qwen3.6-flash@alibaba-us supera los 256K tokens, todos los tokens de esa petición se facturan a 1.00 de entrada, 4.00 de salida y 0.00 de lectura de caché.

Retirados el 2026-10-12, el proveedor ya no los sirve: claude-sonnet-4-5.

Retirados el 2026-10-11, el proveedor ya no los sirve: qwen3.6-max-preview, qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-instruct, qwen3-next-80b-a3b-thinking, qwen3-next-80b-a3b-instruct, qwen3-30b-a3b-thinking-2507, qwen3-30b-a3b-instruct-2507, qwen3-235b-a22b-thinking-2507, qwen3-235b-a22b-instruct-2507, deepseek-v4-flash.

Razonamiento: la columna indica cómo se aplica reasoning_effort a cada modelo (niveles con nombre del proveedor, un presupuesto de razonamiento por nivel, activado o desactivado, siempre activo, o sin razonamiento) y qué aplica Zabio cuando la petición no indica nada; auto elige el ajuste junto con el modelo. Consulta Modelos.

Generado el 2026-10-14 a partir del catálogo de lanzamiento; no editar.

Los mismos datos están disponibles en JSON en generated/models.json dentro del código fuente de la documentación. Cada fila lleva los precios de lista de arriba y dos objetos, flex y batch, uno por nivel de procesamiento del proveedor. Cuando el modelo tiene ese nivel, el objeto es {"applies": true, "input_per_mtok": 1.25, "output_per_mtok": 7.5, "cache_read_per_mtok": 0.13} con los precios que Zabio factura en él, en USD por millón de tokens antes de la comisión; cuando no lo tiene, el objeto es {"applies": false} y no lleva precios. Flex es el nivel más lento que pide un zabio.deadline de 15 minutos o más (ver Nivel flex); batch es el precio de una línea en un lote.

  • Precio fuera de pico de DeepSeek. DeepSeek cobra la mitad de su precio de lista fuera de las horas pico. Las horas pico son de 01:00 a 04:00 y de 06:00 a 10:00 UTC, de lunes a viernes; los fines de semana y los festivos oficiales de China son fuera de pico todo el día. La tabla muestra los dos precios, y zabio.pricing.off_peak en GET /v1/models lleva el precio fuera de pico y las horas pico. Zabio factura el precio vigente a la hora de la llamada, y auto prefiere DeepSeek en mayor medida fuera de pico. Las copias que sirve Together AI no tienen precio fuera de pico.
  • Contexto largo de OpenAI y Google. gpt-5.4, gpt-5.5 y gpt-6-astra facturan una petición cuyo prompt supera los 272K tokens de entrada al doble de las tarifas de entrada y de caché y a 1,5 veces la tarifa de salida, para toda la petición. gemini-3.1-pro-preview factura una petición cuyo prompt supera los 200K tokens a 4.00 de entrada, 18.00 de salida y 0.40 de lectura de caché. Las tarifas aparecen bajo la tabla y en zabio.pricing.long_context, y auto valora cada candidato al tamaño de tu prompt, así que un prompt largo se dirige a un modelo sin recargo cuando hay uno igual de capaz.
  • Rebajas. Cuando un proveedor vende un modelo por debajo de su precio de lista a todos, la tabla muestra el precio rebajado y Zabio lo factura. Cuando termina la rebaja, el precio vuelve al de lista.
  • Contexto largo de Anthropic. claude-haiku-5-5 tiene precio según la longitud del prompt: una petición cuyo prompt supera los 100K tokens (entrada nueva más la de caché) se factura a 0.50 de entrada, 2.50 de salida y las tarifas de caché de ese tramo (0.05 de lectura, 0.625 por una escritura de 5 minutos, 1.00 por una escritura de 1 hora), para toda la petición. La tarifa aparece bajo la tabla y en zabio.pricing.long_context.
  • Contexto largo de xAI. Cuando el prompt de una petición a grok-4.7 (entrada nueva más la de caché) llega a 200K tokens, todos los tokens de esa petición se facturan a la tarifa de contexto largo, indicada bajo la tabla y en zabio.pricing.long_context. Los precios son los del endpoint de EE. UU. de xAI, 1,1 veces el precio de lista de xAI.
  • Razonamiento en DeepSeek. Los modelos de DeepSeek piensan antes de responder salvo que se les indique lo contrario. Si no envías reasoning_effort, Zabio desactiva el razonamiento; envía un nivel para activarlo. DeepSeek conoce none, low, high y max: none lo desactiva, xhigh se envía como max, y medium y minimal, que no tiene, pasan a low y none. Las peticiones que declaran tools, o que llevan llamadas a tools y sus resultados, siempre van sin razonamiento, porque DeepSeek exige entonces que se le devuelva el razonamiento anterior del modelo, y Zabio no lo guarda. deepseek-flash acepta imágenes; deepseek-v4-pro no. Ninguno admite response_format: json_schema; json_object funciona.
  • grok-4.7 siempre razona y factura sus tokens de razonamiento como tokens de salida, que Zabio incluye en usage.completion_tokens. xAI no admite stop en este modelo, así que Zabio aplica tus secuencias de parada; presence_penalty y frequency_penalty no se envían a ningún modelo. Rechaza las imágenes de menos de 8 por 8 píxeles o de menos de 512 píxeles en total.
  • Mistral AI. Los modelos de chat de Mistral no razonan, salvo mistral-large-4-0: un reasoning_effort que envíes a los demás se ignora, aparece en zabio.ignored_parameters, y zabio.reasoning.applied indica not supported. mistral-large-4-0 piensa antes de responder cuando se le pide. Zabio desactiva su razonamiento cuando no envías reasoning_effort; solo conoce activado y desactivado, así que none lo desactiva y cualquier otro nivel lo activa (zabio.reasoning.applied indica on). Una conversación puede pasar a un modelo de Mistral a mitad de camino: los ids de llamadas a tools de otros proveedores se aceptan tal cual.
  • Together AI. Algunos modelos de Together AI piensan por defecto (qwen3.5-9b y las copias de DeepSeek). Igual que con la API propia de DeepSeek, Zabio desactiva el razonamiento salvo que envíes reasoning_effort, y siempre cuando la petición lleva tools; estos modelos solo conocen activado y desactivado, así que none lo desactiva y cualquier otro nivel lo activa (zabio.reasoning.applied indica on). gpt-oss-120b siempre razona, sea cual sea el nivel, así que deja margen en max_tokens para ello.

Una nota sobre el presupuesto de salida en Gemini

Section titled “Una nota sobre el presupuesto de salida en Gemini”

Los modelos Gemini pueden gastar tokens de salida en razonamiento interno antes de responder. low, medium y high son los niveles de razonamiento propios de Google, y xhigh se aplica como high. Cuando no envías reasoning_effort o envías none, Zabio desactiva ese razonamiento donde el modelo lo permite (gemini-3.5-flash, gemini-3.6-flash, gemini-3-flash-preview) para que tu max_tokens se dedique a la respuesta; los modelos flash-lite no razonan si no se les pide. Tres modelos razonan siempre, y debes presupuestarlo:

  • gemini-3.8-flash y gemini-3.7-flash razonan en el nivel medium de Google cuando no indicas nada, y none da su nivel más bajo, low.
  • gemini-3.1-pro-preview razona en el nivel high de Google cuando no indicas nada y necesita unos cientos de tokens de salida incluso para una respuesta corta.

Una respuesta con contenido vacío y finish_reason: "length" significa que el presupuesto era demasiado pequeño.

temperature, top_p y stop llegan al modelo cuando los admite. Un modelo que no admite uno nunca hace fallar la petición: Zabio omite el parámetro y lo nombra en zabio.dropped_parameters y en la cabecera x-zabio-dropped-params. stop siempre se respeta: donde el proveedor no lo admite, Zabio corta la respuesta en la primera secuencia, con streaming o sin él. Se comprobó cada parámetro con todos los modelos el 2026-10-07, y con cada modelo añadido después el día en que se añadió.

Modelos temperature top_p stop
OpenAI gpt-5, gpt-5-mini, gpt-5-nano, gpt-5.5, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-6-astra, gpt-6-luna, gpt-6-sol, gpt-6.1-sol, o3, o4-mini, chat-latest se omite se omite lo aplica Zabio
OpenAI o1, o3-mini se omite se omite sí
OpenAI gpt-5.4, gpt-5.4-mini, gpt-5.4-nano, gpt-5.2, gpt-5.1 se omite al razonar se omite al razonar lo aplica Zabio
Anthropic, modelos Claude 5, claude-opus-4-8, claude-opus-4-7 se omite se omite sí
Anthropic claude-haiku-4-5, claude-opus-4-5, claude-sonnet-4-5 sí se omite si también se envía temperature sí
Anthropic claude-opus-4-6, claude-sonnet-4-6 se omite al razonar se omite si también se envía temperature, y por debajo de 0.95 al razonar sí
Modelos Gemini de Google se omite (no tiene efecto en estos modelos) se omite (no tiene efecto en estos modelos) sí
xAI grok-4.7 y grok-4.6; Together AI gpt-oss-120b sí sí lo aplica Zabio
Together AI kimi-k3 sí se omite por debajo de 0.95 sí
Mistral mistral-large-4-0 sí sí lo aplica Zabio al razonar
Todos los demás modelos sí sí sí

“Al razonar” significa que el ajuste enviado razona: un reasoning_effort por encima de none, o el ajuste que auto eligió para la tarea.