@ai-sdk/google 4.0.0 moved the whole package to the v4 provider specification. At 3.0.83 GoogleGenerativeAIProvider extended ProviderV3 and its language, embedding, image and video models were the matching v3 types; at 4.0.0 the provider extends ProviderV4 and every one of those models is the v4 type, with no v3 name left in the published declarations. Nothing was removed, so the code that breaks is your own: a value you declare against one of the v3 types and assign one of this package’s models to.

What changed

Before and after

A module that pins this package’s values to the v3 types:

import type { EmbeddingModelV3, ImageModelV3, LanguageModelV3 } from '@ai-sdk/provider';
import { google } from '@ai-sdk/google';
export const gemini: LanguageModelV3 = google('gemini-2.5-pro');
export const embedder = google.textEmbeddingModel('text-embedding-004') satisfies EmbeddingModelV3;
export function images(): ImageModelV3 {
return google.image('imagen-3.0-generate-002');
}

The 4.0.0 declarations say what these values now are, so the annotations follow them:

import type { EmbeddingModelV4, ImageModelV4, LanguageModelV4 } from '@ai-sdk/provider';
import { google } from '@ai-sdk/google';
export const gemini: LanguageModelV4 = google('gemini-2.5-pro');
export const embedder = google.textEmbeddingModel('text-embedding-004') satisfies EmbeddingModelV4;
export function images(): ImageModelV4 {
return google.image('imagen-3.0-generate-002');
}

The same applies to Experimental_VideoModelV3 on google.videoModel, and to a ProviderV3 field holding createGoogleGenerativeAI(...).

Migration guidance and its limits

Emendant writes this rewrite for you only when you name a model provider, on the command line or in emendant.json. The edit is narrow: the annotation and the specifier it was imported under both move to the v4 name, and no import is added or removed, because @ai-sdk/provider 4.0.0 exports all ten names. Without a provider the sites are reported with the same guidance and nothing is written, and the compiler finds every one of them once you upgrade.

Review each suggested type change. Confirm that the value comes from @ai-sdk/google before changing its annotation to v4. Keep v3 annotations on your own v3 model implementations and on wrappers that must remain compatible with an older provider. These findings have medium confidence because a v3 annotation can also describe code that needs no migration.

Naming a v3 type is not enough to be reported, and it is not enough to be broken. A parameter annotated LanguageModelV3, a type argument such as Array<LanguageModelV3>, a cast, and an alias body are all left alone: each receives a model rather than building one, and each keeps compiling at 4.0.0. The scan checks the import source, so LanguageModelV3 imported from a local provider module of your own is not this finding.

A clean scan is narrower than the release. This coverage is about the v3 to v4 move and nothing else in 4.0.0. Two things it deliberately says nothing about are safe: 4.0.0 renames the provider interface to GoogleProvider and the factory to createGoogle, and keeps GoogleGenerativeAIProvider and createGoogleGenerativeAI as aliases, so neither is a break. Nor does this coverage extend to @ai-sdk/provider itself, which removed no v3 name at its own 4.0.0.

What Emendant detects, fixes and verifies

1 change in @ai-sdk/google 4.0.0. 0 automatic fixes, 1 fixes requiring a model provider you choose, 0 report only. Each patch states which checks passed. Understand patch evidence.

ChangeSeverityDetectsFixVerified by
@ai-sdk/google models are the v4 provider types, so a v3 annotation stops type checking
ai-sdk-google-npm-4.0.0-provider-types-v3-to-v4
Breaking
medium confidence
  • a value declared, returned or implemented as LanguageModelV3 imported from @ai-sdk/provider
  • a value declared, returned or implemented as EmbeddingModelV3 imported from @ai-sdk/provider
  • a value declared, returned or implemented as ImageModelV3 imported from @ai-sdk/provider
  • a value declared, returned or implemented as Experimental_VideoModelV3 imported from @ai-sdk/provider
  • a value declared, returned or implemented as ProviderV3 imported from @ai-sdk/provider
Patch, only when you name a model providerYour typecheck and tests

emendant explain <change-id> prints any row's entry, guidance and sources at the terminal.

Coverage

Requires emendant@0.3.0 or later. Run emendant feed update to get the latest coverage.

Coverage details
Snapshot
2026-09-19.4, sequence 26, signed 19 September 2026
Feed entry
feed/npm/@ai-sdk/google/4.0.0.json

emendant feed status shows the snapshot your machine holds.

Primary sources

Scan your repository

Find affected code without editing your files.

npx emendant scan

Then npx emendant fix writes the patches the table says exist. The getting started guide covers the flags and the patch grades.

Every @ai-sdk/google release page is listed on one page.