API de Decisões da OpenAI vs Jev

Decisions API vs Jev: US$ 0,10 vs US$ 0,042 por 1 milhão de tokens de entrada, imagens vs apenas texto, perguntas em array vs perguntas por chave, beta vs acesso antecipado. Mesma solicitação em ambos os formatos.

Ashley Innocent

Ashley Innocent

10 outubro 2026

API de Decisões da OpenAI vs Jev

Apidog para empresas

Implantação local

SSO & RBAC

Conforme SOC 2

Explorar Apidog Enterprise

A API Decisions da OpenAI e o Jev da TypeSafe fazem o mesmo trabalho: enviam uma entrada e um conjunto de perguntas, recebem respostas tipadas com probabilidades em vez de texto para analisar, e pagam apenas pelos tokens de entrada. Decisions custa US$0.10 por 1M de tokens de entrada, está em beta público, aceita texto e imagens, e roda no GPT-6 Luna. Jev custa US$0.042 por 1M de tokens de entrada, está em acesso antecipado atrás de uma conta de console da TypeSafe, é somente texto, e limita cada requisição a 64k tokens.

Para o básico, comece com o que é a API Decisions e como usar o Jev. Esta postagem os compara linha por linha, depois conecta ambos em um projeto Apidog por trás de uma única regra de confiança.

botão

Comparação lado a lado

Cada célula é proveniente das páginas dos fornecedores nas referências.

API Decisions da OpenAI Jev da TypeSafe
Endpoint POST /v1/decisions POST /v1/systemone
Modelo apenas gpt-6-luna jev-1.13.0 (jev-latest)
Status beta público, GA “nas próximas semanas” acesso antecipado (post de lançamento), acesso direto restrito por uma conta de console
Entrada texto + imagens (URL de dados base64; referência também lista URLs públicas) somente texto, 64k por requisição
Tipos de pergunta predicate / choice (2 a 255 opções) / score noul / choice / score
Formato das perguntas array com name opcional objeto indexado por ID
Campos de saída probability; choice ou score + probabilities + confidence; refusal noul; choice ou score + confidence + probabilities
Preço US$0.10 por 1M de entrada, sem cobrança de saída US$0.042 por 1M de entrada, sem cobrança de saída
Cache nenhum ainda (fórum OpenAI) não publicado
Limites de taxa página de limites por organização 100K TPS / 80 RPS, dinâmico
Alegação de velocidade “cerca de 10x mais rápido que a API Responses” (OpenAI) 70 a 500 ms de ponta a ponta (TypeSafe)
Dados ZDR + HIPAA para clientes elegíveis; residência nos EUA/UE ZDR para empresas; não treinado em requisições

Decisions é um endpoint, não um modelo; ele roda no GPT-6 Luna. Jev é o “modelo System One” da TypeSafe, treinado com RLCD para retornar decisões calibradas, e não um LLM geral.

A mesma requisição de roteamento de ticket em ambos os formatos

Um ticket de suporte chega; você quer um departamento e um sim/não sobre se o cliente deseja um reembolso. Primeiro Decisions: as perguntas são um array, cada uma com um type, instructions e um name opcional que a API retorna.

curl https://api.openai.com/v1/decisions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "input": "I was charged twice for my order.",
    "questions": [
      {
        "type": "choice",
        "name": "department",
        "instructions": "Which team should handle this ticket?",
        "choices": [
          {"value": "billing", "description": "Charges, refunds"},
          {"value": "technical", "description": "Bugs, errors"},
          {"value": "other"}
        ]
      },
      {
        "type": "predicate",
        "name": "wants_refund",
        "instructions": "Is the customer asking for money back?"
      }
    ]
  }'

Agora Jev: o campo de entrada é state, as perguntas são um objeto indexado por IDs que você escolhe, choice aceita um mapa criteria de opção para descrição, e o tipo sim/não é noul.

curl https://api.typesafe.ai/v1/systemone \
  -H "Authorization: Bearer $TYPESAFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "I was charged twice for my order.",
    "questions": {
      "department": {
        "type": "choice",
        "instructions": "Which team should handle this ticket?",
        "criteria": {
          "billing": "Charges, refunds",
          "technical": "Bugs, errors",
          "other": "Anything else"
        }
      },
      "wants_refund": {
        "type": "noul",
        "instructions": "Is the customer asking for money back?"
      }
    }
  }'

O que é retornado

Decisions retorna model, answers e usage. As respostas chegam na ordem solicitada, cada uma com seu name; as probabilidades por opção são um array de objetos. Observe output_tokens: 0.

{
  "model": "gpt-6-luna",
  "answers": [
    {
      "type": "choice",
      "name": "department",
      "choice": "billing",
      "probabilities": [
        {"value": "billing", "probability": 0.95},
        {"value": "technical", "probability": 0.02},
        {"value": "other", "probability": 0.03}
      ],
      "confidence": 0.93
    },
    {"type": "predicate", "name": "wants_refund", "probability": 0.95}
  ],
  "usage": {
    "input_tokens": 42,
    "input_tokens_details": {"cached_tokens": 0, "cache_write_tokens": 0},
    "output_tokens": 0,
    "output_tokens_details": {"reasoning_tokens": 0},
    "total_tokens": 42
  }
}

Jev retorna model (o ID versionado), um objeto answers indexado pelos IDs de suas perguntas e usage com input_tokens e output_tokens. Você lê answers.department.choice, sua confidence e probabilities indexadas pelo nome da opção, além de answers.wants_refund.noul. Apenas no lado da OpenAI, uma resposta de refusal pode aparecer por pergunta enquanto as outras ainda recebem respostas.

Preço por milhão, e quanto custam um milhão de tickets

Redação da OpenAI: com gpt-6-luna, a entrada custa US$0.10 por 1M de tokens, sem cobranças de leitura de cache, escrita de cache ou tokens de saída. A TypeSafe lista US$0.042 por 1M de tokens de entrada e saída gratuita.

Considere um ticket de 500 tokens com as duas perguntas acima:

Dois multiplicadores se aplicam no lado da OpenAI: entrada de contexto longo (acima de 272K tokens) é 2x, então US$0.20 por 1M, derivado da página de preços, e o processamento regional adiciona 10%. Nenhuma camada Batch, Flex ou Fast está documentada para /v1/decisions, e de acordo com o fórum da OpenAI, ainda não há cache de prompt, embora usage contenha os campos cached_tokens e cache_write_tokens. Jev não publica nada sobre cache.

Entradas: imagens de um lado, texto do outro

Decisions aceita uma string ou um array de mensagens de usuário misturando partes de input_text e input_image. O guia diz que as imagens devem ser URLs de dados base64 inline; a referência da API também lista URLs HTTP(S) públicas e até 128 imagens por requisição, então trate base64 como o caminho seguro e teste URLs hospedadas antes de confiar nelas. file_id, arquivos e áudio não são suportados.

Jev é somente texto: uma string, um objeto JSON ou um array de texto, sem entrada de imagem, áudio ou vídeo, de acordo com a página de modelos da TypeSafe. No fórum da OpenAI, sam.saffron disse claramente: o entendimento de imagens é algo que o Jev ainda não suporta. Se sua decisão depender de uma foto, apenas Decisions pode analisá-la.

Contexto e limites de taxa

Jev publica um limite de 64k tokens por requisição, sendo 32k para state mais a pergunta mais longa, e afirma que ingere o estado uma vez e avalia cada pergunta em paralelo. Sua página de modelos lista 100K tokens por segundo e 80 requisições por segundo, ajustando-se dinamicamente, com um 429 se o limite for excedido. Esses números mudaram desde setembro, então leia a página ao vivo.

A OpenAI não publica um valor de janela de contexto e nenhum limite de taxa específico para Decisions; a janela de 1.050.000 tokens de Luna é um número da página do modelo, não do endpoint. Verifique Configurações > Organização > Limites (guia de limites de taxa); nosso guia de limites de taxa aborda o tratamento de 429 em ambos os lados.

Status e acesso

Decisions entrou em beta público em 06-10-2026, aberto a todos os desenvolvedores de acordo com o anúncio; o guia diz que a OpenAI espera a GA “nas próximas semanas”, sem data definida.

Jev está em acesso antecipado de acordo com o post de lançamento da TypeSafe, que menciona uma lista de espera, e o acesso direto a api.typesafe.ai está atrás de uma conta de console da TypeSafe; como acessar o Jev descreve os caminhos e chave de API do Jev aborda a criação de chaves. A segunda rota é o Vercel AI Gateway, onde Jev é typesafe-ai/jev, chamado através de experimental_evaluate no AI SDK (7.0.105 ou posterior), de acordo com o changelog da Vercel; a documentação de avaliação da Vercel diz que ele não é exposto no endpoint compatível com OpenAI do Gateway, e lá o tipo sim/não é boolean, retornando a probabilidade de verdadeiro.

Controles de dados

A OpenAI afirma que Decisions suporta Retenção Zero de Dados (ZDR) e uso HIPAA para clientes elegíveis, com residência de dados e processamento regional nos Estados Unidos e Europa (EEE mais Suíça); a página de controles de dados acrescenta que os logs de monitoramento de abuso para /v1/decisions são mantidos por até 30 dias por padrão. A TypeSafe diz que Jev não é treinado em requisições ou respostas de clientes, oferece ZDR para clientes empresariais e executa os mesmos pesos para cada conta.

Nenhum dos fornecedores publica dados de precisão ou calibração; o guia da OpenAI sugere que você defina os limites a partir de seus próprios exemplos rotulados, e isso também se aplica ao Jev.

Velocidade, então qual escolher

A OpenAI diz que Decisions é cerca de 10x mais rápido que a API Responses e não publica um número absoluto de latência; um desenvolvedor no fórum da OpenAI relatou decisões de entrada de imagem em cerca de 0.8 segundos em uma conexão lenta. A TypeSafe cita de 70 ms a 500 ms de ponta a ponta para o Jev. Essas não são medições comparáveis, então cronometre ambos com seus próprios tickets.

Escolha Decisions quando a entrada incluir imagens, quando você já usa OpenAI e quer uma chave e uma fatura, ou quando você precisa de cobertura HIPAA sob um BAA da OpenAI. Escolha Jev quando a entrada for texto, quando o preço mais baixo por token for relevante para o seu volume, ou quando você já usa o Vercel AI Gateway.

Executar ambos por algumas semanas é sensato: avalie cada um contra o mesmo conjunto rotulado, mantenha a melhor curva de limiar e guarde o outro como fallback. Se a verdadeira questão for Decisions versus um rótulo de Saídas Estruturadas, consulte Decisions vs Responses; se nenhum dos fornecedores se adequar à sua política de dados, existem alternativas open-source ao Jev.

Teste ambos em um projeto Apidog

Dois ambientes. Crie OpenAI com OPENAI_API_KEY e TypeSafe com TYPESAFE_API_KEY, cada um com o valor no campo local para que nunca seja sincronizado com a equipe (ambientes e variáveis secretas abrange o escopo).

Duas requisições salvas. POST https://api.openai.com/v1/decisions com Bearer {{OPENAI_API_KEY}} e o primeiro corpo acima; POST https://api.typesafe.ai/v1/systemone com Bearer {{TYPESAFE_API_KEY}} e o segundo.

Uma regra de asserção, aplicada duas vezes. A regra de negócio: confiança acima de 0.8 roteia o ticket automaticamente, qualquer valor abaixo vai para uma fila de revisão. Na requisição Decisions, afirme status 200, $.answers[0].choice igual a billing, $.answers[0].confidence maior que 0.8, e $.usage.output_tokens igual a 0. Na requisição Jev, afirme $.answers.department.choice igual a billing e $.answers.department.confidence maior que 0.8.

Um cenário orientado a dados. Coloque vinte tickets rotulados em um CSV com o departamento esperado, execute ambas as requisições sobre ele como um cenário de teste e veja qual API tem a confiança caindo abaixo de 0.8 nas linhas ambíguas. É assim que você escolhe os limites, e isso detecta uma mudança de modelo antes que os tickets sejam roteados incorretamente.

Simule ambos os formatos. Salve uma resposta Decisions e uma resposta Jev como mocks para que o frontend possa ser construído contra um array answers estável e um objeto answers; simular respostas condicionais retorna o caso de baixa confiança sob demanda para exercitar o branch da fila de revisão.

Execute-o na CI. Execute o cenário com o Apidog CLI (apidog run com o reporter cli ou junit) a cada deploy, para que uma mudança de campo na GA ou uma atualização de jev-latest torne o build vermelho, e não a fila de suporte. Baixe o Apidog para configurar isso.

FAQ

Jev é um LLM como o GPT-6 Luna? Não. A TypeSafe descreve Jev como um modelo System One treinado com RLCD para retornar decisões calibradas; ele não gera texto. Decisions é um endpoint no modelo Luna de propósito geral.

A OpenAI construiu a API Decisions em resposta ao Jev? As páginas da OpenAI não afirmam isso, e nós não o alegamos. Ambos entregam a mesma ideia: respostas tipadas com probabilidades, cobradas pela entrada.

Qual é mais barato? Jev, a US$0.042 por 1M de tokens de entrada contra US$0.10; em um milhão de tickets de 500 tokens, US$21 contra US$50.

Algum deles pode retornar meu próprio esquema JSON? Não. Ambos retornam formatos de resposta fixos; para campos extraídos ou uma explicação escrita, use Saídas Estruturadas na API Responses.

Próximo passo

Envie as duas requisições curl acima com o mesmo ticket, salve ambas no Apidog e adicione a asserção de confiança de 0.8 a cada uma. Em seguida, substitua por vinte de seus próprios tickets e veja qual API cruza seu limite com mais frequência. O guia de como usar possui as versões em Python e JavaScript.

botão

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs