name: str

The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.

schema: Dict[str, object]

The schema for the response format, described as a JSON Schema object. Learn how to build JSON schemas here.

type: Literal["json_schema"]

The type of response format being defined. Always json_schema.

description: Optional[str]

A description of what the response format is for, used by the model to determine how to respond in the format.

strict: Optional[bool]

Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the schema field. Only a subset of JSON Schema is supported when strict is true. To learn more, read the Structured Outputs guide.