Quick Start
1
Simple Usage
2
With Configuration
outputSchema takes a JSON Schema object. See Structured Output for the full API.User Interaction Flow
Schema-Constrained Output
Pass a JSON Schema object tooutputSchema and the agent returns a JSON string that matches it.
outputSchema takes a JSON Schema object (Record<string, any>). Pass a full JSON Schema for reliable structured output.
agent.chat() returns the raw JSON string — parse it with JSON.parse(result).
Schema-constrained output (outputSchema)
outputSchema takes a JSON Schema object. When set, the agent sends it to OpenAI as response_format: { type: 'json_schema', json_schema: { name, schema } }, so the model is constrained to return matching JSON — the TypeScript parity of Python’s output_json / output_pydantic.
outputSchemaName names the schema in the response_format payload (default "response").
Reasoning models omit
temperature. gpt-5*, o1*, o3*, and o4* reject a non-default temperature with a 400. The client omits the parameter for these families (the default model is gpt-5-nano), so structured output works out of the box — set a temperature explicitly only for non-reasoning models.Output Formats
API Reference
OutputConfig
Output configuration options
Best Practices
Use schemas for consistency
Use schemas for consistency
A JSON Schema ensures the agent returns the same structure every time.
Keep schemas simple
Keep schemas simple
Start with basic types. Deeply nested schemas can confuse some models.
Mark required fields
Mark required fields
List the fields you always expect in
required so they aren’t dropped.Name your schema
Name your schema
Set
outputSchemaName to label the schema in OpenAI’s response_format payload. Defaults to "response".Use OpenAI for structured output
Use OpenAI for structured output
outputSchema is OpenAI-native. Non-OpenAI providers warn and answer without the schema — pick an openai/... model when you need guaranteed JSON.Related
Agent
Create agents
Criteria
Validation rules

