Why strict mode fails easily
OpenAI strict usually requires objects to declare additionalProperties: false, and properties that appeared go into required. Check those two first, then try a real reply.
JSON Tools for AI Developers · Runs locally
Natural language generation · Schema · Zod · OpenAPI · Function Calling · MCP · 30+ tools
Generate Structured Output Schema for OpenAI, Gemini, Claude, and MCP from a JSON sample. Runs locally. Nothing is uploaded.
Free text is hard to parse. Constrain the model to return JSON by field before you argue about prompts. This page wraps a sample in each platform's shell.
There should be one core Schema: lock types, required, and additionalProperties, then pick OpenAI / Gemini / Claude / MCP.
Picking a platform only changes the local wrapper. The sample is not sent to that vendor.
OpenAI strict usually requires objects to declare additionalProperties: false, and properties that appeared go into required. Check those two first, then try a real reply.
Structured Output constrains the model's final reply. Function Calling constrains tool input. Agents use both — don't force them into one Schema.
OpenAI strict usually requires objects to declare additionalProperties: false and a clear required. Check both after generate.
No. Local inference is optimistic. Accept it with a real response.
Structured Output constrains the model's final reply. Function Calling constrains tool input.
No. Picking a platform only changes the local wrapper format.
Core properties can be shared. Wrapper fields differ — don't drop json_schema onto Gemini as-is.
Yes. The model understands field meaning from descriptions. type alone is not enough.
Keep element shapes consistent in the sample, then check items.properties and required.
The blog covers acceptance order and pitfalls. This page generates a first draft from a sample.