# 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