Source: https://ailoot.ai/models/es-mx/typesafe-jev-1-13/
Canonical: https://ailoot.ai/models/es-mx/typesafe-jev-1-13/
Language: es-mx

# TypeSafe: Jev 1.13

[Markdown](https://ailoot.ai/models/es-mx/typesafe-jev-1-13/index.md) · [JSON](https://ailoot.ai/models/es-mx/typesafe-jev-1-13/facts.json)

## [TypeSafe: Jev 1.13](https://ailoot.ai/models/es-mx/typesafe-jev-1-13/)

Jev 1.13 es el modelo de decisión System One exclusivamente textual de TypeSafe. Devuelve directamente Choices de tipos definidos, Scores fraccionarios de rúbrica y probabilidades de sí/no, con distribuciones y estadísticas de confianza específicas del modelo, para clasificación, asignación y juicios enfocados.

- [**Ailoot Ultra · System One** `POST /v1/systemone` `typesafe/jev-1.13`](https://ailoot.ai/models/es-mx/typesafe-jev-1-13/#method-0)
- [**Ailoot Ultra · System One** `POST /v1/systemone` `~typesafe/jev-latest`](https://ailoot.ai/models/es-mx/typesafe-jev-1-13/#method-1)

Sobre el modelo

Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.

Jev 1.13 es el modelo System One versionado de TypeSafe para decisiones estructuradas. Su identificador del productor es jev-1.13.0. Evalúa un estado de texto o JSON textual respecto a preguntas de tipos definidos y devuelve directamente valores y distribuciones de probabilidad, sin redactar una respuesta escrita. La edición resulta adecuada para clasificación, asignación, comprobaciones de condiciones y juicios de rúbrica cuyos posibles resultados se conocen antes de la solicitud.

#### Estado y preparación de preguntas específicas

Proporciona como estado una cadena, un objeto JSON o un array de valores de texto. Utiliza campos con nombre cuando la evidencia contenga registros relacionados, una conversación y una política. Conserva las partes que necesite cada pregunta y haz referencia a un campo o elemento específico cuando eso identifique claramente la evidencia. Jev 1.13 es exclusivamente textual; las imágenes, el audio, el video y los archivos binarios necesitan prepararse como texto o campos textuales estructurados fuera de este modelo.

Cada pregunta tiene un tipo, instrucciones y los criterios que requiera su tipo. Las instrucciones y las descripciones de criterios pueden utilizar texto o estructura JSON. El productor devuelve las respuestas bajo los identificadores de pregunta, pero esos identificadores no forman parte de la inferencia. Escribe la pregunta completa, en lugar de depender de que un identificador como urgent implique el criterio previsto. Un estado útil de soporte puede contener el mensaje y los detalles de impacto, mientras que preguntas separadas definen su categoría y gravedad.

#### Choice: una categoría proporcionada y su distribución

Choice selecciona la opción de mayor probabilidad del conjunto sin orden definido por quien realiza la llamada. Su mapa de criterios contiene las claves de las opciones y sus descripciones, y permite null cuando una opción no necesita explicación adicional. El límite documentado es de 255 opciones por Choice. Añade una opción other o no-match cuando una taxonomía no cubra toda la evidencia posible y explica los límites que un nombre corto de categoría no resuelva.

La respuesta contiene la opción seleccionada, una probabilidad para cada opción y confianza. Conserva la distribución cuando dos candidatas estén próximas, en lugar de tratar la etiqueta seleccionada como certeza. La categoría seleccionada puede identificar una ruta propuesta; la aplicación que integra el modelo decide si la ejecuta y cómo hacerlo.

#### Score: un nivel esperado, no una medición exacta

Score utiliza un array ordenado de niveles descritos, con al menos dos recomendados y hasta diez compatibles. Los índices comienzan en 0. El resultado numérico es la media de los índices de nivel ponderada por probabilidad, por lo que puede quedar entre niveles. La leyenda de la respuesta relaciona los índices con sus descripciones, y las probabilidades de nivel muestran cómo se distribuye el juicio.

Para la gravedad, describe la diferencia entre impacto estético, una alternativa utilizable y una tarea bloqueada. Una puntuación fraccionaria puede ayudar a priorizar o agregar juicios, mientras que seleccionar la categoría más probable es una operación diferente. La guía específica de esta edición de TypeSafe advierte de que Score es poco eficaz para reconstruir una cantidad física o numérica exacta mediante interpolación entre niveles. Mantén los cálculos aritméticos precisos y las mediciones fuera del modelo.

#### Noul y confianza tienen significados distintos

Noul devuelve la probabilidad, entre 0 y 1, de que una condición definida sea verdadera. Los criterios opcionales true y false aclaran el límite. No tiene un campo de confianza separado. Una probabilidad próxima a 0.5 indica incertidumbre entre sí y no, no un valor intermedio en una escala graduada.

La confianza de Choice y Score se deriva de sus propias distribuciones. Para Choice con al menos dos opciones (n \> 1) y una probabilidad seleccionada p\_max, la fórmula documentada es (p\_max − 1/n) / (1 − 1/n): compara el resultado superior con un reparto uniforme. La confianza de Score también tiene en cuenta la distancia ponderada por probabilidad respecto al nivel más probable, normalizada frente a la dispersión de una distribución uniforme y con un mínimo de 0. Por tanto, la ambigüedad entre niveles adyacentes y la ambigüedad entre extremos opuestos tienen significados diferentes. Conserva la distribución completa cuando la tarea necesite más detalle que una sola estadística.

#### Juicios independientes sobre evidencia compartida

Las preguntas de una solicitud ven el mismo estado y se evalúan de forma independiente. El resultado de una pregunta no es contexto oculto para otra. Divide un juicio amplio en aspectos específicos y después interpreta o combina los valores devueltos según la tarea. Un problema puede tener una categoría, una valoración de impacto y una comprobación de relevancia sin convertir esos criterios independientes en una etiqueta vaga de prioridad.

Si una pregunta posterior necesita evidencia recuperada u opciones elegidas a partir de un resultado anterior, haz explícita esa dependencia en una solicitud posterior. Para extraer candidatos, obtén primero los valores disponibles de la fuente y después utiliza un Choice acotado para seleccionar entre ellos. Jev 1.13 no está entrenado para generar texto libre y no debe describirse como si produjera una cadena nueva arbitraria o una explicación narrativa.

#### Límites de contexto y de idioma específicos de la edición

El fabricante indica un presupuesto de 64k tokens para el estado más todas las preguntas combinadas y un presupuesto de 32k tokens para el estado más la pregunta individual más larga. Ambas restricciones importan. Un estado que cabe en el presupuesto total aún puede dejar demasiado poco espacio para las instrucciones y opciones de una pregunta individual. Elimina el material sin relación, conservando la evidencia que determina la respuesta.

El inglés es el idioma principal de entrenamiento de la edición y el productor comunica que alcanza en él su mayor precisión. Se aceptan otros idiomas, incluidas las escrituras CJK, pero no tienen la misma precisión. Utiliza material de origen representativo del idioma previsto al evaluar cómo deben interpretarse las probabilidades o los límites de categorías. Un contrato de entrada exclusivamente textual no establece un rendimiento multilingüe universal.

#### Limitaciones sustantivas publicadas

TypeSafe documenta una lectura literal de palabras que delimitan el alcance y de negaciones, recuentos y cálculos aritméticos poco fiables, dificultad para comparar fechas como cantidades ordenadas y una menor fiabilidad con varias capas de indirección. Recomienda realizar los cálculos exactos en código y dar al modelo el juicio semántico. Las codificaciones numéricas pueden ser menos eficaces que los nombres significativos, y un estado grande lleno de detalles sin relación puede distraer de la evidencia pertinente.

La misma guía afirma que el contenido adversarial del estado puede dirigir la respuesta; que unas instrucciones y criterios contradictorios pueden confundir al modelo; y que el orden de las opciones Choice puede sesgar a veces un resultado hacia una opción temprana. Define la condición real, alinea las instrucciones con los criterios, reduce los pasos intermedios innecesarios y compara los juicios limítrofes con la fuente. Ten presentes los límites de Jev 1.13 al interpretar sus juicios.

Un artefacto útil de Jev 1.13 conserva el identificador del estado, la pregunta completa, las opciones o niveles, el resultado de tipo definido, las probabilidades y la estadística de confianza pertinente. Mantén explícita la versión cuando los resultados o umbrales dependan de esta edición. Revisa los casos inciertos frente a la evidencia y deja que la aplicación realice los cálculos exactos y las acciones del flujo de trabajo; el modelo aporta un juicio específico con incertidumbre numérica.

**Ailoot Ultra · System One** `POST /v1/systemone` `typesafe/jev-1.13`

[`typesafe/jev-1.13`](https://ailoot.ai/models/es-mx/#m=typesafe%2Fjev-1.13&route=Ultra&caller=typesafe%2Fjev-1.13&fmt=systemone)

TypeSafe /`typesafe/jev-1.13`

ID del modelo

- `typesafe/jev-1.13`
- `~typesafe/jev-latest`

### Inicio

Jev 1.13 es el modelo de decisión System One exclusivamente textual de TypeSafe. Devuelve directamente Choices de tipos definidos, Scores fraccionarios de rúbrica y probabilidades de sí/no, con distribuciones y estadísticas de confianza específicas del modelo, para clasificación, asignación y juicios enfocados.

Entradas aceptadas

Texto

Resultados

decisions

### Disponible en Ailoot · entradas y métodos

**Ailoot Ultra · System One** `POST /v1/systemone`

Entrada

`text`

Salida

`decisions`

Formato de salida

json

| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObligatorio | Valores y límites typesafe/jev-1.13 | Predeterminado— |
| Campo`provider` | Tipo`schema` | RequisitoOpcional | Valores y límites | Predeterminado— |
| Campo`questions` | Tipo`object` | RequisitoObligatorio | Valores y límites | Predeterminado— |
| Campo`session_id` | Tipo`string` | RequisitoOpcional | Valores y límites | Predeterminado— |
| Campo`state` | Tipo`schema` | RequisitoObligatorio | Valores y límites | Predeterminado— |
| Campo`trace` | Tipo`schema` | RequisitoOpcional | Valores y límites | Predeterminado— |
| Campo`user` | Tipo`string` | RequisitoOpcional | Valores y límites | Predeterminado— |
| Campo`questions.<id>.type` | Tipo`string` | RequisitoObligatorio | Valores y límites noul, choice, score | Predeterminado— |
| Campo`questions.<id>.instructions` | Tipo`string\|object\|array` | RequisitoObligatorio | Valores y límites | Predeterminado— |
| Campo`questions.<id>.criteria` | Tipo`object\|array` | RequisitoOpcional | Valores y límites Condiciones: choice/score: obligatorios; noul: opcional. Los criterios de choice son un objeto; score es un arreglo con minItems1. | Predeterminado— |
| Campo`questions.<id>.criteria.true` | Tipo`string\|object\|array` | RequisitoObligatorio | Valores y límites Se aplica cuando: Se proporcionó el objeto de criterios noul | Predeterminado— |
| Campo`questions.<id>.criteria.false` | Tipo`string\|object\|array` | RequisitoObligatorio | Valores y límites Se aplica cuando: Se proporcionó el objeto de criterios noul | Predeterminado— |

Combinaciones de materiales de entrada

**noul** · Obligatorio: state, questions.\<id\>.type=noul, questions.\<id\>.instructions

**choice** · Obligatorio: state, questions.\<id\>.type=choice, questions.\<id\>.instructions, criteria object

**score** · Obligatorio: state, questions.\<id\>.type=score, questions.\<id\>.instructions, criteria array with minItems1

Parámetros del método y ciclo de vida

| Parámetro | Contrato |
| --- | --- |
| Parámetro`content_type` | Contratoapplication/json |
| Parámetro`required` | Contratomodel, state, questions |
| Parámetro`material_types` | Contratotext |
| Parámetro`optional_controls` | Contratoprovider, session\_id, trace, user |
| Parámetro`multimodal_input_binding` | Contratonull |

Ciclo de vida: `synchronous`

Envía el ID exacto del modelo y conserva la respuesta nativa completa.

### Tarifas

Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.

Modo fast

Sin especificar Cuando se selecciona el modo fast

Modo flex

Sin especificar Cuando se selecciona el modo flex

Esfuerzo máximo de razonamiento

Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default

#### Tarifas de Ailoot

#### Precios por configuración

Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.

| Configuración | Tabla de tarifas | Tokens de contexto, más de | Tokens de contexto, hasta inclusive | Cargo |
| --- | --- | --- | --- | --- |
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Tokens de contexto, más de— | Tokens de contexto, hasta inclusiveSin límite superior | Cargo Entrada · Tokens de entrada **$0.000084** / 1K tokens Salida · Tokens de salida **$0** / 1K tokens Entrada · Lectura de caché **—** / 1K tokens Entrada · Escritura en caché **—** / 1K tokens Entrada · Escritura en caché, 1 hora **—** / 1K tokens |
| ConfiguraciónNivel 1 por longitud de la solicitud | Tabla de tarifas— | Tokens de contexto, más de0 | Tokens de contexto, hasta inclusiveSin límite superior | Cargo Entrada · Tokens de entrada **$0.000084** / 1K tokens Salida · Tokens de salida **$0** / 1K tokens Entrada · Lectura de caché **—** / 1K tokens Entrada · Escritura en caché **—** / 1K tokens Entrada · Escritura en caché, 1 hora **—** / 1K tokens |

Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. [Cómo funcionan la reserva y la liquidación →](https://ailoot.ai/docs/es-mx/billing/reserve/)

### Solicitudes de ejemplo

#### Ailoot Ultra · System One

Estructura oficial de solicitud conservada; ejemplo de documentaciónUsa el material real de tu solicitud y conserva el resultado completo

```json
{
  "model": "typesafe/jev-1.13",
  "questions": {
    "is_bug": {
      "criteria": {
        "false": "The customer is asking a question or requesting a feature.",
        "true": "The customer describes broken or unexpected product behavior."
      },
      "instructions": "Is the customer reporting a software defect?",
      "type": "noul"
    },
    "team": {
      "criteria": {
        "account": "Login, permissions, or profile issues.",
        "frontend": "Rendering, layout, or browser compatibility issues.",
        "payments": "Checkout, billing, or payment processing issues."
      },
      "instructions": "Which team should own this ticket?",
      "type": "choice"
    },
    "urgency": {
      "criteria": [
        "Can wait for the next release",
        "Should be fixed this week",
        "Blocking revenue right now"
      ],
      "instructions": "How urgent is this ticket?",
      "type": "score"
    }
  },
  "state": {
    "customer_tier": "enterprise",
    "ticket": "My checkout page shows a blank screen after I click Pay. I have tried two browsers."
  }
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_REQUEST_FILE:?Set your actual JSON request file}"
export AILOOT_REQUEST_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))
if not isinstance(p,dict): raise SystemExit('Request must be a JSON object')
p['model']='typesafe/jev-1.13'
Path('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

### Recibir y guardar resultados

#### Ailoot Ultra · System One

json

##### Conserva todos los resultados completados

Conserva todas las respuestas, archivos y partes de contenido completos recibidos.

Se conserva cada respuesta al ID de pregunta proporcionado con su tipo exacto, valor noul/choice/score, confianza, probabilidades y leyenda. El JSON original completo se almacena y devuelve únicamente después de liquidar el cargo.

##### Si es necesario revisar la respuesta original

Conserva la operación original y la respuesta completa o parcial; no repitas el POST.

Campos de respuesta

| Campo | Tipo |
| --- | --- |
| Campo`model` | Tipostring |
| Campo`id` | Tipostring |
| Campo`provider` | Tipostring |
| Campo`answers.<id>.type` | Tipostring |
| Campo`answers.<id>.noul` | Tiponumber |
| Campo`answers.<id>.choice` | Tipostring |
| Campo`answers.<id>.score` | Tiponumber |
| Campo`answers.<id>.confidence` | Tiponumber |
| Campo`answers.<id>.probabilities` | Tipoobject |
| Campo`answers.<id>.legend` | Tipoobject |
| Campo`usage.input_tokens` | Tipointeger |
| Campo`usage.output_tokens` | Tipointeger |
| Campo`usage.cost` | Tiponumber |

Errores y siguientes pasos

| Respuesta | Condición | Siguiente paso |
| --- | --- | --- |
| Respuesta400 · `invalid_request_error` | CondiciónCampo obligatorio, representación o valor no válido | Siguiente pasoCorrige el campo indicado de la solicitud. |

### Alias

#### Alias del modelo

**Ailoot Ultra** [`typesafe/jev-1.13`](https://ailoot.ai/models/es-mx/#m=typesafe%2Fjev-1.13&route=Ultra&caller=typesafe%2Fjev-1.13&fmt=systemone), [`~typesafe/jev-latest`](https://ailoot.ai/models/es-mx/#m=typesafe%2Fjev-1.13&route=Ultra&caller=~typesafe%2Fjev-latest&fmt=systemone)

#### Alias de rutas de métodos

Usa las rutas de método indicadas arriba.

#### ID de modelo relacionados

[`typesafe/jev-1.13`](https://ailoot.ai/models/es-mx/#m=typesafe%2Fjev-1.13&route=Ultra&caller=typesafe%2Fjev-1.13&fmt=systemone), [`~typesafe/jev-latest`](https://ailoot.ai/models/es-mx/#m=typesafe%2Fjev-1.13&route=Ultra&caller=~typesafe%2Fjev-latest&fmt=systemone)

**Ailoot Ultra · System One** `POST /v1/systemone` `~typesafe/jev-latest`

[`~typesafe/jev-latest`](https://ailoot.ai/models/es-mx/#m=typesafe%2Fjev-1.13&route=Ultra&caller=~typesafe%2Fjev-latest&fmt=systemone)

TypeSafe /`~typesafe/jev-latest`

ID del modelo

- `typesafe/jev-1.13`
- `~typesafe/jev-latest`

### Inicio

Jev 1.13 es el modelo de decisión System One exclusivamente textual de TypeSafe. Devuelve directamente Choices de tipos definidos, Scores fraccionarios de rúbrica y probabilidades de sí/no, con distribuciones y estadísticas de confianza específicas del modelo, para clasificación, asignación y juicios enfocados.

Entradas aceptadas

Texto

Resultados

decisions

### Disponible en Ailoot · entradas y métodos

**Ailoot Ultra · System One** `POST /v1/systemone`

Entrada

`text`

Salida

`decisions`

Formato de salida

json

| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObligatorio | Valores y límites ~typesafe/jev-latest | Predeterminado— |
| Campo`provider` | Tipo`schema` | RequisitoOpcional | Valores y límites | Predeterminado— |
| Campo`questions` | Tipo`object` | RequisitoObligatorio | Valores y límites | Predeterminado— |
| Campo`session_id` | Tipo`string` | RequisitoOpcional | Valores y límites | Predeterminado— |
| Campo`state` | Tipo`schema` | RequisitoObligatorio | Valores y límites | Predeterminado— |
| Campo`trace` | Tipo`schema` | RequisitoOpcional | Valores y límites | Predeterminado— |
| Campo`user` | Tipo`string` | RequisitoOpcional | Valores y límites | Predeterminado— |
| Campo`questions.<id>.type` | Tipo`string` | RequisitoObligatorio | Valores y límites noul, choice, score | Predeterminado— |
| Campo`questions.<id>.instructions` | Tipo`string\|object\|array` | RequisitoObligatorio | Valores y límites | Predeterminado— |
| Campo`questions.<id>.criteria` | Tipo`object\|array` | RequisitoOpcional | Valores y límites Condiciones: choice/score: required; noul: optional. choice criteria is object; score is array with minItems1. | Predeterminado— |
| Campo`questions.<id>.criteria.true` | Tipo`string\|object\|array` | RequisitoObligatorio | Valores y límites Se aplica cuando: noul criteria object supplied | Predeterminado— |
| Campo`questions.<id>.criteria.false` | Tipo`string\|object\|array` | RequisitoObligatorio | Valores y límites Se aplica cuando: noul criteria object supplied | Predeterminado— |

Combinaciones de materiales de entrada

**noul** · Obligatorio: state, questions.\<id\>.type=noul, questions.\<id\>.instructions

**choice** · Obligatorio: state, questions.\<id\>.type=choice, questions.\<id\>.instructions, criteria object

**score** · Obligatorio: state, questions.\<id\>.type=score, questions.\<id\>.instructions, criteria array with minItems1

Parámetros del método y ciclo de vida

| Parámetro | Contrato |
| --- | --- |
| Parámetro`content_type` | Contratoapplication/json |
| Parámetro`required` | Contratomodel, state, questions |
| Parámetro`material_types` | Contratotext |
| Parámetro`optional_controls` | Contratoprovider, session\_id, trace, user |
| Parámetro`multimodal_input_binding` | Contratonull |

Ciclo de vida: `synchronous`

Send the exact model ID and retain the complete native response.

### Tarifas

Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.

Modo fast

Sin especificar Cuando se selecciona el modo fast

Modo flex

Sin especificar Cuando se selecciona el modo flex

Esfuerzo máximo de razonamiento

Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default

#### Tarifas de Ailoot

#### Precios por configuración

Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.

| Configuración | Tabla de tarifas | Tokens de contexto, más de | Tokens de contexto, hasta inclusive | Cargo |
| --- | --- | --- | --- | --- |
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Tokens de contexto, más de— | Tokens de contexto, hasta inclusiveSin límite superior | Cargo Entrada · Tokens de entrada **$0.000084** / 1K tokens Salida · Tokens de salida **$0** / 1K tokens Entrada · Lectura de caché **—** / 1K tokens Entrada · Escritura en caché **—** / 1K tokens Entrada · Escritura en caché, 1 hora **—** / 1K tokens |
| ConfiguraciónNivel 1 por longitud de la solicitud | Tabla de tarifas— | Tokens de contexto, más de0 | Tokens de contexto, hasta inclusiveSin límite superior | Cargo Entrada · Tokens de entrada **$0.000084** / 1K tokens Salida · Tokens de salida **$0** / 1K tokens Entrada · Lectura de caché **—** / 1K tokens Entrada · Escritura en caché **—** / 1K tokens Entrada · Escritura en caché, 1 hora **—** / 1K tokens |

Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. [Cómo funcionan la reserva y la liquidación →](https://ailoot.ai/docs/es-mx/billing/reserve/)

### Solicitudes de ejemplo

#### Ailoot Ultra · System One

Estructura oficial de solicitud conservada; ejemplo de documentaciónUsa el material real de tu solicitud y conserva el resultado completo

```json
{
  "model": "~typesafe/jev-latest",
  "questions": {
    "is_bug": {
      "criteria": {
        "false": "The customer is asking a question or requesting a feature.",
        "true": "The customer describes broken or unexpected product behavior."
      },
      "instructions": "Is the customer reporting a software defect?",
      "type": "noul"
    },
    "team": {
      "criteria": {
        "account": "Login, permissions, or profile issues.",
        "frontend": "Rendering, layout, or browser compatibility issues.",
        "payments": "Checkout, billing, or payment processing issues."
      },
      "instructions": "Which team should own this ticket?",
      "type": "choice"
    },
    "urgency": {
      "criteria": [
        "Can wait for the next release",
        "Should be fixed this week",
        "Blocking revenue right now"
      ],
      "instructions": "How urgent is this ticket?",
      "type": "score"
    }
  },
  "state": {
    "customer_tier": "enterprise",
    "ticket": "My checkout page shows a blank screen after I click Pay. I have tried two browsers."
  }
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_REQUEST_FILE:?Set your actual JSON request file}"
export AILOOT_REQUEST_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))
if not isinstance(p,dict): raise SystemExit('Request must be a JSON object')
p['model']='~typesafe/jev-latest'
Path('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

### Recibir y guardar resultados

#### Ailoot Ultra · System One

json

##### Conserva todos los resultados completados

Conserva todas las respuestas, archivos y partes de contenido completos recibidos.

Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.

##### Si es necesario revisar la respuesta original

Preserve original operation and full/partial reply; do not replay POST.

Campos de respuesta

| Campo | Tipo |
| --- | --- |
| Campo`model` | Tipostring |
| Campo`id` | Tipostring |
| Campo`provider` | Tipostring |
| Campo`answers.<id>.type` | Tipostring |
| Campo`answers.<id>.noul` | Tiponumber |
| Campo`answers.<id>.choice` | Tipostring |
| Campo`answers.<id>.score` | Tiponumber |
| Campo`answers.<id>.confidence` | Tiponumber |
| Campo`answers.<id>.probabilities` | Tipoobject |
| Campo`answers.<id>.legend` | Tipoobject |
| Campo`usage.input_tokens` | Tipointeger |
| Campo`usage.output_tokens` | Tipointeger |
| Campo`usage.cost` | Tiponumber |

Errores y siguientes pasos

| Respuesta | Condición | Siguiente paso |
| --- | --- | --- |
| Respuesta400 · `invalid_request_error` | CondiciónInvalid required field, representation or value | Siguiente pasoCorrect the indicated request field. |

### Alias

#### Alias del modelo

**Ailoot Ultra** [`typesafe/jev-1.13`](https://ailoot.ai/models/es-mx/#m=typesafe%2Fjev-1.13&route=Ultra&caller=typesafe%2Fjev-1.13&fmt=systemone), [`~typesafe/jev-latest`](https://ailoot.ai/models/es-mx/#m=typesafe%2Fjev-1.13&route=Ultra&caller=~typesafe%2Fjev-latest&fmt=systemone)

#### Alias de rutas de métodos

Usa las rutas de método indicadas arriba.

#### ID de modelo relacionados

[`typesafe/jev-1.13`](https://ailoot.ai/models/es-mx/#m=typesafe%2Fjev-1.13&route=Ultra&caller=typesafe%2Fjev-1.13&fmt=systemone), [`~typesafe/jev-latest`](https://ailoot.ai/models/es-mx/#m=typesafe%2Fjev-1.13&route=Ultra&caller=~typesafe%2Fjev-latest&fmt=systemone)

FAQ · TypeSafe: Jev 1.13

¿Qué entradas y resultados están disponibles?

`POST /v1/systemone` · `typesafe/jev-1.13`: `text` → `decisions` `POST /v1/systemone` · `~typesafe/jev-latest`: `text` → `decisions`

¿Qué campos utiliza la solicitud?

`POST /v1/systemone` · `typesafe/jev-1.13`: `model`, `provider`, `questions`, `session_id`, `state`, `trace`, `user` `POST /v1/systemone` · `~typesafe/jev-latest`: `model`, `provider`, `questions`, `session_id`, `state`, `trace`, `user`

Conecta Ailoot a Claude Code, OpenCode, Hermes o tu aplicación.

## La empresa y su cartera de proyectos

La empresa y su cartera de proyectos: millones de clientes; ventas por miles de millones al mes.

## Compra tokens con descuento.

Ahorro por suscripción para trabajo habitual. Códigos promocionales: hasta el 50% al comprar tokens.

Suscripción

Elige un plan con descuento para tus peticiones habituales.

Código de hasta el 50%

Introduce el código al comprar. El precio se recalcula según la promoción vigente.

Gasto en el historial

Modelo, tokens e importe quedan guardados por cada petición.

[Elegir suscripción](https://ailoot.ai/docs/es-mx/billing/subscriptions/) · [Consultar precios de modelos](https://ailoot.ai/models/es-mx/)

## Conecta la API al producto que vendes.

SaaS, aplicaciones y bots bajo la oferta y el acuerdo de licencia Ailoot. Solicita una licencia de reventa para redistribuir el acceso.

Aplicación comercial

Integra generación de texto, imágenes, vídeo y sonido en funciones de pago de tu servicio.

Licencia para revendedores

Envía descripción del proyecto y esquema de acceso. Solicita condiciones escritas de uso y reventa.

Documentos en la web

La oferta, el acuerdo de licencia y la política de datos están disponibles antes de conectar.

[Solicitar licencia de reventa](mailto:support@ailoot.ai) · [Oferta y acuerdo de licencia](https://ailoot.ai/legal/offer?lang=es-mx)

## Ailoot · La empresa y su cartera de proyectos





Ailoot se apoya en la experiencia operativa acumulada, una amplia base de clientes, un servicio estable y el seguimiento continuo de KPI.





La empresa y su cartera de proyectos: millones de clientes; ventas por miles de millones al mes.





Ailoot aplica esa experiencia operativa al acceso por API a funciones de IA en productos de clientes, agentes, aplicaciones y automatizaciones.
