ai-gateway

작성자: vercel

Vercel AI Gateway 전문가 안내. 모델 라우팅, 제공업체 장애 조치, 비용 추적 또는 통합된 방식을 통해 여러 AI 제공업체를 관리할 때 사용합니다.

npx skills add https://github.com/vercel/vercel-plugin --skill ai-gateway

Vercel AI Gateway

AI Gateway exposes models from multiple providers through shared authentication, model IDs, routing, billing, and observability. Model availability, SDK APIs, CLI commands, prices, and product capabilities change frequently. Verify them from current sources before changing code.

Start with current sources

Before implementing:

  1. Inspect the project's language, package manager, installed AI SDK version, and existing provider integration.

  2. Read the relevant Vercel page under https://vercel.com/docs/ai-gateway. Use the page's .md form when a tool needs Markdown.

  3. Fetch the complete live model list. Do not construct model variants by analogy:

    curl -fsSL https://ai-gateway.vercel.sh/v1/models
    
  4. If the code uses the ai package, load the ai-sdk skill when available. Read version-matched docs under node_modules/ai/docs/ and source under node_modules/ai/src/. If the skill is not installed, use those bundled files directly.

  5. Run vercel ai-gateway <command> --help before documenting or scripting CLI flags.

The live model endpoint and installed package take precedence over model names or SDK syntax remembered from training data.

Vercel CLI inventory

The vercel ai-gateway command manages gateway resources for the current team. The setup subcommand connects local coding agents; the rest of the CLI covers the jobs that previously required dashboard work:

CommandWhat it does
api-keys create/list/inspect/removeCreate and manage AI Gateway API keys, with budgets, spend alerts, expiry, and restriction exemptions
budgets set/list/inspect/removeSet metered spend limits for the team, a project, a user, or an API key
budgets set/inspect/remove --default, budgets list --defaultsSet per-scope default limits covering projects, keys, or members without a custom budget. Needs CLI 59.13+; the older budgets defaults group is deprecated
models list / models endpoints <model>List the model catalog and one model's provider endpoints from the CLI
virtual-models create/list/inspect/edit/remove/restoreManage reusable, team-scoped model configurations addressed as vmc/<slug>
rules add/list/edit/removeManage routing rules; the CLI marks rules beta, so check --help before relying on them. REST CRUD exists under https://api.vercel.com/ai-gateway/rules
setupConfigure supported coding agents; see references/coding-agents.md
leaderboardExplore public, anonymized usage leaderboards; rarely needed for implementation work

Use the CLI for credential and spend management when the user is working from a terminal or in CI. Check vercel ai-gateway <command> --help for current flags before scripting; do not copy a flag list from this skill into generated code.

Route the request to the right guide

User's jobRead
Ask a coding agent to make one Gateway request, or handle first-request credentials, compatible SDKs, or migrationreferences/setup.md
Provider selection, model fallbacks, caching, BYOK, or timeoutsreferences/routing.md
Reusable model configuration, a vmc/<slug>, or provider options for a client that cannot send themreferences/virtual-models.md
Typed decisions (formerly evaluation) through AI SDK, POST /v1/evaluate, the OpenAI-compatible POST /v1/decisions, or the TypeSafe-compatible APIreferences/evaluation.md
Credits, budgets, reporting, Logs, or request debuggingreferences/spend-observability.md
Route Claude Code, Codex, OpenCode, Pi, or another coding agent's own model traffic through Gatewayreferences/coding-agents.md

Read each relevant reference before editing. A task can require more than one.

Choose the integration surface

Existing projectDefault path
JavaScript or TypeScript using AI SDKUse a plain provider/model string with generateText, streamText, ToolLoopAgent, or the relevant modality API
Python using AI SDK for PythonUse ai.get_model('provider/model') and the current Python SDK docs
Existing OpenAI SDKKeep the SDK and point baseURL or base_url to https://ai-gateway.vercel.sh/v1
Existing Anthropic SDKKeep the SDK and point baseURL or base_url to https://ai-gateway.vercel.sh
Evaluation over provider-neutral HTTPSend Gateway's evaluation request shape to POST https://ai-gateway.vercel.sh/v1/evaluate
Existing TypeSafe evaluation clientKeep @typesafe-ai/sdk and point baseURL to https://ai-gateway.vercel.sh/typesafe
Provider-neutral HTTPUse an AI Gateway compatible endpoint, such as Chat Completions or OpenResponses
Existing direct-provider AI SDK integrationReplace the provider instance with a live AI Gateway provider/model string, then remove provider credentials only after verifying the gateway path
Coding agentUse vercel ai-gateway setup; inspect its help before claiming agent support. Use a Virtual Model when the agent needs reusable routing or provider options it cannot send per request

AI Gateway also supports OpenAI Responses, Anthropic Messages, OpenResponses, Cohere Rerank, embeddings, image and video generation, speech, transcription, realtime sessions, and decisions (formerly evaluation). Modality pages under https://vercel.com/docs/ai-gateway/modalities cover each request shape, including background jobs for long-running video generation. Decisions are available through AI SDK (experimental_decide in ai 7.0.128+, or the deprecated experimental_evaluate alias on earlier AI SDK 7 releases), POST /v1/evaluate, the OpenAI-compatible POST /v1/decisions, and a TypeSafe-compatible API under /typesafe; they are not available through Chat Completions, Responses, or the Anthropic- or Cohere-compatible endpoints. Read references/evaluation.md before choosing a surface. Read the relevant modality or API page instead of translating one request shape from memory.

Minimal AI SDK request

The current AI SDK requires Node.js 22 or later. Confirm the installed package's engines field before enforcing a version in an existing project.

import { generateText } from 'ai';

const model = process.env.AI_GATEWAY_MODEL;
if (!model) {
  throw new Error('Set AI_GATEWAY_MODEL to an ID returned by /v1/models');
}

const { text } = await generateText({
  model,
  prompt: 'Explain the project in one paragraph.',
});

console.log(text);

Honor an exact model the user or task specifies after confirming it exists. Otherwise fetch /v1/models, choose a model that fits the requested modality, capabilities, price, context window, data-retention policy, and team access, and set AI_GATEWAY_MODEL to that ID. Do not put a time-sensitive model recommendation in reusable examples.

Plain model strings route through AI Gateway. Add @ai-sdk/gateway only when the task needs its exported provider, types, model discovery, generation lookup, or spend-report helpers.

Authentication decision

  • Use an AI Gateway API key for local scripts, CI, external servers, and non-Vercel deployments. Store it in AI_GATEWAY_API_KEY and never print or commit it.
  • Use Vercel OIDC for Vercel deployments and linked local projects. Vercel deployments receive VERCEL_OIDC_TOKEN; local development uses vercel link and vercel env pull.
  • BYOK provider credentials do not replace AI Gateway request authentication. They decide how AI Gateway authenticates to a model provider.
  • A plain Node.js script does not automatically load .env.local. Export variables in the shell or load that file explicitly. Framework behavior may differ.

Do not ask the user to paste a secret into chat, source code, a committed config file, or a command that will enter shell history unless the repository has an established secure mechanism.

Implementation workflow

  1. Establish the user's job, runtime, deployment target, current provider, and required capabilities.
  2. Select authentication from the rules above. Preserve a working existing method unless the user asked to migrate it.
  3. Fetch live model metadata and choose a compatible model. State why it fits.
  4. Read the matching SDK, API, modality, routing, or coding-agent docs.
  5. Make the smallest end-to-end change. Reuse the current project structure and error handling.
  6. Handle only errors the application can act on. Common gateway outcomes include authentication failure, insufficient credits, budget exhaustion, rate limiting, and provider capacity failure.
  7. Run the project's formatter, type checker, and focused tests.
  8. When the task authorizes a live request, run one and inspect the returned model, text or media, usage, and provider metadata.
  9. Verify the request in AI Gateway Logs when dashboard access is available. Logs can take about 90 seconds to ingest.

Only spend credits, create keys, change budgets, change routing rules, or write coding-agent config when the user requested or approved that outward-facing action. Prefer dry runs and interactive previews when available.

Routing invariants

  • Model IDs use the exact provider/model strings returned by /v1/models.
  • order controls provider preference, only restricts providers, and sort ranks providers by a supported metric.
  • models lists fallback models after the primary model.
  • caching: 'auto' manages provider prompt-cache markers. It is not an HTTP response cache.
  • providerTimeouts applies to BYOK provider attempts. Streaming requests clear it at the first stream chunk; non-streaming requests time the complete response.
  • A reasoning entry in providerOptions overrides the AI SDK top-level reasoning value entirely; the two never merge.
  • user and tags attach reporting dimensions. They do not create per-user rate limits.
  • Request-scoped provider credentials belong under providerOptions.gateway.byok and must remain secret.
  • Virtual Model IDs use vmc/<slug>. A Virtual Model can pin routing and provider options server-side; settings it defines generally override the corresponding request settings, while unset settings remain request-configurable.

Read references/routing.md before adding any of these fields.

Verification checklist

  • A direct model ID exists in the full live model response, or a Virtual Model exists for the authenticated team and resolves as vmc/<slug>.
  • The selected API or SDK supports the requested modality and feature.
  • Authentication works in the actual runtime, including .env.local loading where relevant.
  • The example prints or returns a result instead of discarding the response.
  • The project type checker and focused tests pass.
  • A live request was made only when authorized, and its cost was understood.
  • Provider routing or fallback behavior is visible in response metadata or Logs.
  • No secret appears in source, logs, diffs, or the final response.
  • The final report distinguishes code verification from live and dashboard verification.

Current documentation

vercel의 다른 스킬

vercel
vercel
로컬 개발 및 테스트를 위한 Vercel REST API 에뮬레이션입니다. 사용자가 로컬에서 Vercel API 엔드포인트와 상호작용하거나 Vercel 통합을 테스트해야 할 때 사용합니다.
cron-jobs
vercel
Vercel Cron Jobs 구성 및 모범 사례. vercel.json에서 예약된 작업을 추가, 편집 또는 디버깅할 때 사용합니다.
codegen
vercel
json-render을 위한 코드 생성 유틸리티입니다. UI 명세서에서 코드를 생성하거나, 사용자 정의 코드 내보내기를 구축하거나, 명세서를 탐색하거나, props를 직렬화할 때 사용합니다.
enable-shopify-menus
vercel
하드코딩된 내비게이션 및 푸터 메뉴를 Shopify 기반 메뉴로 교체합니다.
next-best-practice
vercel
Next.js 모범 사례 - 파일 규칙, RSC 경계, 데이터 패턴, 비동기 API, 메타데이터, 오류 처리, 라우트 핸들러, 이미지/폰트 최적화,…
benchmark-sandbox
vercel
Vercel Sandbox에서 vercel-plugin eval 시나리오를 로컬 WezTerm 패널 대신 실행합니다. Claude Code와 플러그인이 사전 설치된 임시 마이크로VM을 프로비저닝합니다.
write-guide
vercel
점진적인 예제를 통해 실제 사용 사례를 가르치는 기술 가이드를 제작합니다. 개념은 독자가 필요로 할 때만 소개됩니다.
benchmark-testing
vercel
벤치마크 테스트 프로젝트를 생성하고 실행하여 실제 시나리오에서 vercel-plugin 스킬 인젝션을 테스트합니다. 격리된 디렉토리를 설정하고, 설치하며…