# What changed in @ai-sdk/xai

> 45 changes in @ai-sdk/xai 3 to 5 from its official release notes, upgrade guides and advisories: 3 breaking, 2 security, 26 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/@ai-sdk/xai/

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

## @ai-sdk/xai 5

### Breaking changes

- Together AI Gemini image inputs are marked unsupported by the current single-image request mapping. (5.0.11) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.11)
- The Chat Completions API was removed. (5.0.0) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.0)

### Security

- @ai-sdk/provider-utils has an Uncontrolled Resource Consumption issue (5.0.1) — [security advisory](https://github.com/advisories/GHSA-866G-F22W-33X8)

### New APIs and options

- Adds opus as a supported audio format. (5.0.15) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.15)
- Adds grok-imagine-image-2.0 as an image model ID for use with the xAI provider. (5.0.15) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.15)
- Adds auto as an image quality option for the xAI provider. (5.0.15) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.15)
- Adds 1.5k as an image resolution provider option. (5.0.15) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.15)
- Adds support for transcription model IDs. (5.0.15) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.15)
- Adds vadThreshold support for transcription. (5.0.15) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.15)
- Adds missing Responses API provider options. (5.0.8) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.8)
- Adds missing video provider options. (5.0.8) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.8)
- Adds the grok 4.7 model ID for use with @ai-sdk/xai. (2.0.95, 3.0.134, 5.0.5) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.5), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%403.0.134), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%402.0.95)

### Behavior and default changes

- The xSearch tool now allows up to 20 allowedXHandles. (5.0.18) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.18)
- The xSearch tool now allows up to 20 excludedXHandles. (5.0.18) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.18)
- Asynchronous capability lookups can resolve to unknown. (5.0.11) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.11)
- Middleware overrides can resolve capability lookups to unknown. (5.0.11) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.11)

### Fixes and other changes

- Speaker diarization is preserved when available or reported as unavailable, avoiding silent loss of diarization information. (5.0.16) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.16)
- The User-Agent header is now standards-compliant. (5.0.12) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.12)
- QuiverAI Arrow 2 and Arrow 2 Telos are advertised as supporting file input. (5.0.11) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.11)
- Capability declarations use confirmed model IDs, leaving unrecognized model names unknown. (5.0.11) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.11)
- Together AI FLUX.2 Pro and Flex are advertised as supporting single-image editing. (5.0.11) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%405.0.11)

## @ai-sdk/xai 4

### Breaking changes

- Unsupported batch request types are now rejected. (4.0.58) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.58)

### Security

- Blank and dot-segment file IDs are rejected or encoded so they cannot retarget request paths. (4.0.52) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.52)

### New APIs and options

- Image generation requests are now supported in batches. (4.0.58) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.58)
- Adds batch cancellation and listing capabilities. (4.0.57) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.57)
- Batch requests can now use per-request models. (4.0.55) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.55)
- The xAI batch input file upload accepts an inputFileExpiresAfter provider option. (4.0.54) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.54)
- Batch start results now expose the uploaded input file's expiration time in provider metadata. (4.0.54) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.54)
- Batch start results now expose the ID of the uploaded input file in provider metadata. (4.0.54) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.54)
- File operations now accept abortSignal. (4.0.52) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.52)
- Adds deleteFile to the xAI files interface. (4.0.52) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.52)
- Adds streaming downloadFile to the xAI files interface. (4.0.52) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.52)
- Adds getFileMetadata to the xAI files interface. (4.0.52) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.52)
- File operations now accept headers. (4.0.52) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.52)
- Upload results now expose byteSize. (4.0.52) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.52)
- Upload results now expose createdAt. (4.0.52) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.52)
- Supports streaming uploads using data with type set to stream. (4.0.52) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.52)
- Supports upload TTLs through expiresAfter, an integer from 3600 to 2592000 seconds, emitted before the file part as xAI requires. (4.0.52) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.52)
- Upload results now expose expiresAt. (4.0.52) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.52)
- Batch now supports tool calling. (4.0.51) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.51)

### Fixes and other changes

- Tool schemas now preserve additionalProperties: false. (3.0.133, 4.0.59) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.59), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%403.0.133)
- Preserves the web_search action fields query, sources, and open_page in responses tool results. (2.0.91, 3.0.129, 4.0.48) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%404.0.48), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%403.0.129), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%402.0.91)

## @ai-sdk/xai 3

### Fixes and other changes

- Generated and streamed results now preserve complete xAI Chat Completions usage objects. (3.0.127) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%403.0.127)
- Raw usage metadata now preserves complete xAI Responses usage objects. (3.0.127) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%403.0.127)
- Image moderation blocks are reported as content policy errors. (3.0.125) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/xai%403.0.125)
