Define your fields once and generate the structured-output schema for OpenAI, Anthropic, Gemini, or plain JSON Schema. No more hand-writing each provider's flavor. Runs in your browser.
Structured outputs and tool calling both come down to one thing: a JSON Schema the model must conform to. But every provider wraps that schema differently. Define your fields once here and get the right shape for each:
additionalProperties: false.response_format of type json_schema with strict: true.input_schema is your schema (the model “calls” it with the data).responseSchema (uppercase OpenAPI types) plus responseMimeType.Tip for OpenAI strict mode: it expects every property to be listed as required. For a
genuinely optional field, make its type nullable rather than dropping it from required.
string, number, integer, boolean, an enum (comma-separated values → a closed set),
and typed arrays. Add a description to each field — it steers the model far
more than the field name alone.
It guarantees the shape — right fields and types. It can’t guarantee the model put the right value in a field; validate business rules yourself.
A tool/function call’s arguments are a structured output — the same JSON Schema, wrapped as a tool. The Anthropic tab shows exactly that form.
No — schema generation runs in your browser, so your field names and structure stay local and it works offline.
Read structured outputs and tool calling, or browse AI Explained.