Overview

This page is the atomic definition. The deep-dive lives at structured-output.

Definition

Structured output is model output constrained to a schema (usually JSON, occasionally XML or YAML) at generation time. Modern APIs support it natively: OpenAI’s response_format: { type: "json_schema" }, Anthropic’s tool-use JSON schemas, and Google Gemini’s responseSchema all enforce the schema during decoding so the response is guaranteed to parse. Pydantic, Zod, and JSON Schema are the most common schema definitions. Structured output replaces fragile regex extraction from free-form text with a typed contract.

When it applies

Use structured output for any model call whose response feeds downstream code: classifications, extractions, function-call arguments, form fills, or multi-field summaries. Skip it for free-form generation (essays, chat responses) where natural prose is the product.

Example

{
  "type": "object",
  "properties": {
    "priority": { "enum": ["P0", "P1", "P2", "P3"] },
    "categories": { "type": "array", "items": { "type": "string" } },
    "needs_human": { "type": "boolean" }
  },
  "required": ["priority", "categories", "needs_human"]
}

Citing this term

See Structured output (llmbestpractices.com/glossary/structured-output).