Vercel AI SDK
The Vercel AI SDK ↗ is a TypeScript library for building AI applications. The SDK supports many different AI providers, tools for streaming completions, and more.
To use Cloudflare AI Gateway with Vercel AI SDK, you will need to use the ai-gateway-provider package.
npm install ai-gateway-providerMake a request to
OpenAIAPI with
Unified
Stored Key (BYOK)
import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified();
const { text } = await generateText({ model: aigateway(unified('openai/gpt-5.2')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified();
const { text } = await generateText({ model: aigateway(unified('anthropic/claude-4-5-sonnet')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified();
const { text } = await generateText({ model: aigateway(unified('google/gemini-2.5-pro')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified();
const { text } = await generateText({ model: aigateway(unified('grok/grok-4')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified();
const { text } = await generateText({ model: aigateway(unified('dynamic/customer-support')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified();
const { text } = await generateText({ model: aigateway(unified('workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(unified('openai/gpt-5.2')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(unified('anthropic/claude-4-5-sonnet')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(unified('google/gemini-2.5-pro')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(unified('grok/grok-4')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(unified('dynamic/customer-support')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(unified('workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createOpenAI } from 'ai-gateway-provider/providers/openai';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const openai = createOpenAI();
const { text } = await generateText({ model: aigateway(openai.chat('gpt-5.2')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createAnthropic } from 'ai-gateway-provider/providers/anthropic';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const anthropic = createAnthropic();
const { text } = await generateText({ model: aigateway(anthropic('claude-4-5-sonnet')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createGoogle } from 'ai-gateway-provider/providers/google';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const google = createGoogle();
const { text } = await generateText({ model: aigateway(google('gemini-2.5-pro')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createXai } from 'ai-gateway-provider/providers/xai';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const xai = createXai();
const { text } = await generateText({ model: aigateway(xai('grok-4')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified();
const { text } = await generateText({ model: aigateway(unified('customer-support')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified();
const { text } = await generateText({ model: aigateway(unified('@cf/meta/llama-3.3-70b-instruct-fp8-fast')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createOpenAI } from 'ai-gateway-provider/providers/openai';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const openai = createOpenAI({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(openai.chat('gpt-5.2')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createAnthropic } from 'ai-gateway-provider/providers/anthropic';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const anthropic = createAnthropic({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(anthropic('claude-4-5-sonnet')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createGoogle } from 'ai-gateway-provider/providers/google';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const google = createGoogle({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(google('gemini-2.5-pro')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createXai } from 'ai-gateway-provider/providers/xai';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const xai = createXai({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(xai('grok-4')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(unified('customer-support')), prompt: 'What is Cloudflare?',});import { createAiGateway } from 'ai-gateway-provider';import { createUnified } from 'ai-gateway-provider/providers/unified';import { generateText } from "ai";
const aigateway = createAiGateway({ accountId: "{CLOUDFLARE_ACCOUNT_ID}", gateway: '{GATEWAY_NAME}', apiKey: '{CF_AIG_TOKEN}',});
const unified = createUnified({ apiKey: '{API_KEY}' });
const { text } = await generateText({ model: aigateway(unified('@cf/meta/llama-3.3-70b-instruct-fp8-fast')), prompt: 'What is Cloudflare?',});To specify model or provider fallbacks to handle request failures and ensure reliability, you can pass an array of models to the model option.
const { text } = await generateText({ model: aigateway([ openai.chat("gpt-5.1"), anthropic("claude-sonnet-4-5") ]), prompt: 'Write a vegetarian lasagna recipe for 4 people.',});Was this helpful?
- Resources
- API
- New to Cloudflare?
- Directory
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- © 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark
-