# xAI Batch API structured outputs: pass a Pydantic model as response_format

## The problem

I want to use structured outputs with the xAI Batch API for entity extraction at scale, but the docs list response_format as unsupported there. Is there any way to get JSON schema enforcement in batch jobs? My use case is bulk entity extraction where prompt-only JSON is too brittle at scale. The batch docs do not show a response_format example anywhere.

## The verified fix

You can already do this. Pass a Pydantic BaseModel class as the response_format parameter of chat.create, then use chat.append followed by chat.sample(), and the sampled response comes back as a JSON string that adheres to your schema. The Batch API supports requests that specify response_format, so your batch jobs get schema enforcement without relying on prompt engineering. Source: https://github.com/xai-org/xai-sdk-python/issues/94