Structured Outputs (Moved)

The structured-outputs guide has moved to its own top-level section, split by what you're building. Pick the journey that fits:

  • Overview — what structured output is, schema library options, provider support, and "which page do I read?"

  • One-Shot Extraction — single prompt in, single typed object out. Use this when you don't need streaming or chat history.

  • Streaming UIsuseChat({ outputSchema }) with partial and final populating a UI field by field.

  • Multi-Turn Chat — every assistant turn carries its own typed StructuredOutputPart, history stays renderable, and messages[i].parts.find(p => p.type === "structured-output").data is typed by your schema.

  • With Tools — combining outputSchema with the agent loop, including pause/resume for server-tool approvals and client-tool invocations.

Note: This URL is kept for backward compatibility. New content lives under /structured-outputs/* — update existing bookmarks when you can.