Using a dynamic route
import OpenAI from "openai";
const cloudflareToken = "CF_AIG_TOKEN";const accountId = "{account_id}";const gatewayId = "{gateway_id}";const baseURL = `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}`;
const openai = new OpenAI({ apiKey: cloudflareToken, baseURL,});
try { const model = "dynamic/<your-dynamic-route-name>"; const messages = [{ role: "user", content: "What is a neuron?" }]; const chatCompletion = await openai.chat.completions.create({ model, messages, }); const response = chatCompletion.choices[0].message; console.log(response);} catch (e) { console.error(e);}
curl -X POST https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat/chat/completions \ --header 'cf-aig-authorization: Bearer {CF_AIG_TOKEN}' \ --header 'Content-Type: application/json' \ --data '{ "model": "dynamic/gemini-2.0-flash", "messages": [ { "role": "user", "content": "What is Cloudflare?" } ] }'
export interface Env { AI: Ai;}
export default { async fetch(request: Request, env: Env) { const response = await env.AI.gateway("dfD").run({ provider: "compat", endpoint: "chat/completion", headers: {}, query: { model: "dynamic/support", messages: [ { role: "user", content: "What is Cloudflare?", }, ], }, }); return Response(response); },};
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