>_toolkitbox

~/tools / Structured Output Schema Checker

Structured Output Schema Checker — Confira um JSON Schema com os limites da OpenAI, Anthropic e Gemini

Confira um JSON Schema com os limites documentados das saídas estruturadas da OpenAI, da Anthropic e do Gemini. Veja quais palavras-chave são rejeitadas, ignoradas ou não documentadas antes de enviar o schema à API. Nada sai do seu navegador.

Regras conferidas com a documentação de cada fornecedor em 2026-10-23.

Não verificado: a profundidade de aninhamento, o limite para enums longos e tudo o que os fornecedores não documentam. Os fornecedores mudam essas regras, então confirme na documentação atual.

Tudo roda no seu navegador. O schema não é enviado.

As APIs de IA podem obrigar a resposta de um modelo a seguir um JSON Schema, mas cada fornecedor aceita apenas uma parte do JSON Schema, e essas partes são diferentes. Um schema que funciona em um fornecedor pode ser rejeitado por outro, ou ser aceito enquanto algumas de suas regras são descartadas em silêncio. Esta ferramenta lê o seu schema e o confere com o que a documentação de cada fornecedor diz: regras obrigatórias, como additionalProperties definido como false, palavras-chave sem suporte, palavras-chave aceitas mas não aplicadas e limites de tamanho publicados. Os resultados são separados em três tipos, para que você distinga um erro documentado de uma palavra-chave que a documentação simplesmente não lista. As regras foram conferidas com a documentação dos fornecedores na data exibida abaixo da ferramenta.

Casos de uso

  • Conferir um schema antes de enviá-lo como requisição de saída estruturada, para não descobrir o problema por um erro 400
  • Descobrir quais palavras-chave você precisa tirar do schema e levar para o seu próprio código de validação
  • Comparar o que OpenAI, Anthropic e Gemini aceitam para o mesmo schema

Como usar

  1. Cole o JSON Schema que pretende enviar ou carregue o exemplo.
  2. Leia o resultado de cada fornecedor. Não aceito significa que a documentação diz que o schema vai falhar ou precisa mudar. Ignorado significa que a palavra-chave é aceita, mas não é aplicada. Não documentado significa que a palavra-chave não consta na lista de palavras-chave com suporte do fornecedor.
  3. Corrija o que está marcado como Não aceito e confira o restante fazendo uma requisição real.

FAQ

Um resultado sem problemas significa que a API vai aceitar o meu schema?

Não. A ferramenta confere as regras que os fornecedores documentam. Ela não chama nenhuma API, e a documentação não cobre tudo, então um schema ainda pode ser rejeitado. Trate um resultado limpo como "nenhum problema conhecido" e teste com uma requisição real.

O que significam Não aceito, Ignorado e Não documentado?

Não aceito: a documentação diz que a palavra-chave não tem suporte ou que uma regra precisa ser seguida, por exemplo additionalProperties deve ser false. Ignorado: a documentação diz que a palavra-chave é aceita, mas não é aplicada, então o modelo pode descumpri-la. Não documentado: a palavra-chave não está na lista de palavras-chave com suporte do fornecedor, então ela pode ser rejeitada ou ignorada, e a documentação não diz qual dos dois.

Por que a OpenAI exige que toda propriedade seja required?

No modo strict, a OpenAI exige que todas as propriedades estejam listadas em required e que additionalProperties seja false. Para tornar um campo opcional, a documentação manda usar uma união com null, por exemplo um type igual a ["string", "null"].

Meu schema usa minimum, maxLength ou algo parecido. O que devo fazer?

A Anthropic não aceita restrições numéricas nem limites de comprimento de string, e o Gemini não aplica limites de comprimento. Remova-os do schema, descreva o limite no campo description e confira o valor por conta própria depois que a resposta chegar. A ferramenta JSON Schema Validator pode fazer essa conferência.

Esta ferramenta verifica recursão?

Sim, para a Anthropic, cuja documentação lista os schemas recursivos como sem suporte. A OpenAI e o Gemini documentam schemas recursivos, por isso eles não são sinalizados.

O que não é verificado?

A profundidade de aninhamento, o limite para enums longos e tudo o que os fornecedores não documentam. A ferramenta também não conhece modelos mais novos nem recursos adicionados depois da data da conferência, então confirme na documentação atual quando isso for importante.

O meu schema é enviado a um servidor?

Não. A conferência roda no seu navegador.

Relacionados