@tanstack/ai-grok
v0.6.2
Published
Grok (xAI) adapter for TanStack AI
Readme
@tanstack/ai-grok
Grok (xAI) adapter for TanStack AI
Installation
npm install @tanstack/ai-grok
# or
pnpm add @tanstack/ai-grok
# or
yarn add @tanstack/ai-grokSetup
Get your API key from xAI Console and set it as an environment variable:
export XAI_API_KEY="xai-..."Usage
Text/Chat Adapter
import { grokText } from '@tanstack/ai-grok'
import { generate } from '@tanstack/ai'
const adapter = grokText()
const result = await generate({
adapter,
model: 'grok-3',
messages: [
{ role: 'user', content: 'Explain quantum computing in simple terms' },
],
})
console.log(result.text)Summarization Adapter
import { grokSummarize } from '@tanstack/ai-grok'
import { summarize } from '@tanstack/ai'
const adapter = grokSummarize()
const result = await summarize({
adapter,
model: 'grok-3',
text: 'Long article text...',
style: 'bullet-points',
})
console.log(result.summary)Image Generation Adapter
import { grokImage } from '@tanstack/ai-grok'
import { generateImages } from '@tanstack/ai'
const adapter = grokImage()
const result = await generateImages({
adapter,
model: 'grok-2-image-1212',
prompt: 'A beautiful sunset over mountains',
numberOfImages: 1,
size: '1024x1024',
})
console.log(result.images[0].url)With Explicit API Key
import { createGrokText } from '@tanstack/ai-grok'
const adapter = createGrokText('xai-your-api-key-here')Supported Models
Chat Models
grok-4- Latest flagship modelgrok-3- Previous generation modelgrok-3-mini- Smaller, faster modelgrok-4-fast- Fast inference modelgrok-4.1-fast- Production-focused fast modelgrok-2-vision-1212- Vision-capable model (text + image input)
Image Models
grok-2-image-1212- Image generation model
Features
- ✅ Streaming chat completions
- ✅ Structured output (JSON Schema)
- ✅ Function/tool calling
- ✅ Multimodal input (text + images for vision models)
- ✅ Image generation
- ✅ Text summarization
- ❌ Embeddings (not supported by xAI)
Tree-Shakeable Adapters
This package uses tree-shakeable adapters, so you only import what you need:
// Only imports text adapter
import { grokText } from '@tanstack/ai-grok'
// Only imports image adapter
import { grokImage } from '@tanstack/ai-grok'This keeps your bundle size small!
License
MIT
