# What changed in @ai-sdk/google

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

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

## @ai-sdk/google 4

### Breaking changes

- Renames evaluate to decide. (4.0.88) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.88)
- Unsupported batch request types are now rejected. (4.0.68) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.68)
- Support for Imagen models and their integration was dropped following the API shutdown. (4.0.49) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.49)

### Security

- Default Node.js downloads retain DNS validation and connection pinning when frameworks or instrumentation wrap global fetch before or after the SDK loads. (2.0.101, 3.0.130, 4.0.73) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.130), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.101), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.73)

### New APIs and options

- Google language models can now use AUDIO response modalities. (4.0.98) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.98)
- Adds a provider option and provider metadata to resume responses that used up their maxOutputTokens budget. (2.0.103, 3.0.132, 4.0.95) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.95), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.132), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.103)
- Adds gemini-4-argon as a model id. (2.0.103, 3.0.132, 4.0.95) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.95), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.132), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.103)
- Exposes the first request's prompt token count in Google provider metadata. (2.0.103, 3.0.132, 4.0.95) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.95), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.132), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.103)
- Adds the gemini-nano-banana-2.1 model ID. (2.0.102, 3.0.131, 4.0.89) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.131), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.102), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.89)
- Adds the portable max reasoning level, widening LanguageModelV4CallOptions['reasoning'] and the derived ReasoningLevel type; exhaustive consumers must handle max. (4.0.89) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.89)
- Adds telemetry to speech generation and transcription, including provider usage propagation and experimental streaming lifecycle callbacks. (4.0.87) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.87)
- Adds Gemini 3.8 speech model IDs to Google and Gateway types. (4.0.79) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.79)
- Adds Gemini 3.8 TTS support with structured speech metadata and per-turn speaker and style controls for prebuilt voices. (4.0.79) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.79)
- Adds experimental Choice, Score, and Boolean evaluations through Gemini structured output, preserving provider thinking options and validating exact labels and score bounds. Boolean answers include prompted P(true) estimates validated to be in [0, 1], but are not guaranteed to be… (4.0.74) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.74)
- Adds an option that stamps behavior on every function declaration in the Live setup. (4.0.72) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.72)
- Forwards the Live server message as a custom event so applications can detect when a background-reasoning model is idle. (4.0.72) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.72)
- Adds thinkingLevel, thinkingBudget, and includeThoughts options, merged into the Live setup.generationConfig. (4.0.72) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.72)
- Forwards the Live server message as a custom event so applications can detect when a background-reasoning model is idle. (4.0.72) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.72)
- Image generation requests are now supported in batches. (4.0.68) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.68)
- Batch cancellation is now available. (4.0.67) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.67)
- Batch listing is now available. (4.0.67) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.67)
- Batch requests can now use per-request models. (4.0.65) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.65)
- Array outputs support the maxItems constraint. (4.0.64) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.64)
- Array outputs support the minItems constraint. (4.0.64) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.64)
- The Interactions API supports agentic video processing. (4.0.63) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.63)
- Adds the gemini-3.8-flash model for use with @ai-sdk/google. (2.0.96, 3.0.121, 4.0.63) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.121), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.96), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.63)
- Upload results now expose byteSize. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Adds createBinaryStreamResponseHandler to provider-utils. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Upload results now expose createdAt. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Adds deleteFromApi to provider-utils. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Upload results now expose expiresAt. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Adds abortSignal as a call option for FilesV4 operations. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Adds optional deleteFile support to the FilesV4 interface. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Adds optional streaming downloadFile support to the FilesV4 interface. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Adds optional getFileMetadata support to the FilesV4 interface. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Adds headers as a call option for FilesV4 operations. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Adds a { type: 'stream' } upload data variant. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Adds a helper for streaming multipart uploads with deterministic part ordering and failure-path stream teardown. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Batch now supports tool calling, allowing developers to use tools with batch requests. (4.0.60) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.60)
- Adds unary transcription via generateContent, with language detection, speaker diarization, word timestamps, and custom vocabulary. (3.0.116, 4.0.54) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.54), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.116)
- Adds streaming transcription over the Live API WebSocket. (4.0.54) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.54)
- Adds VERBATIM and SMART transcription formatting modes for streaming transcription. (3.0.116, 4.0.54) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.54), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.116)
- Adds support for the Gemini Batch API through experimental_startTextBatch. (4.0.51) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.51)

### Behavior and default changes

- Requests that reach the per-request cap (CONTINUATION) continue automatically, with usage summed across requests. (2.0.103, 3.0.132, 4.0.95) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.95), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.132), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.103)
- With the Interactions API, polls background model calls until they finish. (4.0.95) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.95)
- Newer and custom model IDs default to structured speech, while Gemini 2.5 and 3.1 retain the legacy format. (4.0.79) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.79)
- Input usage now includes tool-use prompt tokens. (4.0.75) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.75)
- Google and Google Vertex prompt blocks are now marked as terminal. (4.0.65) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.65)
- The core uploadFile() helper now forwards abortSignal and headers. (4.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.61)
- Prompt-level Google safety blocks without candidates are surfaced as content-filter results with prompt feedback metadata. (2.0.94, 4.0.55) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.55), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.94)

### Fixes and other changes

- In-stream errors are now surfaced. (4.0.99) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.99)
- Regional Gemini model IDs are handled. (4.0.94) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.94)
- Valid thinking configurations are handled. (4.0.94) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.94)
- Google tool errors and denied executions are sent under functionResponse.response.error. (4.0.91) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.91)
- JSONL rows are limited to 64 MB during batch result downloads. (4.0.89) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.89)
- Custom metadata is now preserved in retrieved context grounding chunks. (3.0.131, 4.0.89) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.131), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.89)
- Uses a JSON response tool for structured outputs when tool calling is enabled. (4.0.88) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.88)
- Uses a standards-compliant User-Agent header. (4.0.85) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.85)
- Realtime user utterances retain independent IDs and cumulative transcripts. (4.0.84) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.84)
- Response IDs advance after interruption. (4.0.84) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.84)
- Text-free transcription completion markers are honored. (4.0.84) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.84)
- Gemini Live now sends the default thinkingLevel when thinkingConfig sets neither thinkingLevel nor thinkingBudget, and no longer overwrites a raw generationConfig.thinkingConfig. (4.0.83) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.83)
- Supported Vertex tool result URLs are forwarded as function response file data. (4.0.82) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.82)
- Fixes serialization of JSON Schema references in function responses. (4.0.80) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.80)
- Native WAV responses are preserved without adding a second header; explicit raw PCM, mu-law, and A-law output are supported, and headerless audio formats are identified correctly. (4.0.79) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.79)
- Code execution parts are preserved when messages are replayed. (4.0.79) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.79)
- Calls with more than 100 values keep per-value multimodal content aligned across automatic batches, including text-only entries; content length and each batch's provider options are validated before requests are sent. (4.0.79) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.79)
- Shares transcript and custom-voice inspection through the Google provider internal export. (4.0.79) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.79)
- Empty speech transcripts are rejected before a request is sent. (4.0.79) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.79)
- Preserve opaque file URI strings during provider serialization. (2.0.98, 3.0.126, 4.0.78) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.78), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.126), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.98)
- Image candidate finish reasons are preserved in provider metadata. (4.0.77) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.77)
- The provider now advertises the supported Gemini image per-call limit, helping developers determine the limit for image requests. (4.0.75) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.75)
- Default prompt block reasons are ignored in non-streaming responses. (4.0.75) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.75)
- Prompt feedback and metadata are preserved across streaming chunks. (3.0.123, 4.0.73) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.73), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.123)
- On background-reasoning Live models, the provider sends thinkingLevel: 'low' when neither thinkingLevel nor thinkingBudget is set, meeting the requirement to provide exactly one. (4.0.72) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.72)
- Wraps non-object realtime tool results under output; object results pass through unchanged, as required by Gemini's Struct field. (4.0.70) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.70)
- Preserves JSON Schema instead of converting it to OpenAPI schema. (4.0.70) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.70)
- Fixes downloading file URLs from tool results. (4.0.69) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.69)
- Unclassified empty image results are now retried. (4.0.65) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.65)
- The Google provider maps the code execution tool name correctly. (4.0.64) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.64)
- Gemini Interactions now support video response formats. (3.0.120, 4.0.59) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.59), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.120)
- Google Files URLs are now recognized when using a baseUrl. (4.0.57) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.57)
- Frequency and presence penalties are omitted from Gemini 2.5 requests because they are unsupported; warnings are returned instead. (2.0.94, 4.0.56) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.56), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.94)
- Raw usage results preserve complete Google Generative Language usage metadata. (3.0.119, 4.0.56) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.119), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.56)
- Local JSON Schema references are inlined in Google tool and structured-output schemas. (2.0.89, 3.0.111, 4.0.48) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.48), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.111), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.89)
- Handles empty string tool call IDs. (4.0.47) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.47)
- Uses low as the minimum reasoning level for full Gemini Flash 3.7 and later. (4.0.46) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%404.0.46)

## @ai-sdk/google 3

### Breaking changes

- generateText with the Interactions API now polls background model calls until they finish. (3.0.132) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.132)

### Fixes and other changes

- For Vertex Gemini 3 and later, supported GCS tool result URLs are forwarded as function response file data for image, PDF, and text MIME types; HTTP(S) downloads remain supported on all Gemini generations. (3.0.128) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.128)
- Keeps per-value multimodal content aligned across automatic batches of more than 100 values, including text-only entries. (3.0.127) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.127)
- Validates content length before sending requests. (3.0.127) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.127)
- Validates each batch's provider options after middleware transforms them. (3.0.127) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.127)
- Default prompt block reasons are ignored in non-streaming responses. (3.0.124) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.124)
- Google content-filtered results are marked terminal, so they are not retried. (3.0.122) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.122)
- Unsupported frequency penalties are omitted from Gemini 2.5 requests, and a warning is returned. (3.0.118) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.118)
- Unsupported presence penalties are omitted from Gemini 2.5 requests, and a warning is returned. (3.0.118) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.118)
- Enum values are converted to the Gemini schema format. (2.0.93, 3.0.116) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.116), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%402.0.93)
- Google model calls now preserve recursive tool input schemas instead of aborting. (3.0.114) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/google%403.0.114)
