# What changed in xai-sdk

> 92 changes in xai-sdk 1 from its official release notes, upgrade guides and advisories: 3 breaking, 1 deprecations, 1 security, 67 new APIs and options. Each one cited. Sources checked 2026-11-15. HTML: https://unstale.sh/pypi/xai-sdk/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## xai-sdk 1

### Breaking changes

- The File model no longer includes team_id. (1.12.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.12.0)
- The document search tools are renamed. (1.5.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.5.0)
- Response handling now uses outputs instead of choices. (1.3.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.3.0)

### Security

- Sensitive attributes can be excluded from traces. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)

### Deprecations

- Deprecates BaseImageResponse.prompt following removal of up_sampled_prompt from the proto. (1.7.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.7.0)

### New APIs and options

- Adds guidelines to chat.create. (1.21.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.21.0)
- Adds safety_identifier to chat.create. (1.21.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.21.0)
- Video generation adds support for a last frame and keyframes. (1.20.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.20.0)
- An image_generation server-side tool is added. (1.19.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.19.0)
- Image generation gains a quality parameter. (1.19.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.19.0)
- Video generation gains generate_audio. (1.19.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.19.0)
- Video generation gains reference_audios. (1.19.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.19.0)
- Video generation adds 1080p. (1.19.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.19.0)
- Adds grok-4.6 to ChatModel. (1.18.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.18.0)
- Accepts xhigh as a reasoning_effort value. (1.18.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.18.0)
- Adds service_tier support for priority processing. (1.17.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.17.0)
- Image and video generation now accept file-ID inputs. (1.16.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.16.0)
- Adds Imagine file storage for developers working with image and video generation. (1.16.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.16.0)
- Adds list filtering to the files client. (1.16.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.16.0)
- Adds public file URLs to the files client. (1.16.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.16.0)
- Adds support for context compaction. (1.15.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.15.0)
- Adds grok-build-0.1 to ChatModel, making it available for use as a chat model. (1.15.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.15.0)
- Adds SERVER_SIDE_TOOL_IMAGE_SEARCH to the enum. (1.14.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.14.0)
- Adds enable_image_search to web_search. (1.14.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.14.0)
- Adds prepare_extension() for batch video extension. (1.13.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.13.0)
- Adds none and medium reasoning effort levels. (1.12.2) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.12.2)
- Adds grok-4.3 as a ChatModel option. (1.12.1) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.12.1)
- Bytes chunking was added. (1.12.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.12.0)
- Collection descriptions were added. (1.12.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.12.0)
- Image and video responses now expose cost_usd tracking. (1.12.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.12.0)
- File uploads now support expires_after. (1.12.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.12.0)
- Adds URL support for FileContent. (1.11.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.11.0)
- Adds support for inline file attachments. (1.11.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.11.0)
- Adds support for reference_image_urls. (1.10.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.10.0)
- Adds a video extension API to the xAI Python SDK. (1.10.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.10.0)
- Adds batch support for image and video operations. (1.9.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.9.0)
- Adds input_file_id support. (1.9.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.9.0)
- Added the agent_count parameter to the chat API for multi-agent models. (1.8.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.8.0)
- Added grok-4.20 experimental beta and multi-agent model variants to ChatModel. (1.8.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.8.0)
- Added grok-imagine-image-pro as an ImageGenerationModel. (1.8.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.8.0)
- Adds support for 2K image resolution. (1.7.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.7.0)
- Adds the image_urls parameter to support multi-reference image editing. (1.7.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.7.0)
- Adds support for the Imagine image/video API. (1.6.1) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.6.1)
- Adds support for the batch API. (1.6.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.6.0)
- Adds the developer role. (1.6.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.6.0)
- Adds a tool_call_id field. (1.6.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.6.0)
- Web-search tools support user-location information. (1.6.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.6.0)
- The Chunk class gains inline citations support. (1.5.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.5.0)
- Adds new features to the Collections API client. (1.5.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.5.0)
- Adds end_index to document search tools. (1.5.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.5.0)
- Adds the verbose_streaming include option. (1.5.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.5.0)
- The Response class gains inline citations support. (1.5.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.5.0)
- Adds utility functions to retrieve server-side tool outputs. (1.5.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.5.0)
- The SDK supports including inline citations. (1.4.1) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.1)
- Chat creation accepts a max_turns parameter for agentic conversations. (1.4.1) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.1)
- Request metadata now also includes the language. (1.4.1) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.1)
- Tool calls gain a status field in the proto definitions. (1.4.1) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.1)
- The SDK supports including tool output. (1.4.1) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.1)
- Clients gain context manager support and proper channel cleanup. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- Proto changes and a utility function add collections-search support. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- Chat responses support debug output. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- Chat responses support encrypted content. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- The SDK adds client support for the Files API. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- Clients can be configured to use an insecure gRPC channel. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- A remote MCP tool is added. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- ToolCall supports ToolCallType. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- The usage enum adds SERVER_SIDE_TOOL_MCP and SERVER_SIDE_TOOL_COLLECTIONS_SEARCH. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- The SDK version is added to request metadata. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- The chat service supports multiple outputs in chunks and responses. (1.3.1) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.3.1)
- Added convenience functions for using new server-side tools. (1.3.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.3.0)
- Added proto support for server-side tools. (1.3.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.3.0)
- Adds support for new X source parameters for live search. (1.0.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.0.0)

### Performance

- Lazy buffering reduces memory usage for streaming chat responses. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)

### Behavior and default changes

- Allows protobuf 7. (1.21.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.21.0)
- The default gRPC User-Agent is now XaiSdk/{version}. (1.19.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.19.0)
- Updated grok-4.20 and multi-agent model variants in ChatModel, changing the model variants developers can use. (1.9.1) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.9.1)
- Updates the grok-4.20 beta and multi-agent model variants available in ChatModel. (1.8.1) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.8.1)
- Reduces the default PollTimer poll interval. (1.7.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.7.0)
- Introduces default video polling settings. (1.7.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.7.0)
- Adds instrumentation to Collections methods. (1.6.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.6.0)
- Adds instrumentation to File methods. (1.6.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.6.0)
- All output entries are appended for agentic responses. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- chat.create accepts a Pydantic BaseModel directly as response_format. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
- Chat automatically detects implicit server-side tool additions. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)

### Tooling

- Adds Grok Imagine models to types/model.py for editor autocomplete. (1.16.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.16.0)

### Fixes and other changes

- Replaying tool outputs via chat.append(response) now sets tool_call_id. (1.19.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.19.0)
- Field definitions were updated. (1.12.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.12.0)
- Fixes handling of unknown statuses in polling loops. (1.9.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.9.0)
- Handles a video generation failure case. (1.8.2) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.8.2)
- Emitted chat spans are updated to comply with changes to the OTEL gen_ai specification. (1.6.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.6.0)
- The literals for the chat API were restructured. (1.4.1) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.1)
- The parse method now sets the index correctly. (1.4.0) — [release notes](https://github.com/xai-org/xai-sdk-python/releases/tag/v1.4.0)
