Structured output is output from a language model that follows a specific, predefined format (most often JSON matching a defined schema) instead of free-form prose. By constraining response shape, structured output makes model output easier for software to parse and act on without brittle cleanup logic.

In short: structured output shapes an LLM response to a fixed format (usually JSON), so applications can consume it more reliably than raw text.

How structured output works

The goal is to make the model’s response match a structure the receiving program already expects:

Define a schema: The developer specifies the response shape (often a JSON schema, including field names, types, and required fields.