Skip to content

Commit 55ccbe2

Browse files
Backport: chore(provider/xai): remove obsolete Grok 2 models now that they are shut down in their API (#13273)
This is an automated backport of #13271 to the release-v6.0 branch. FYI @felixarntz Co-authored-by: Felix Arntz <felix.arntz@vercel.com>
1 parent 075118a commit 55ccbe2

File tree

19 files changed

+36
-48
lines changed

19 files changed

+36
-48
lines changed

.changeset/cuddly-roses-collect.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@ai-sdk/gateway': patch
3+
'@ai-sdk/xai': patch
4+
---
5+
6+
chore(provider/xai): remove obsolete Grok 2 models now that they are shut down in their API

content/docs/02-foundations/02-providers-and-models.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ Here are the capabilities of popular models:
113113
| [xAI Grok](/providers/ai-sdk-providers/xai) | `grok-4` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
114114
| [xAI Grok](/providers/ai-sdk-providers/xai) | `grok-3` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
115115
| [xAI Grok](/providers/ai-sdk-providers/xai) | `grok-3-mini` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
116-
| [xAI Grok](/providers/ai-sdk-providers/xai) | `grok-2-vision-1212` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
117116
| [Vercel](/providers/ai-sdk-providers/vercel) | `v0-1.0-md` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
118117
| [OpenAI](/providers/ai-sdk-providers/openai) | `gpt-5.2-pro` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
119118
| [OpenAI](/providers/ai-sdk-providers/openai) | `gpt-5.2-chat-latest` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |

content/docs/03-ai-sdk-core/35-image-generation.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,6 @@ for (const file of result.files) {
284284

285285
| Provider | Model | Support sizes (`width x height`) or aspect ratios (`width : height`) |
286286
| ------------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
287-
| [xAI Grok](/providers/ai-sdk-providers/xai#image-models) | `grok-2-image` | `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `2:3`, `2:1`, `1:2`, `19.5:9`, `9:19.5`, `20:9`, `9:20`, `auto` |
288287
| [xAI Grok](/providers/ai-sdk-providers/xai#image-models) | `grok-imagine-image` | `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `2:3`, `2:1`, `1:2`, `19.5:9`, `9:19.5`, `20:9`, `9:20`, `auto` |
289288
| [OpenAI](/providers/ai-sdk-providers/openai#image-models) | `gpt-image-1` | 1024x1024, 1536x1024, 1024x1536 |
290289
| [OpenAI](/providers/ai-sdk-providers/openai#image-models) | `dall-e-3` | 1024x1024, 1792x1024, 1024x1792 |

content/providers/01-ai-sdk-providers/01-xai.mdx

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ import { xai } from '@ai-sdk/xai';
164164
import { generateText } from 'ai';
165165

166166
const { text } = await generateText({
167-
model: xai.responses('grok-2-vision-1212'),
167+
model: xai.responses('grok-3'),
168168
messages: [
169169
{
170170
role: 'user',
@@ -781,9 +781,6 @@ console.log('Sources:', await result.sources);
781781
| `grok-3-latest` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Cross size={18} /> |
782782
| `grok-3-mini` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
783783
| `grok-3-mini-latest` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
784-
| `grok-2-vision` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Cross size={18} /> |
785-
| `grok-2-vision-latest` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Cross size={18} /> |
786-
| `grok-2-vision-1212` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Cross size={18} /> |
787784

788785
<Note>
789786
The table above lists popular models. Please see the [xAI
@@ -800,7 +797,7 @@ import { xai } from '@ai-sdk/xai';
800797
import { generateImage } from 'ai';
801798

802799
const { image } = await generateImage({
803-
model: xai.image('grok-2-image'),
800+
model: xai.image('grok-imagine-image'),
804801
prompt: 'A futuristic cityscape at sunset',
805802
});
806803
```
@@ -813,7 +810,7 @@ const { image } = await generateImage({
813810

814811
### Image Editing
815812

816-
xAI supports image editing through the `grok-2-image` and `grok-imagine-image` models. Pass input images via `prompt.images` to transform or edit existing images.
813+
xAI supports image editing through the `grok-imagine-image` model. Pass input images via `prompt.images` to transform or edit existing images.
817814

818815
<Note>
819816
xAI image editing does not support masks. Editing is prompt-driven - describe
@@ -832,7 +829,7 @@ import { readFileSync } from 'fs';
832829
const imageBuffer = readFileSync('./input-image.png');
833830

834831
const { images } = await generateImage({
835-
model: xai.image('grok-2-image'),
832+
model: xai.image('grok-imagine-image'),
836833
prompt: {
837834
text: 'Turn the cat into a golden retriever dog',
838835
images: [imageBuffer],
@@ -869,7 +866,7 @@ Apply artistic styles to an image:
869866
const imageBuffer = readFileSync('./input-image.png');
870867

871868
const { images } = await generateImage({
872-
model: xai.image('grok-2-image'),
869+
model: xai.image('grok-imagine-image'),
873870
prompt: {
874871
text: 'Transform this into a watercolor painting style',
875872
images: [imageBuffer],
@@ -892,7 +889,7 @@ import { xai } from '@ai-sdk/xai';
892889
import { generateImage } from 'ai';
893890

894891
const { images } = await generateImage({
895-
model: xai.image('grok-2-image'),
892+
model: xai.image('grok-imagine-image'),
896893
prompt: 'A futuristic cityscape at sunset',
897894
aspectRatio: '16:9',
898895
n: 2,
@@ -903,7 +900,6 @@ const { images } = await generateImage({
903900

904901
| Model | Aspect Ratios | Image Editing |
905902
| -------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------- |
906-
| `grok-2-image` | `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `2:3`, `2:1`, `1:2`, `19.5:9`, `9:19.5`, `20:9`, `9:20`, `auto` | <Check size={18} /> |
907903
| `grok-imagine-image` | `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `2:3`, `2:1`, `1:2`, `19.5:9`, `9:19.5`, `20:9`, `9:20`, `auto` | <Check size={18} /> |
908904

909905
## Video Models

content/providers/01-ai-sdk-providers/index.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ Not all providers support all AI SDK features. Here's a quick comparison of the
2323
| [xAI Grok](/providers/ai-sdk-providers/xai) | `grok-4` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
2424
| [xAI Grok](/providers/ai-sdk-providers/xai) | `grok-3` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
2525
| [xAI Grok](/providers/ai-sdk-providers/xai) | `grok-3-mini` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
26-
| [xAI Grok](/providers/ai-sdk-providers/xai) | `grok-2-vision-1212` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
2726
| [Vercel](/providers/ai-sdk-providers/vercel) | `v0-1.0-md` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
2827
| [OpenAI](/providers/ai-sdk-providers/openai) | `gpt-5.2-pro` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
2928
| [OpenAI](/providers/ai-sdk-providers/openai) | `gpt-5.2` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |

examples/ai-functions/src/e2e/xai.test.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@ createFeatureTestSuite({
2828
createChatModel('grok-3-mini-beta'),
2929
createChatModel('grok-3-mini-fast-beta'),
3030
createChatModel('grok-3'),
31-
createChatModel('grok-2-vision-1212'),
3231
createCompletionModel('grok-3'),
33-
createCompletionModel('grok-2-vision-1212'),
3432
],
3533
},
3634
timeout: 30000,

examples/ai-functions/src/generate-image/xai/basic.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { run } from '../../lib/run';
55

66
run(async () => {
77
const { image } = await generateImage({
8-
model: xai.image('grok-2-image-1212'),
8+
model: xai.image('grok-imagine-image'),
99
prompt: 'A salamander at dusk in a forest pond surrounded by fireflies.',
1010
});
1111

examples/ai-functions/src/generate-image/xai/many.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { run } from '../../lib/run';
55

66
run(async () => {
77
const { images } = await generateImage({
8-
model: xai.image('grok-2-image'),
8+
model: xai.image('grok-imagine-image'),
99
n: 3,
1010
prompt: 'A chicken flying into the sunset in the style of anime.',
1111
});

examples/ai-functions/src/generate-text/gateway/image-base64.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { run } from '../../lib/run';
44

55
run(async () => {
66
const result = await generateText({
7-
model: 'xai/grok-2-vision',
7+
model: 'xai/grok-3',
88
messages: [
99
{
1010
role: 'user',

examples/ai-functions/src/generate-text/gateway/image-data-url.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ run(async () => {
99
const dataUrl = `data:image/png;base64,${base64Data}`;
1010

1111
const result = await generateText({
12-
model: 'xai/grok-2-vision',
12+
model: 'xai/grok-3',
1313
messages: [
1414
{
1515
role: 'user',

0 commit comments

Comments
 (0)