@tanstack/ai-vercel-gateway 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { VercelGatewayEmbeddingProviderOptions } from './embedding/embedding-provider-options.js';
2
2
  import { VercelGatewayImageProviderOptions, VercelGatewayImageSize } from './image/image-provider-options.js';
3
3
  import { VercelGatewayBaseOptions, VercelGatewayCommonOptions, VercelGatewayTextProviderOptions } from './text/text-provider-options.js';
4
- export declare const VERCEL_GATEWAY_CHAT_MODELS: readonly ["alibaba/qwen-3-14b", "alibaba/qwen-3-235b", "alibaba/qwen-3-30b", "alibaba/qwen-3-32b", "alibaba/qwen-3.6-max-preview", "alibaba/qwen3-235b-a22b-thinking", "alibaba/qwen3-coder", "alibaba/qwen3-coder-30b-a3b", "alibaba/qwen3-coder-next", "alibaba/qwen3-coder-plus", "alibaba/qwen3-max", "alibaba/qwen3-max-preview", "alibaba/qwen3-max-thinking", "alibaba/qwen3-next-80b-a3b-instruct", "alibaba/qwen3-next-80b-a3b-thinking", "alibaba/qwen3-vl-235b-a22b-instruct", "alibaba/qwen3-vl-instruct", "alibaba/qwen3-vl-thinking", "alibaba/qwen3.5-flash", "alibaba/qwen3.5-plus", "alibaba/qwen3.6-27b", "alibaba/qwen3.6-plus", "alibaba/qwen3.7-flash", "alibaba/qwen3.7-max", "alibaba/qwen3.7-plus", "alibaba/qwen3.8-2.4t-a95b", "alibaba/qwen3.8-27b", "alibaba/qwen3.8-max", "amazon/nova-2-lite", "amazon/nova-lite", "amazon/nova-micro", "amazon/nova-pro", "anthropic/claude-3-haiku", "anthropic/claude-fable-5", "anthropic/claude-haiku-4.5", "anthropic/claude-opus-4", "anthropic/claude-opus-4.5", "anthropic/claude-opus-4.6", "anthropic/claude-opus-4.7", "anthropic/claude-opus-4.8", "anthropic/claude-opus-4.8-fast", "anthropic/claude-opus-5", "anthropic/claude-opus-5-fast", "anthropic/claude-sonnet-4", "anthropic/claude-sonnet-4.5", "anthropic/claude-sonnet-4.6", "anthropic/claude-sonnet-5", "arcee-ai/trinity-large-thinking", "arcee-ai/trinity-mini", "bytedance/seed-1.6", "bytedance/seed-1.8", "cohere/command-a", "deepseek/deepseek-r1", "deepseek/deepseek-v3", "deepseek/deepseek-v3.1", "deepseek/deepseek-v3.1-terminus", "deepseek/deepseek-v3.2", "deepseek/deepseek-v3.2-thinking", "deepseek/deepseek-v4-flash", "deepseek/deepseek-v4-flash-0731", "deepseek/deepseek-v4-pro", "deepseek/deepseek-v4-pro-0813", "fish-audio/s1", "fish-audio/s2-pro", "fish-audio/s2.1-pro", "fish-audio/transcribe-1", "google/gemini-2.5-flash", "google/gemini-2.5-flash-image", "google/gemini-2.5-flash-lite", "google/gemini-2.5-pro", "google/gemini-3-flash", "google/gemini-3-pro-image", "google/gemini-3.1-flash-image", "google/gemini-3.1-flash-image-preview", "google/gemini-3.1-flash-lite", "google/gemini-3.1-flash-lite-image", "google/gemini-3.1-pro-preview", "google/gemini-3.5-flash", "google/gemini-3.5-flash-lite", "google/gemini-3.6-flash", "google/gemini-3.7-flash", "google/gemini-omni-flash-preview", "google/gemma-4-26b-a4b-it", "google/gemma-4-31b-it", "inception/mercury-2", "inception/mercury-coder-small", "inclusionai/ling-3.0-flash", "interfaze/interfaze-beta", "kwaipilot/kat-coder-air-v2.5", "kwaipilot/kat-coder-pro-v1", "kwaipilot/kat-coder-pro-v2", "kwaipilot/kat-coder-pro-v2.5", "meta/llama-3.1-70b", "meta/llama-3.1-8b", "meta/llama-3.3-70b", "meta/llama-4-maverick", "meta/llama-4-scout", "meta/muse-glimmer-30b", "meta/muse-spark-1.1", "meta/muse-spark-1.2", "meta/muse-spark-1.2-contributor", "minimax/minimax-m2", "minimax/minimax-m2.1", "minimax/minimax-m2.1-lightning", "minimax/minimax-m2.5", "minimax/minimax-m2.5-highspeed", "minimax/minimax-m2.7", "minimax/minimax-m2.7-highspeed", "minimax/minimax-m3", "mistral/codestral", "mistral/devstral-2", "mistral/devstral-small-2", "mistral/magistral-medium", "mistral/magistral-small", "mistral/ministral-14b", "mistral/ministral-3b", "mistral/ministral-8b", "mistral/mistral-large-3", "mistral/mistral-medium", "mistral/mistral-medium-3.5", "mistral/mistral-nemo", "mistral/mistral-small", "mistral/pixtral-12b", "moonshotai/kimi-k2", "moonshotai/kimi-k2-thinking", "moonshotai/kimi-k2.5", "moonshotai/kimi-k2.6", "moonshotai/kimi-k2.7-code", "moonshotai/kimi-k2.7-code-highspeed", "moonshotai/kimi-k3", "moonshotai/kimi-k3-fast", "morph/morph-v3-fast", "morph/morph-v3-large", "nvidia/nemotron-3-nano-30b-a3b", "nvidia/nemotron-3-super-120b-a12b", "nvidia/nemotron-3-ultra-550b-a55b", "nvidia/nemotron-3.5-lightning", "nvidia/nemotron-nano-12b-v2-vl", "nvidia/nemotron-nano-9b-v2", "openai/gpt-3.5-turbo", "openai/gpt-4-turbo", "openai/gpt-4.1", "openai/gpt-4.1-fast", "openai/gpt-4.1-mini", "openai/gpt-4.1-mini-fast", "openai/gpt-4.1-nano", "openai/gpt-4.1-nano-fast", "openai/gpt-4o", "openai/gpt-4o-fast", "openai/gpt-4o-mini", "openai/gpt-4o-mini-fast", "openai/gpt-4o-mini-search-preview", "openai/gpt-4o-mini-transcribe", "openai/gpt-4o-transcribe", "openai/gpt-5", "openai/gpt-5-codex", "openai/gpt-5-fast", "openai/gpt-5-mini", "openai/gpt-5-mini-fast", "openai/gpt-5-nano", "openai/gpt-5-pro", "openai/gpt-5.1-codex", "openai/gpt-5.1-codex-max", "openai/gpt-5.1-codex-mini", "openai/gpt-5.1-thinking", "openai/gpt-5.1-thinking-fast", "openai/gpt-5.2", "openai/gpt-5.2-codex", "openai/gpt-5.2-fast", "openai/gpt-5.2-pro", "openai/gpt-5.3-codex", "openai/gpt-5.3-codex-fast", "openai/gpt-5.4", "openai/gpt-5.4-fast", "openai/gpt-5.4-mini", "openai/gpt-5.4-mini-fast", "openai/gpt-5.4-nano", "openai/gpt-5.4-pro", "openai/gpt-5.5", "openai/gpt-5.5-fast", "openai/gpt-5.5-pro", "openai/gpt-5.6-luna", "openai/gpt-5.6-luna-fast", "openai/gpt-5.6-sol", "openai/gpt-5.6-sol-fast", "openai/gpt-5.6-terra", "openai/gpt-5.6-terra-fast", "openai/gpt-oss-120b", "openai/gpt-oss-20b", "openai/gpt-oss-safeguard-20b", "openai/gpt-realtime-1.5", "openai/gpt-realtime-2", "openai/gpt-realtime-2.1", "openai/gpt-realtime-mini", "openai/gpt-realtime-whisper", "openai/o1", "openai/o3", "openai/o3-deep-research", "openai/o3-fast", "openai/o3-mini", "openai/o3-pro", "openai/o4-mini", "openai/o4-mini-fast", "openai/tts-1", "openai/tts-1-hd", "openai/whisper-1", "perplexity/sonar", "perplexity/sonar-pro", "perplexity/sonar-reasoning-pro", "poolside/laguna-s-2.1", "poolside/laguna-s-2.1-free", "sakana/fugu-ultra", "sakana/namazu", "stepfun/step-3.5-flash", "stepfun/step-3.7-flash", "tencent/hy3", "thinkingmachines/inkling", "thinkingmachines/inkling-small", "xai/grok-4.1-fast-non-reasoning", "xai/grok-4.1-fast-reasoning", "xai/grok-4.20-multi-agent", "xai/grok-4.20-multi-agent-beta", "xai/grok-4.20-non-reasoning", "xai/grok-4.20-non-reasoning-beta", "xai/grok-4.20-reasoning", "xai/grok-4.20-reasoning-beta", "xai/grok-4.3", "xai/grok-4.5", "xai/grok-4.6", "xai/grok-build-0.1", "xai/grok-stt", "xai/grok-tts", "xai/grok-voice-think-fast-1.0", "xai/grok-voice-think-fast-2.0", "xiaomi/mimo-v2.5", "xiaomi/mimo-v2.5-pro", "zai/glm-4.5", "zai/glm-4.5-air", "zai/glm-4.5v", "zai/glm-4.6", "zai/glm-4.6v", "zai/glm-4.6v-flash", "zai/glm-4.7", "zai/glm-4.7-flash", "zai/glm-4.7-flashx", "zai/glm-5", "zai/glm-5-turbo", "zai/glm-5.1", "zai/glm-5.2", "zai/glm-5.2-fast", "zai/glm-5.3", "zai/glm-5v-turbo"];
4
+ export declare const VERCEL_GATEWAY_CHAT_MODELS: readonly ["alibaba/qwen-3-14b", "alibaba/qwen-3-235b", "alibaba/qwen-3-30b", "alibaba/qwen-3-32b", "alibaba/qwen-3.6-max-preview", "alibaba/qwen3-235b-a22b-thinking", "alibaba/qwen3-coder", "alibaba/qwen3-coder-30b-a3b", "alibaba/qwen3-coder-next", "alibaba/qwen3-coder-plus", "alibaba/qwen3-max", "alibaba/qwen3-max-preview", "alibaba/qwen3-max-thinking", "alibaba/qwen3-next-80b-a3b-instruct", "alibaba/qwen3-next-80b-a3b-thinking", "alibaba/qwen3-vl-235b-a22b-instruct", "alibaba/qwen3-vl-instruct", "alibaba/qwen3-vl-thinking", "alibaba/qwen3.5-flash", "alibaba/qwen3.5-plus", "alibaba/qwen3.6-27b", "alibaba/qwen3.6-plus", "alibaba/qwen3.7-flash", "alibaba/qwen3.7-max", "alibaba/qwen3.7-plus", "alibaba/qwen3.8-2.4t-a95b", "alibaba/qwen3.8-27b", "alibaba/qwen3.8-max", "amazon/nova-2-lite", "amazon/nova-lite", "amazon/nova-micro", "amazon/nova-pro", "anthropic/claude-3-haiku", "anthropic/claude-fable-5", "anthropic/claude-haiku-4.5", "anthropic/claude-opus-4", "anthropic/claude-opus-4.5", "anthropic/claude-opus-4.6", "anthropic/claude-opus-4.7", "anthropic/claude-opus-4.8", "anthropic/claude-opus-4.8-fast", "anthropic/claude-opus-5", "anthropic/claude-opus-5-fast", "anthropic/claude-sonnet-4", "anthropic/claude-sonnet-4.5", "anthropic/claude-sonnet-4.6", "anthropic/claude-sonnet-5", "arcee-ai/trinity-large-thinking", "arcee-ai/trinity-mini", "bytedance/seed-1.6", "bytedance/seed-1.8", "cohere/command-a", "deepseek/deepseek-r1", "deepseek/deepseek-v3", "deepseek/deepseek-v3.1", "deepseek/deepseek-v3.1-terminus", "deepseek/deepseek-v3.2", "deepseek/deepseek-v3.2-thinking", "deepseek/deepseek-v4-flash", "deepseek/deepseek-v4-flash-0731", "deepseek/deepseek-v4-pro", "deepseek/deepseek-v4-pro-0813", "fish-audio/s1", "fish-audio/s1-free", "fish-audio/s2-pro", "fish-audio/s2-pro-free", "fish-audio/s2.1-pro", "fish-audio/s2.1-pro-free", "fish-audio/transcribe-1", "fish-audio/transcribe-1-free", "google/gemini-2.5-flash", "google/gemini-2.5-flash-image", "google/gemini-2.5-flash-lite", "google/gemini-2.5-pro", "google/gemini-3-flash", "google/gemini-3-pro-image", "google/gemini-3.1-flash-image", "google/gemini-3.1-flash-image-preview", "google/gemini-3.1-flash-lite", "google/gemini-3.1-flash-lite-image", "google/gemini-3.1-pro-preview", "google/gemini-3.5-flash", "google/gemini-3.5-flash-lite", "google/gemini-3.6-flash", "google/gemini-3.7-flash", "google/gemini-omni-flash-preview", "google/gemma-4-26b-a4b-it", "google/gemma-4-31b-it", "inception/mercury-2", "inception/mercury-coder-small", "inclusionai/ling-3.0-flash", "interfaze/interfaze-beta", "kwaipilot/kat-coder-air-v2.5", "kwaipilot/kat-coder-pro-v1", "kwaipilot/kat-coder-pro-v2", "kwaipilot/kat-coder-pro-v2.5", "meta/llama-3.1-70b", "meta/llama-3.1-8b", "meta/llama-3.3-70b", "meta/llama-4-maverick", "meta/llama-4-scout", "meta/muse-glimmer-30b", "meta/muse-spark-1.1", "meta/muse-spark-1.2", "meta/muse-spark-1.2-contributor", "minimax/minimax-m2", "minimax/minimax-m2.1", "minimax/minimax-m2.1-lightning", "minimax/minimax-m2.5", "minimax/minimax-m2.5-highspeed", "minimax/minimax-m2.7", "minimax/minimax-m2.7-highspeed", "minimax/minimax-m3", "mistral/codestral", "mistral/devstral-2", "mistral/devstral-small-2", "mistral/magistral-medium", "mistral/magistral-small", "mistral/ministral-14b", "mistral/ministral-3b", "mistral/ministral-8b", "mistral/mistral-large-3", "mistral/mistral-medium", "mistral/mistral-medium-3.5", "mistral/mistral-nemo", "mistral/mistral-small", "mistral/pixtral-12b", "moonshotai/kimi-k2", "moonshotai/kimi-k2-thinking", "moonshotai/kimi-k2.5", "moonshotai/kimi-k2.6", "moonshotai/kimi-k2.7-code", "moonshotai/kimi-k2.7-code-highspeed", "moonshotai/kimi-k3", "moonshotai/kimi-k3-fast", "morph/morph-v3-fast", "morph/morph-v3-large", "nvidia/nemotron-3-nano-30b-a3b", "nvidia/nemotron-3-super-120b-a12b", "nvidia/nemotron-3-ultra-550b-a55b", "nvidia/nemotron-3.5-lightning", "nvidia/nemotron-nano-12b-v2-vl", "nvidia/nemotron-nano-9b-v2", "openai/gpt-3.5-turbo", "openai/gpt-4-turbo", "openai/gpt-4.1", "openai/gpt-4.1-fast", "openai/gpt-4.1-mini", "openai/gpt-4.1-mini-fast", "openai/gpt-4.1-nano", "openai/gpt-4.1-nano-fast", "openai/gpt-4o", "openai/gpt-4o-fast", "openai/gpt-4o-mini", "openai/gpt-4o-mini-fast", "openai/gpt-4o-mini-search-preview", "openai/gpt-4o-mini-transcribe", "openai/gpt-4o-transcribe", "openai/gpt-5", "openai/gpt-5-codex", "openai/gpt-5-fast", "openai/gpt-5-mini", "openai/gpt-5-mini-fast", "openai/gpt-5-nano", "openai/gpt-5-pro", "openai/gpt-5.1-codex", "openai/gpt-5.1-codex-max", "openai/gpt-5.1-codex-mini", "openai/gpt-5.1-thinking", "openai/gpt-5.1-thinking-fast", "openai/gpt-5.2", "openai/gpt-5.2-codex", "openai/gpt-5.2-fast", "openai/gpt-5.2-pro", "openai/gpt-5.3-codex", "openai/gpt-5.3-codex-fast", "openai/gpt-5.4", "openai/gpt-5.4-fast", "openai/gpt-5.4-mini", "openai/gpt-5.4-mini-fast", "openai/gpt-5.4-nano", "openai/gpt-5.4-pro", "openai/gpt-5.5", "openai/gpt-5.5-fast", "openai/gpt-5.5-pro", "openai/gpt-5.6-luna", "openai/gpt-5.6-luna-fast", "openai/gpt-5.6-sol", "openai/gpt-5.6-sol-fast", "openai/gpt-5.6-terra", "openai/gpt-5.6-terra-fast", "openai/gpt-oss-120b", "openai/gpt-oss-20b", "openai/gpt-oss-safeguard-20b", "openai/gpt-realtime-1.5", "openai/gpt-realtime-2", "openai/gpt-realtime-2.1", "openai/gpt-realtime-mini", "openai/gpt-realtime-whisper", "openai/o1", "openai/o3", "openai/o3-deep-research", "openai/o3-fast", "openai/o3-mini", "openai/o3-pro", "openai/o4-mini", "openai/o4-mini-fast", "openai/tts-1", "openai/tts-1-hd", "openai/whisper-1", "perplexity/sonar", "perplexity/sonar-pro", "perplexity/sonar-reasoning-pro", "poolside/laguna-s-2.1", "poolside/laguna-s-2.1-free", "sakana/fugu-ultra", "sakana/namazu", "stepfun/step-3.5-flash", "stepfun/step-3.7-flash", "tencent/hy3", "thinkingmachines/inkling", "thinkingmachines/inkling-small", "xai/grok-4.1-fast-non-reasoning", "xai/grok-4.1-fast-reasoning", "xai/grok-4.20-multi-agent", "xai/grok-4.20-multi-agent-beta", "xai/grok-4.20-non-reasoning", "xai/grok-4.20-non-reasoning-beta", "xai/grok-4.20-reasoning", "xai/grok-4.20-reasoning-beta", "xai/grok-4.3", "xai/grok-4.5", "xai/grok-4.6", "xai/grok-build-0.1", "xai/grok-stt", "xai/grok-tts", "xai/grok-voice-think-fast-1.0", "xai/grok-voice-think-fast-2.0", "xiaomi/mimo-v2.5", "xiaomi/mimo-v2.5-pro", "zai/glm-4.5", "zai/glm-4.5-air", "zai/glm-4.5v", "zai/glm-4.6", "zai/glm-4.7", "zai/glm-4.7-flash", "zai/glm-4.7-flashx", "zai/glm-5", "zai/glm-5-turbo", "zai/glm-5.1", "zai/glm-5.2", "zai/glm-5.2-fast", "zai/glm-5.3", "zai/glm-5v-turbo"];
5
5
  export type VercelGatewayChatModel = (typeof VERCEL_GATEWAY_CHAT_MODELS)[number];
6
6
  export declare const VERCEL_GATEWAY_PROVIDERS: readonly ["alibaba", "amazon", "anthropic", "arcee-ai", "bfl", "bytedance", "cohere", "deepseek", "fish-audio", "google", "inception", "inclusionai", "interfaze", "klingai", "kwaipilot", "meta", "minimax", "mistral", "moonshotai", "morph", "nvidia", "openai", "perplexity", "poolside", "prodia", "quiverai", "recraft", "sakana", "stepfun", "tencent", "thinkingmachines", "voyage", "xai", "xiaomi", "zai"];
7
7
  export type VercelGatewayProvider = (typeof VERCEL_GATEWAY_PROVIDERS)[number];
@@ -75,9 +75,13 @@ export type VercelGatewayChatModelProviderOptionsByName = {
75
75
  'deepseek/deepseek-v4-pro': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
76
76
  'deepseek/deepseek-v4-pro-0813': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
77
77
  'fish-audio/s1': VercelGatewayCommonOptions;
78
+ 'fish-audio/s1-free': VercelGatewayCommonOptions;
78
79
  'fish-audio/s2-pro': VercelGatewayCommonOptions;
80
+ 'fish-audio/s2-pro-free': VercelGatewayCommonOptions;
79
81
  'fish-audio/s2.1-pro': VercelGatewayCommonOptions;
82
+ 'fish-audio/s2.1-pro-free': VercelGatewayCommonOptions;
80
83
  'fish-audio/transcribe-1': VercelGatewayCommonOptions;
84
+ 'fish-audio/transcribe-1-free': VercelGatewayCommonOptions;
81
85
  'google/gemini-2.5-flash': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
82
86
  'google/gemini-2.5-flash-image': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
83
87
  'google/gemini-2.5-flash-lite': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
@@ -252,8 +256,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
252
256
  'zai/glm-4.5-air': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
253
257
  'zai/glm-4.5v': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
254
258
  'zai/glm-4.6': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
255
- 'zai/glm-4.6v': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
256
- 'zai/glm-4.6v-flash': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
257
259
  'zai/glm-4.7': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
258
260
  'zai/glm-4.7-flash': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
259
261
  'zai/glm-4.7-flashx': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
@@ -292,7 +294,7 @@ export type VercelGatewayModelInputModalitiesByName = {
292
294
  'alibaba/qwen3.7-max': readonly ['text'];
293
295
  'alibaba/qwen3.7-plus': readonly ['text', 'image', 'document'];
294
296
  'alibaba/qwen3.8-2.4t-a95b': readonly ['text'];
295
- 'alibaba/qwen3.8-27b': readonly ['text', 'image'];
297
+ 'alibaba/qwen3.8-27b': readonly ['text', 'image', 'document', 'video'];
296
298
  'alibaba/qwen3.8-max': readonly ['text', 'image'];
297
299
  'amazon/nova-2-lite': readonly ['text', 'image', 'document'];
298
300
  'amazon/nova-lite': readonly ['text', 'image', 'document'];
@@ -329,9 +331,13 @@ export type VercelGatewayModelInputModalitiesByName = {
329
331
  'deepseek/deepseek-v4-pro': readonly ['text'];
330
332
  'deepseek/deepseek-v4-pro-0813': readonly ['text'];
331
333
  'fish-audio/s1': readonly ['text'];
334
+ 'fish-audio/s1-free': readonly ['text'];
332
335
  'fish-audio/s2-pro': readonly ['text'];
336
+ 'fish-audio/s2-pro-free': readonly ['text'];
333
337
  'fish-audio/s2.1-pro': readonly ['text'];
338
+ 'fish-audio/s2.1-pro-free': readonly ['text'];
334
339
  'fish-audio/transcribe-1': readonly ['text', 'audio'];
340
+ 'fish-audio/transcribe-1-free': readonly ['text', 'audio'];
335
341
  'google/gemini-2.5-flash': readonly ['text', 'image', 'document'];
336
342
  'google/gemini-2.5-flash-image': readonly ['text', 'image'];
337
343
  'google/gemini-2.5-flash-lite': readonly ['text', 'image', 'document'];
@@ -516,8 +522,6 @@ export type VercelGatewayModelInputModalitiesByName = {
516
522
  'zai/glm-4.5-air': readonly ['text'];
517
523
  'zai/glm-4.5v': readonly ['text', 'image'];
518
524
  'zai/glm-4.6': readonly ['text'];
519
- 'zai/glm-4.6v': readonly ['text', 'image', 'document'];
520
- 'zai/glm-4.6v-flash': readonly ['text', 'image', 'document'];
521
525
  'zai/glm-4.7': readonly ['text'];
522
526
  'zai/glm-4.7-flash': readonly ['text'];
523
527
  'zai/glm-4.7-flashx': readonly ['text'];
@@ -63,9 +63,13 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
63
63
  "deepseek/deepseek-v4-pro",
64
64
  "deepseek/deepseek-v4-pro-0813",
65
65
  "fish-audio/s1",
66
+ "fish-audio/s1-free",
66
67
  "fish-audio/s2-pro",
68
+ "fish-audio/s2-pro-free",
67
69
  "fish-audio/s2.1-pro",
70
+ "fish-audio/s2.1-pro-free",
68
71
  "fish-audio/transcribe-1",
72
+ "fish-audio/transcribe-1-free",
69
73
  "google/gemini-2.5-flash",
70
74
  "google/gemini-2.5-flash-image",
71
75
  "google/gemini-2.5-flash-lite",
@@ -240,8 +244,6 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
240
244
  "zai/glm-4.5-air",
241
245
  "zai/glm-4.5v",
242
246
  "zai/glm-4.6",
243
- "zai/glm-4.6v",
244
- "zai/glm-4.6v-flash",
245
247
  "zai/glm-4.7",
246
248
  "zai/glm-4.7-flash",
247
249
  "zai/glm-4.7-flashx",
@@ -1 +1 @@
1
- {"version":3,"file":"model-meta.js","names":[],"sources":["../../src/model-meta.ts"],"sourcesContent":["/**\n * This file is generated by scripts/convert-vercel-gateway-models.ts. Do not edit by hand.\n */\n\nimport type { VercelGatewayEmbeddingProviderOptions } from './embedding/embedding-provider-options'\nimport type {\n VercelGatewayImageProviderOptions,\n VercelGatewayImageSize,\n} from './image/image-provider-options'\nimport type {\n VercelGatewayBaseOptions,\n VercelGatewayCommonOptions,\n VercelGatewayTextProviderOptions,\n} from './text/text-provider-options'\n\nexport const VERCEL_GATEWAY_CHAT_MODELS = [\n 'alibaba/qwen-3-14b',\n 'alibaba/qwen-3-235b',\n 'alibaba/qwen-3-30b',\n 'alibaba/qwen-3-32b',\n 'alibaba/qwen-3.6-max-preview',\n 'alibaba/qwen3-235b-a22b-thinking',\n 'alibaba/qwen3-coder',\n 'alibaba/qwen3-coder-30b-a3b',\n 'alibaba/qwen3-coder-next',\n 'alibaba/qwen3-coder-plus',\n 'alibaba/qwen3-max',\n 'alibaba/qwen3-max-preview',\n 'alibaba/qwen3-max-thinking',\n 'alibaba/qwen3-next-80b-a3b-instruct',\n 'alibaba/qwen3-next-80b-a3b-thinking',\n 'alibaba/qwen3-vl-235b-a22b-instruct',\n 'alibaba/qwen3-vl-instruct',\n 'alibaba/qwen3-vl-thinking',\n 'alibaba/qwen3.5-flash',\n 'alibaba/qwen3.5-plus',\n 'alibaba/qwen3.6-27b',\n 'alibaba/qwen3.6-plus',\n 'alibaba/qwen3.7-flash',\n 'alibaba/qwen3.7-max',\n 'alibaba/qwen3.7-plus',\n 'alibaba/qwen3.8-2.4t-a95b',\n 'alibaba/qwen3.8-27b',\n 'alibaba/qwen3.8-max',\n 'amazon/nova-2-lite',\n 'amazon/nova-lite',\n 'amazon/nova-micro',\n 'amazon/nova-pro',\n 'anthropic/claude-3-haiku',\n 'anthropic/claude-fable-5',\n 'anthropic/claude-haiku-4.5',\n 'anthropic/claude-opus-4',\n 'anthropic/claude-opus-4.5',\n 'anthropic/claude-opus-4.6',\n 'anthropic/claude-opus-4.7',\n 'anthropic/claude-opus-4.8',\n 'anthropic/claude-opus-4.8-fast',\n 'anthropic/claude-opus-5',\n 'anthropic/claude-opus-5-fast',\n 'anthropic/claude-sonnet-4',\n 'anthropic/claude-sonnet-4.5',\n 'anthropic/claude-sonnet-4.6',\n 'anthropic/claude-sonnet-5',\n 'arcee-ai/trinity-large-thinking',\n 'arcee-ai/trinity-mini',\n 'bytedance/seed-1.6',\n 'bytedance/seed-1.8',\n 'cohere/command-a',\n 'deepseek/deepseek-r1',\n 'deepseek/deepseek-v3',\n 'deepseek/deepseek-v3.1',\n 'deepseek/deepseek-v3.1-terminus',\n 'deepseek/deepseek-v3.2',\n 'deepseek/deepseek-v3.2-thinking',\n 'deepseek/deepseek-v4-flash',\n 'deepseek/deepseek-v4-flash-0731',\n 'deepseek/deepseek-v4-pro',\n 'deepseek/deepseek-v4-pro-0813',\n 'fish-audio/s1',\n 'fish-audio/s2-pro',\n 'fish-audio/s2.1-pro',\n 'fish-audio/transcribe-1',\n 'google/gemini-2.5-flash',\n 'google/gemini-2.5-flash-image',\n 'google/gemini-2.5-flash-lite',\n 'google/gemini-2.5-pro',\n 'google/gemini-3-flash',\n 'google/gemini-3-pro-image',\n 'google/gemini-3.1-flash-image',\n 'google/gemini-3.1-flash-image-preview',\n 'google/gemini-3.1-flash-lite',\n 'google/gemini-3.1-flash-lite-image',\n 'google/gemini-3.1-pro-preview',\n 'google/gemini-3.5-flash',\n 'google/gemini-3.5-flash-lite',\n 'google/gemini-3.6-flash',\n 'google/gemini-3.7-flash',\n 'google/gemini-omni-flash-preview',\n 'google/gemma-4-26b-a4b-it',\n 'google/gemma-4-31b-it',\n 'inception/mercury-2',\n 'inception/mercury-coder-small',\n 'inclusionai/ling-3.0-flash',\n 'interfaze/interfaze-beta',\n 'kwaipilot/kat-coder-air-v2.5',\n 'kwaipilot/kat-coder-pro-v1',\n 'kwaipilot/kat-coder-pro-v2',\n 'kwaipilot/kat-coder-pro-v2.5',\n 'meta/llama-3.1-70b',\n 'meta/llama-3.1-8b',\n 'meta/llama-3.3-70b',\n 'meta/llama-4-maverick',\n 'meta/llama-4-scout',\n 'meta/muse-glimmer-30b',\n 'meta/muse-spark-1.1',\n 'meta/muse-spark-1.2',\n 'meta/muse-spark-1.2-contributor',\n 'minimax/minimax-m2',\n 'minimax/minimax-m2.1',\n 'minimax/minimax-m2.1-lightning',\n 'minimax/minimax-m2.5',\n 'minimax/minimax-m2.5-highspeed',\n 'minimax/minimax-m2.7',\n 'minimax/minimax-m2.7-highspeed',\n 'minimax/minimax-m3',\n 'mistral/codestral',\n 'mistral/devstral-2',\n 'mistral/devstral-small-2',\n 'mistral/magistral-medium',\n 'mistral/magistral-small',\n 'mistral/ministral-14b',\n 'mistral/ministral-3b',\n 'mistral/ministral-8b',\n 'mistral/mistral-large-3',\n 'mistral/mistral-medium',\n 'mistral/mistral-medium-3.5',\n 'mistral/mistral-nemo',\n 'mistral/mistral-small',\n 'mistral/pixtral-12b',\n 'moonshotai/kimi-k2',\n 'moonshotai/kimi-k2-thinking',\n 'moonshotai/kimi-k2.5',\n 'moonshotai/kimi-k2.6',\n 'moonshotai/kimi-k2.7-code',\n 'moonshotai/kimi-k2.7-code-highspeed',\n 'moonshotai/kimi-k3',\n 'moonshotai/kimi-k3-fast',\n 'morph/morph-v3-fast',\n 'morph/morph-v3-large',\n 'nvidia/nemotron-3-nano-30b-a3b',\n 'nvidia/nemotron-3-super-120b-a12b',\n 'nvidia/nemotron-3-ultra-550b-a55b',\n 'nvidia/nemotron-3.5-lightning',\n 'nvidia/nemotron-nano-12b-v2-vl',\n 'nvidia/nemotron-nano-9b-v2',\n 'openai/gpt-3.5-turbo',\n 'openai/gpt-4-turbo',\n 'openai/gpt-4.1',\n 'openai/gpt-4.1-fast',\n 'openai/gpt-4.1-mini',\n 'openai/gpt-4.1-mini-fast',\n 'openai/gpt-4.1-nano',\n 'openai/gpt-4.1-nano-fast',\n 'openai/gpt-4o',\n 'openai/gpt-4o-fast',\n 'openai/gpt-4o-mini',\n 'openai/gpt-4o-mini-fast',\n 'openai/gpt-4o-mini-search-preview',\n 'openai/gpt-4o-mini-transcribe',\n 'openai/gpt-4o-transcribe',\n 'openai/gpt-5',\n 'openai/gpt-5-codex',\n 'openai/gpt-5-fast',\n 'openai/gpt-5-mini',\n 'openai/gpt-5-mini-fast',\n 'openai/gpt-5-nano',\n 'openai/gpt-5-pro',\n 'openai/gpt-5.1-codex',\n 'openai/gpt-5.1-codex-max',\n 'openai/gpt-5.1-codex-mini',\n 'openai/gpt-5.1-thinking',\n 'openai/gpt-5.1-thinking-fast',\n 'openai/gpt-5.2',\n 'openai/gpt-5.2-codex',\n 'openai/gpt-5.2-fast',\n 'openai/gpt-5.2-pro',\n 'openai/gpt-5.3-codex',\n 'openai/gpt-5.3-codex-fast',\n 'openai/gpt-5.4',\n 'openai/gpt-5.4-fast',\n 'openai/gpt-5.4-mini',\n 'openai/gpt-5.4-mini-fast',\n 'openai/gpt-5.4-nano',\n 'openai/gpt-5.4-pro',\n 'openai/gpt-5.5',\n 'openai/gpt-5.5-fast',\n 'openai/gpt-5.5-pro',\n 'openai/gpt-5.6-luna',\n 'openai/gpt-5.6-luna-fast',\n 'openai/gpt-5.6-sol',\n 'openai/gpt-5.6-sol-fast',\n 'openai/gpt-5.6-terra',\n 'openai/gpt-5.6-terra-fast',\n 'openai/gpt-oss-120b',\n 'openai/gpt-oss-20b',\n 'openai/gpt-oss-safeguard-20b',\n 'openai/gpt-realtime-1.5',\n 'openai/gpt-realtime-2',\n 'openai/gpt-realtime-2.1',\n 'openai/gpt-realtime-mini',\n 'openai/gpt-realtime-whisper',\n 'openai/o1',\n 'openai/o3',\n 'openai/o3-deep-research',\n 'openai/o3-fast',\n 'openai/o3-mini',\n 'openai/o3-pro',\n 'openai/o4-mini',\n 'openai/o4-mini-fast',\n 'openai/tts-1',\n 'openai/tts-1-hd',\n 'openai/whisper-1',\n 'perplexity/sonar',\n 'perplexity/sonar-pro',\n 'perplexity/sonar-reasoning-pro',\n 'poolside/laguna-s-2.1',\n 'poolside/laguna-s-2.1-free',\n 'sakana/fugu-ultra',\n 'sakana/namazu',\n 'stepfun/step-3.5-flash',\n 'stepfun/step-3.7-flash',\n 'tencent/hy3',\n 'thinkingmachines/inkling',\n 'thinkingmachines/inkling-small',\n 'xai/grok-4.1-fast-non-reasoning',\n 'xai/grok-4.1-fast-reasoning',\n 'xai/grok-4.20-multi-agent',\n 'xai/grok-4.20-multi-agent-beta',\n 'xai/grok-4.20-non-reasoning',\n 'xai/grok-4.20-non-reasoning-beta',\n 'xai/grok-4.20-reasoning',\n 'xai/grok-4.20-reasoning-beta',\n 'xai/grok-4.3',\n 'xai/grok-4.5',\n 'xai/grok-4.6',\n 'xai/grok-build-0.1',\n 'xai/grok-stt',\n 'xai/grok-tts',\n 'xai/grok-voice-think-fast-1.0',\n 'xai/grok-voice-think-fast-2.0',\n 'xiaomi/mimo-v2.5',\n 'xiaomi/mimo-v2.5-pro',\n 'zai/glm-4.5',\n 'zai/glm-4.5-air',\n 'zai/glm-4.5v',\n 'zai/glm-4.6',\n 'zai/glm-4.6v',\n 'zai/glm-4.6v-flash',\n 'zai/glm-4.7',\n 'zai/glm-4.7-flash',\n 'zai/glm-4.7-flashx',\n 'zai/glm-5',\n 'zai/glm-5-turbo',\n 'zai/glm-5.1',\n 'zai/glm-5.2',\n 'zai/glm-5.2-fast',\n 'zai/glm-5.3',\n 'zai/glm-5v-turbo',\n] as const\n\nexport type VercelGatewayChatModel = (typeof VERCEL_GATEWAY_CHAT_MODELS)[number]\n\nexport const VERCEL_GATEWAY_PROVIDERS = [\n 'alibaba',\n 'amazon',\n 'anthropic',\n 'arcee-ai',\n 'bfl',\n 'bytedance',\n 'cohere',\n 'deepseek',\n 'fish-audio',\n 'google',\n 'inception',\n 'inclusionai',\n 'interfaze',\n 'klingai',\n 'kwaipilot',\n 'meta',\n 'minimax',\n 'mistral',\n 'moonshotai',\n 'morph',\n 'nvidia',\n 'openai',\n 'perplexity',\n 'poolside',\n 'prodia',\n 'quiverai',\n 'recraft',\n 'sakana',\n 'stepfun',\n 'tencent',\n 'thinkingmachines',\n 'voyage',\n 'xai',\n 'xiaomi',\n 'zai',\n] as const\n\nexport type VercelGatewayProvider = (typeof VERCEL_GATEWAY_PROVIDERS)[number]\n\nexport const VERCEL_GATEWAY_MODEL_TAGS = [\n 'explicit-caching',\n 'fast',\n 'file-input',\n 'free',\n 'image-generation',\n 'implicit-caching',\n 'reasoning',\n 'structured-output',\n 'tool-use',\n 'video-generation',\n 'video-input',\n 'vision',\n 'web-search',\n 'websocket-realtime',\n 'websocket-transcription',\n] as const\n\nexport type VercelGatewayModelTag = (typeof VERCEL_GATEWAY_MODEL_TAGS)[number]\n\nexport const VERCEL_GATEWAY_EMBEDDING_MODELS = [\n 'alibaba/qwen3-embedding-0.6b',\n 'alibaba/qwen3-embedding-4b',\n 'alibaba/qwen3-embedding-8b',\n 'amazon/titan-embed-text-v2',\n 'cohere/embed-v4.0',\n 'google/gemini-embedding-001',\n 'google/gemini-embedding-2',\n 'google/text-embedding-005',\n 'google/text-multilingual-embedding-002',\n 'mistral/codestral-embed',\n 'mistral/mistral-embed',\n 'openai/text-embedding-3-large',\n 'openai/text-embedding-3-small',\n 'openai/text-embedding-ada-002',\n 'perplexity/pplx-embed-v1-0.6b',\n 'perplexity/pplx-embed-v1-4b',\n 'voyage/voyage-3-large',\n 'voyage/voyage-3.5',\n 'voyage/voyage-3.5-lite',\n 'voyage/voyage-4',\n 'voyage/voyage-4-large',\n 'voyage/voyage-4-lite',\n 'voyage/voyage-code-2',\n 'voyage/voyage-code-3',\n 'voyage/voyage-finance-2',\n 'voyage/voyage-law-2',\n] as const\n\nexport type VercelGatewayEmbeddingModel =\n (typeof VERCEL_GATEWAY_EMBEDDING_MODELS)[number]\n\nexport const VERCEL_GATEWAY_IMAGE_MODELS = [\n 'bfl/flux-2-flex',\n 'bfl/flux-2-klein-4b',\n 'bfl/flux-2-klein-9b',\n 'bfl/flux-2-max',\n 'bfl/flux-2-pro',\n 'bfl/flux-kontext-max',\n 'bfl/flux-kontext-pro',\n 'bfl/flux-pro-1.0-fill',\n 'bfl/flux-pro-1.1',\n 'bfl/flux-pro-1.1-ultra',\n 'bytedance/seedream-4.0',\n 'bytedance/seedream-4.5',\n 'bytedance/seedream-5.0-lite',\n 'bytedance/seedream-5.0-pro',\n 'google/imagen-4.0-fast-generate-001',\n 'google/imagen-4.0-generate-001',\n 'google/imagen-4.0-ultra-generate-001',\n 'openai/gpt-image-1',\n 'openai/gpt-image-1-mini',\n 'openai/gpt-image-1.5',\n 'openai/gpt-image-2',\n 'prodia/flux-fast-schnell',\n 'quiverai/arrow-1.1',\n 'recraft/recraft-v2',\n 'recraft/recraft-v3',\n 'recraft/recraft-v4',\n 'recraft/recraft-v4-pro',\n 'recraft/recraft-v4.1',\n 'recraft/recraft-v4.1-pro',\n 'recraft/recraft-v4.1-utility',\n 'recraft/recraft-v4.1-utility-pro',\n 'xai/grok-imagine-image',\n 'xai/grok-imagine-image-2.0',\n] as const\n\nexport type VercelGatewayImageModel =\n (typeof VERCEL_GATEWAY_IMAGE_MODELS)[number]\n\nexport type VercelGatewayChatModelProviderOptionsByName = {\n 'alibaba/qwen-3-14b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen-3-235b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen-3-30b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen-3-32b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen-3.6-max-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3-235b-a22b-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3-coder': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-coder-30b-a3b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-coder-next': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-coder-plus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-max': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-max-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-max-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3-next-80b-a3b-instruct': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-next-80b-a3b-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3-vl-235b-a22b-instruct': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-vl-instruct': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-vl-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.5-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.5-plus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.6-27b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.6-plus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.7-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.7-max': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.7-plus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.8-2.4t-a95b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.8-27b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.8-max': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'amazon/nova-2-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'amazon/nova-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'amazon/nova-micro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'amazon/nova-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'anthropic/claude-3-haiku': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'anthropic/claude-fable-5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-haiku-4.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4.7': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4.8': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4.8-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-5-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-sonnet-4': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-sonnet-4.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-sonnet-4.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-sonnet-5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'arcee-ai/trinity-large-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'arcee-ai/trinity-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'bytedance/seed-1.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'bytedance/seed-1.8': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'cohere/command-a': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'deepseek/deepseek-r1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'deepseek/deepseek-v3.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v3.1-terminus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v3.2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'deepseek/deepseek-v3.2-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'deepseek/deepseek-v4-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v4-flash-0731': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v4-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v4-pro-0813': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'fish-audio/s1': VercelGatewayCommonOptions\n 'fish-audio/s2-pro': VercelGatewayCommonOptions\n 'fish-audio/s2.1-pro': VercelGatewayCommonOptions\n 'fish-audio/transcribe-1': VercelGatewayCommonOptions\n 'google/gemini-2.5-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-2.5-flash-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'google/gemini-2.5-flash-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-2.5-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3-pro-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'google/gemini-3.1-flash-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-flash-image-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-flash-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-flash-lite-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-pro-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.5-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.5-flash-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.6-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.7-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-omni-flash-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemma-4-26b-a4b-it': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemma-4-31b-it': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'inception/mercury-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'inception/mercury-coder-small': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'inclusionai/ling-3.0-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'interfaze/interfaze-beta': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'kwaipilot/kat-coder-air-v2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'kwaipilot/kat-coder-pro-v1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'kwaipilot/kat-coder-pro-v2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'kwaipilot/kat-coder-pro-v2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/llama-3.1-70b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-3.1-8b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-3.3-70b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-4-maverick': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-4-scout': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/muse-glimmer-30b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/muse-spark-1.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/muse-spark-1.2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/muse-spark-1.2-contributor': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.1-lightning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.5-highspeed': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.7': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.7-highspeed': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/codestral': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/devstral-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/devstral-small-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/magistral-medium': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/magistral-small': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/ministral-14b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/ministral-3b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/ministral-8b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-large-3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-medium': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-medium-3.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/mistral-nemo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-small': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/pixtral-12b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'moonshotai/kimi-k2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'moonshotai/kimi-k2-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.7-code': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.7-code-highspeed': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k3-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'morph/morph-v3-fast': VercelGatewayCommonOptions &\n Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop'>\n 'morph/morph-v3-large': VercelGatewayCommonOptions &\n Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop'>\n 'nvidia/nemotron-3-nano-30b-a3b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-3-super-120b-a12b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-3-ultra-550b-a55b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-3.5-lightning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-nano-12b-v2-vl': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-nano-9b-v2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-3.5-turbo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4-turbo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-nano': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-nano-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini-search-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini-transcribe': VercelGatewayCommonOptions\n 'openai/gpt-4o-transcribe': VercelGatewayCommonOptions\n 'openai/gpt-5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-nano': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-codex-max': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-codex-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-thinking-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.3-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.3-codex-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-nano': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.5-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.5-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-luna': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-luna-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-sol': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-sol-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-terra': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-terra-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-oss-120b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-oss-20b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-oss-safeguard-20b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-realtime-1.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-realtime-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-realtime-2.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-realtime-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-realtime-whisper': VercelGatewayCommonOptions\n 'openai/o1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-deep-research': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o4-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o4-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/tts-1': VercelGatewayCommonOptions\n 'openai/tts-1-hd': VercelGatewayCommonOptions\n 'openai/whisper-1': VercelGatewayCommonOptions\n 'perplexity/sonar': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'perplexity/sonar-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'perplexity/sonar-reasoning-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'poolside/laguna-s-2.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'poolside/laguna-s-2.1-free': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'sakana/fugu-ultra': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'sakana/namazu': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n | 'response_format'\n | 'structured_outputs'\n >\n 'stepfun/step-3.5-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'stepfun/step-3.7-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'tencent/hy3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'thinkingmachines/inkling': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'thinkingmachines/inkling-small': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.1-fast-non-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'xai/grok-4.1-fast-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.20-multi-agent': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.20-multi-agent-beta': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.20-non-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'xai/grok-4.20-non-reasoning-beta': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'xai/grok-4.20-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.20-reasoning-beta': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-build-0.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-stt': VercelGatewayCommonOptions\n 'xai/grok-tts': VercelGatewayCommonOptions\n 'xai/grok-voice-think-fast-1.0': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'xai/grok-voice-think-fast-2.0': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'xiaomi/mimo-v2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xiaomi/mimo-v2.5-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.5-air': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.5v': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.6v': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.6v-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.7': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.7-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.7-flashx': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5-turbo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5.2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5.2-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5.3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5v-turbo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n}\n\nexport type VercelGatewayModelInputModalitiesByName = {\n 'alibaba/qwen-3-14b': readonly ['text']\n 'alibaba/qwen-3-235b': readonly ['text']\n 'alibaba/qwen-3-30b': readonly ['text']\n 'alibaba/qwen-3-32b': readonly ['text']\n 'alibaba/qwen-3.6-max-preview': readonly ['text']\n 'alibaba/qwen3-235b-a22b-thinking': readonly ['text', 'image', 'document']\n 'alibaba/qwen3-coder': readonly ['text']\n 'alibaba/qwen3-coder-30b-a3b': readonly ['text']\n 'alibaba/qwen3-coder-next': readonly ['text']\n 'alibaba/qwen3-coder-plus': readonly ['text']\n 'alibaba/qwen3-max': readonly ['text']\n 'alibaba/qwen3-max-preview': readonly ['text']\n 'alibaba/qwen3-max-thinking': readonly ['text']\n 'alibaba/qwen3-next-80b-a3b-instruct': readonly ['text']\n 'alibaba/qwen3-next-80b-a3b-thinking': readonly ['text']\n 'alibaba/qwen3-vl-235b-a22b-instruct': readonly ['text', 'image']\n 'alibaba/qwen3-vl-instruct': readonly ['text', 'image']\n 'alibaba/qwen3-vl-thinking': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.5-flash': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.5-plus': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.6-27b': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.6-plus': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.7-flash': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.7-max': readonly ['text']\n 'alibaba/qwen3.7-plus': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.8-2.4t-a95b': readonly ['text']\n 'alibaba/qwen3.8-27b': readonly ['text', 'image']\n 'alibaba/qwen3.8-max': readonly ['text', 'image']\n 'amazon/nova-2-lite': readonly ['text', 'image', 'document']\n 'amazon/nova-lite': readonly ['text', 'image', 'document']\n 'amazon/nova-micro': readonly ['text']\n 'amazon/nova-pro': readonly ['text', 'image', 'document']\n 'anthropic/claude-3-haiku': readonly ['text', 'image']\n 'anthropic/claude-fable-5': readonly ['text', 'image', 'document']\n 'anthropic/claude-haiku-4.5': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4.5': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4.6': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4.7': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4.8': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4.8-fast': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-5': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-5-fast': readonly ['text', 'image', 'document']\n 'anthropic/claude-sonnet-4': readonly ['text', 'image', 'document']\n 'anthropic/claude-sonnet-4.5': readonly ['text', 'image', 'document']\n 'anthropic/claude-sonnet-4.6': readonly ['text', 'image', 'document']\n 'anthropic/claude-sonnet-5': readonly ['text', 'image', 'document']\n 'arcee-ai/trinity-large-thinking': readonly ['text']\n 'arcee-ai/trinity-mini': readonly ['text']\n 'bytedance/seed-1.6': readonly ['text', 'image']\n 'bytedance/seed-1.8': readonly ['text', 'image']\n 'cohere/command-a': readonly ['text']\n 'deepseek/deepseek-r1': readonly ['text']\n 'deepseek/deepseek-v3': readonly ['text']\n 'deepseek/deepseek-v3.1': readonly ['text']\n 'deepseek/deepseek-v3.1-terminus': readonly ['text']\n 'deepseek/deepseek-v3.2': readonly ['text']\n 'deepseek/deepseek-v3.2-thinking': readonly ['text']\n 'deepseek/deepseek-v4-flash': readonly ['text']\n 'deepseek/deepseek-v4-flash-0731': readonly ['text']\n 'deepseek/deepseek-v4-pro': readonly ['text']\n 'deepseek/deepseek-v4-pro-0813': readonly ['text']\n 'fish-audio/s1': readonly ['text']\n 'fish-audio/s2-pro': readonly ['text']\n 'fish-audio/s2.1-pro': readonly ['text']\n 'fish-audio/transcribe-1': readonly ['text', 'audio']\n 'google/gemini-2.5-flash': readonly ['text', 'image', 'document']\n 'google/gemini-2.5-flash-image': readonly ['text', 'image']\n 'google/gemini-2.5-flash-lite': readonly ['text', 'image', 'document']\n 'google/gemini-2.5-pro': readonly ['text', 'image', 'document']\n 'google/gemini-3-flash': readonly ['text', 'image', 'document']\n 'google/gemini-3-pro-image': readonly ['text', 'image']\n 'google/gemini-3.1-flash-image': readonly ['text', 'image']\n 'google/gemini-3.1-flash-image-preview': readonly ['text', 'image']\n 'google/gemini-3.1-flash-lite': readonly ['text', 'image', 'document']\n 'google/gemini-3.1-flash-lite-image': readonly ['text', 'image']\n 'google/gemini-3.1-pro-preview': readonly ['text', 'image', 'document']\n 'google/gemini-3.5-flash': readonly ['text', 'image', 'document', 'video']\n 'google/gemini-3.5-flash-lite': readonly [\n 'text',\n 'image',\n 'document',\n 'video',\n ]\n 'google/gemini-3.6-flash': readonly ['text', 'image', 'document', 'video']\n 'google/gemini-3.7-flash': readonly ['text', 'image', 'document', 'video']\n 'google/gemini-omni-flash-preview': readonly ['text', 'image', 'document']\n 'google/gemma-4-26b-a4b-it': readonly ['text', 'image', 'document']\n 'google/gemma-4-31b-it': readonly ['text', 'image', 'document']\n 'inception/mercury-2': readonly ['text']\n 'inception/mercury-coder-small': readonly ['text']\n 'inclusionai/ling-3.0-flash': readonly ['text']\n 'interfaze/interfaze-beta': readonly ['text', 'image', 'document']\n 'kwaipilot/kat-coder-air-v2.5': readonly ['text', 'image']\n 'kwaipilot/kat-coder-pro-v1': readonly ['text']\n 'kwaipilot/kat-coder-pro-v2': readonly ['text']\n 'kwaipilot/kat-coder-pro-v2.5': readonly ['text', 'image']\n 'meta/llama-3.1-70b': readonly ['text']\n 'meta/llama-3.1-8b': readonly ['text']\n 'meta/llama-3.3-70b': readonly ['text']\n 'meta/llama-4-maverick': readonly ['text', 'image']\n 'meta/llama-4-scout': readonly ['text', 'image']\n 'meta/muse-glimmer-30b': readonly ['text', 'image']\n 'meta/muse-spark-1.1': readonly ['text', 'image', 'document']\n 'meta/muse-spark-1.2': readonly ['text', 'image', 'document']\n 'meta/muse-spark-1.2-contributor': readonly ['text', 'image', 'document']\n 'minimax/minimax-m2': readonly ['text']\n 'minimax/minimax-m2.1': readonly ['text']\n 'minimax/minimax-m2.1-lightning': readonly ['text']\n 'minimax/minimax-m2.5': readonly ['text']\n 'minimax/minimax-m2.5-highspeed': readonly ['text']\n 'minimax/minimax-m2.7': readonly ['text']\n 'minimax/minimax-m2.7-highspeed': readonly ['text']\n 'minimax/minimax-m3': readonly ['text', 'image', 'document']\n 'mistral/codestral': readonly ['text']\n 'mistral/devstral-2': readonly ['text']\n 'mistral/devstral-small-2': readonly ['text', 'image']\n 'mistral/magistral-medium': readonly ['text', 'image']\n 'mistral/magistral-small': readonly ['text', 'image']\n 'mistral/ministral-14b': readonly ['text', 'image', 'document']\n 'mistral/ministral-3b': readonly ['text', 'image']\n 'mistral/ministral-8b': readonly ['text', 'image']\n 'mistral/mistral-large-3': readonly ['text', 'image']\n 'mistral/mistral-medium': readonly ['text', 'image']\n 'mistral/mistral-medium-3.5': readonly ['text', 'image']\n 'mistral/mistral-nemo': readonly ['text', 'image']\n 'mistral/mistral-small': readonly ['text', 'image']\n 'mistral/pixtral-12b': readonly ['text', 'image']\n 'moonshotai/kimi-k2': readonly ['text']\n 'moonshotai/kimi-k2-thinking': readonly ['text']\n 'moonshotai/kimi-k2.5': readonly ['text', 'image', 'video']\n 'moonshotai/kimi-k2.6': readonly ['text', 'image', 'video']\n 'moonshotai/kimi-k2.7-code': readonly ['text', 'image', 'document', 'video']\n 'moonshotai/kimi-k2.7-code-highspeed': readonly [\n 'text',\n 'image',\n 'document',\n 'video',\n ]\n 'moonshotai/kimi-k3': readonly ['text', 'image', 'document', 'video']\n 'moonshotai/kimi-k3-fast': readonly ['text', 'image', 'document']\n 'morph/morph-v3-fast': readonly ['text']\n 'morph/morph-v3-large': readonly ['text']\n 'nvidia/nemotron-3-nano-30b-a3b': readonly ['text']\n 'nvidia/nemotron-3-super-120b-a12b': readonly ['text']\n 'nvidia/nemotron-3-ultra-550b-a55b': readonly ['text']\n 'nvidia/nemotron-3.5-lightning': readonly ['text']\n 'nvidia/nemotron-nano-12b-v2-vl': readonly ['text', 'image']\n 'nvidia/nemotron-nano-9b-v2': readonly ['text']\n 'openai/gpt-3.5-turbo': readonly ['text']\n 'openai/gpt-4-turbo': readonly ['text', 'image']\n 'openai/gpt-4.1': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-nano': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-nano-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4o': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-mini-search-preview': readonly ['text']\n 'openai/gpt-4o-mini-transcribe': readonly ['text', 'audio']\n 'openai/gpt-4o-transcribe': readonly ['text', 'audio']\n 'openai/gpt-5': readonly ['text', 'image', 'document']\n 'openai/gpt-5-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-5-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5-nano': readonly ['text', 'image', 'document']\n 'openai/gpt-5-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-codex-max': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-codex-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-thinking': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-thinking-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.3-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5.3-codex-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-nano': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.5': readonly ['text', 'image', 'document']\n 'openai/gpt-5.5-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.5-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-luna': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-luna-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-sol': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-sol-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-terra': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-terra-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-oss-120b': readonly ['text']\n 'openai/gpt-oss-20b': readonly ['text']\n 'openai/gpt-oss-safeguard-20b': readonly ['text']\n 'openai/gpt-realtime-1.5': readonly ['text', 'audio']\n 'openai/gpt-realtime-2': readonly ['text', 'audio']\n 'openai/gpt-realtime-2.1': readonly ['text', 'audio']\n 'openai/gpt-realtime-mini': readonly ['text', 'audio']\n 'openai/gpt-realtime-whisper': readonly ['text', 'audio']\n 'openai/o1': readonly ['text', 'image', 'document']\n 'openai/o3': readonly ['text', 'image', 'document']\n 'openai/o3-deep-research': readonly ['text', 'image', 'document']\n 'openai/o3-fast': readonly ['text', 'image', 'document']\n 'openai/o3-mini': readonly ['text']\n 'openai/o3-pro': readonly ['text', 'image', 'document']\n 'openai/o4-mini': readonly ['text', 'image', 'document']\n 'openai/o4-mini-fast': readonly ['text', 'image', 'document']\n 'openai/tts-1': readonly ['text']\n 'openai/tts-1-hd': readonly ['text']\n 'openai/whisper-1': readonly ['text', 'audio']\n 'perplexity/sonar': readonly ['text', 'image']\n 'perplexity/sonar-pro': readonly ['text', 'image']\n 'perplexity/sonar-reasoning-pro': readonly ['text', 'image']\n 'poolside/laguna-s-2.1': readonly ['text']\n 'poolside/laguna-s-2.1-free': readonly ['text']\n 'sakana/fugu-ultra': readonly ['text', 'image']\n 'sakana/namazu': readonly ['text', 'image', 'document']\n 'stepfun/step-3.5-flash': readonly ['text', 'image']\n 'stepfun/step-3.7-flash': readonly ['text', 'image']\n 'tencent/hy3': readonly ['text']\n 'thinkingmachines/inkling': readonly ['text', 'image', 'document']\n 'thinkingmachines/inkling-small': readonly ['text', 'image', 'document']\n 'xai/grok-4.1-fast-non-reasoning': readonly ['text', 'image', 'document']\n 'xai/grok-4.1-fast-reasoning': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-multi-agent': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-multi-agent-beta': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-non-reasoning': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-non-reasoning-beta': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-reasoning': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-reasoning-beta': readonly ['text', 'image', 'document']\n 'xai/grok-4.3': readonly ['text', 'image', 'document']\n 'xai/grok-4.5': readonly ['text', 'image', 'document']\n 'xai/grok-4.6': readonly ['text', 'image']\n 'xai/grok-build-0.1': readonly ['text', 'image']\n 'xai/grok-stt': readonly ['text', 'audio']\n 'xai/grok-tts': readonly ['text']\n 'xai/grok-voice-think-fast-1.0': readonly ['text', 'audio']\n 'xai/grok-voice-think-fast-2.0': readonly ['text', 'audio']\n 'xiaomi/mimo-v2.5': readonly ['text', 'image']\n 'xiaomi/mimo-v2.5-pro': readonly ['text']\n 'zai/glm-4.5': readonly ['text']\n 'zai/glm-4.5-air': readonly ['text']\n 'zai/glm-4.5v': readonly ['text', 'image']\n 'zai/glm-4.6': readonly ['text']\n 'zai/glm-4.6v': readonly ['text', 'image', 'document']\n 'zai/glm-4.6v-flash': readonly ['text', 'image', 'document']\n 'zai/glm-4.7': readonly ['text']\n 'zai/glm-4.7-flash': readonly ['text']\n 'zai/glm-4.7-flashx': readonly ['text']\n 'zai/glm-5': readonly ['text']\n 'zai/glm-5-turbo': readonly ['text']\n 'zai/glm-5.1': readonly ['text']\n 'zai/glm-5.2': readonly ['text']\n 'zai/glm-5.2-fast': readonly ['text']\n 'zai/glm-5.3': readonly ['text']\n 'zai/glm-5v-turbo': readonly ['text', 'image', 'document']\n}\n\nexport type VercelGatewayChatModelToolCapabilitiesByName = {\n [K in VercelGatewayChatModel]: readonly []\n}\n\nexport type VercelGatewayEmbeddingModelProviderOptionsByName = {\n [K in VercelGatewayEmbeddingModel]: VercelGatewayEmbeddingProviderOptions\n}\n\nexport type VercelGatewayEmbeddingModelInputModalitiesByName = {\n [K in VercelGatewayEmbeddingModel]: readonly ['text']\n}\n\nexport type VercelGatewayImageModelProviderOptionsByName = {\n [K in VercelGatewayImageModel]: VercelGatewayImageProviderOptions\n}\n\nexport type VercelGatewayImageModelSizeByName = {\n [K in VercelGatewayImageModel]: VercelGatewayImageSize\n}\n\nexport type VercelGatewayImageModelInputModalitiesByName = {\n [K in VercelGatewayImageModel]: readonly []\n}\n\nexport type ResolveProviderOptions<TModel extends string> =\n TModel extends keyof VercelGatewayChatModelProviderOptionsByName\n ? VercelGatewayChatModelProviderOptionsByName[TModel]\n : TModel extends VercelGatewayEmbeddingModel\n ? VercelGatewayEmbeddingProviderOptions\n : TModel extends VercelGatewayImageModel\n ? VercelGatewayImageProviderOptions\n : VercelGatewayTextProviderOptions\n\nexport type ResolveInputModalities<TModel extends string> =\n TModel extends keyof VercelGatewayModelInputModalitiesByName\n ? VercelGatewayModelInputModalitiesByName[TModel]\n : readonly ['text']\n"],"mappings":";AAeA,IAAa,6BAA6B;CACxC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAIA,IAAa,2BAA2B;CACtC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAIA,IAAa,4BAA4B;CACvC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAIA,IAAa,kCAAkC;CAC7C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAKA,IAAa,8BAA8B;CACzC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"model-meta.js","names":[],"sources":["../../src/model-meta.ts"],"sourcesContent":["/**\n * This file is generated by scripts/convert-vercel-gateway-models.ts. Do not edit by hand.\n */\n\nimport type { VercelGatewayEmbeddingProviderOptions } from './embedding/embedding-provider-options'\nimport type {\n VercelGatewayImageProviderOptions,\n VercelGatewayImageSize,\n} from './image/image-provider-options'\nimport type {\n VercelGatewayBaseOptions,\n VercelGatewayCommonOptions,\n VercelGatewayTextProviderOptions,\n} from './text/text-provider-options'\n\nexport const VERCEL_GATEWAY_CHAT_MODELS = [\n 'alibaba/qwen-3-14b',\n 'alibaba/qwen-3-235b',\n 'alibaba/qwen-3-30b',\n 'alibaba/qwen-3-32b',\n 'alibaba/qwen-3.6-max-preview',\n 'alibaba/qwen3-235b-a22b-thinking',\n 'alibaba/qwen3-coder',\n 'alibaba/qwen3-coder-30b-a3b',\n 'alibaba/qwen3-coder-next',\n 'alibaba/qwen3-coder-plus',\n 'alibaba/qwen3-max',\n 'alibaba/qwen3-max-preview',\n 'alibaba/qwen3-max-thinking',\n 'alibaba/qwen3-next-80b-a3b-instruct',\n 'alibaba/qwen3-next-80b-a3b-thinking',\n 'alibaba/qwen3-vl-235b-a22b-instruct',\n 'alibaba/qwen3-vl-instruct',\n 'alibaba/qwen3-vl-thinking',\n 'alibaba/qwen3.5-flash',\n 'alibaba/qwen3.5-plus',\n 'alibaba/qwen3.6-27b',\n 'alibaba/qwen3.6-plus',\n 'alibaba/qwen3.7-flash',\n 'alibaba/qwen3.7-max',\n 'alibaba/qwen3.7-plus',\n 'alibaba/qwen3.8-2.4t-a95b',\n 'alibaba/qwen3.8-27b',\n 'alibaba/qwen3.8-max',\n 'amazon/nova-2-lite',\n 'amazon/nova-lite',\n 'amazon/nova-micro',\n 'amazon/nova-pro',\n 'anthropic/claude-3-haiku',\n 'anthropic/claude-fable-5',\n 'anthropic/claude-haiku-4.5',\n 'anthropic/claude-opus-4',\n 'anthropic/claude-opus-4.5',\n 'anthropic/claude-opus-4.6',\n 'anthropic/claude-opus-4.7',\n 'anthropic/claude-opus-4.8',\n 'anthropic/claude-opus-4.8-fast',\n 'anthropic/claude-opus-5',\n 'anthropic/claude-opus-5-fast',\n 'anthropic/claude-sonnet-4',\n 'anthropic/claude-sonnet-4.5',\n 'anthropic/claude-sonnet-4.6',\n 'anthropic/claude-sonnet-5',\n 'arcee-ai/trinity-large-thinking',\n 'arcee-ai/trinity-mini',\n 'bytedance/seed-1.6',\n 'bytedance/seed-1.8',\n 'cohere/command-a',\n 'deepseek/deepseek-r1',\n 'deepseek/deepseek-v3',\n 'deepseek/deepseek-v3.1',\n 'deepseek/deepseek-v3.1-terminus',\n 'deepseek/deepseek-v3.2',\n 'deepseek/deepseek-v3.2-thinking',\n 'deepseek/deepseek-v4-flash',\n 'deepseek/deepseek-v4-flash-0731',\n 'deepseek/deepseek-v4-pro',\n 'deepseek/deepseek-v4-pro-0813',\n 'fish-audio/s1',\n 'fish-audio/s1-free',\n 'fish-audio/s2-pro',\n 'fish-audio/s2-pro-free',\n 'fish-audio/s2.1-pro',\n 'fish-audio/s2.1-pro-free',\n 'fish-audio/transcribe-1',\n 'fish-audio/transcribe-1-free',\n 'google/gemini-2.5-flash',\n 'google/gemini-2.5-flash-image',\n 'google/gemini-2.5-flash-lite',\n 'google/gemini-2.5-pro',\n 'google/gemini-3-flash',\n 'google/gemini-3-pro-image',\n 'google/gemini-3.1-flash-image',\n 'google/gemini-3.1-flash-image-preview',\n 'google/gemini-3.1-flash-lite',\n 'google/gemini-3.1-flash-lite-image',\n 'google/gemini-3.1-pro-preview',\n 'google/gemini-3.5-flash',\n 'google/gemini-3.5-flash-lite',\n 'google/gemini-3.6-flash',\n 'google/gemini-3.7-flash',\n 'google/gemini-omni-flash-preview',\n 'google/gemma-4-26b-a4b-it',\n 'google/gemma-4-31b-it',\n 'inception/mercury-2',\n 'inception/mercury-coder-small',\n 'inclusionai/ling-3.0-flash',\n 'interfaze/interfaze-beta',\n 'kwaipilot/kat-coder-air-v2.5',\n 'kwaipilot/kat-coder-pro-v1',\n 'kwaipilot/kat-coder-pro-v2',\n 'kwaipilot/kat-coder-pro-v2.5',\n 'meta/llama-3.1-70b',\n 'meta/llama-3.1-8b',\n 'meta/llama-3.3-70b',\n 'meta/llama-4-maverick',\n 'meta/llama-4-scout',\n 'meta/muse-glimmer-30b',\n 'meta/muse-spark-1.1',\n 'meta/muse-spark-1.2',\n 'meta/muse-spark-1.2-contributor',\n 'minimax/minimax-m2',\n 'minimax/minimax-m2.1',\n 'minimax/minimax-m2.1-lightning',\n 'minimax/minimax-m2.5',\n 'minimax/minimax-m2.5-highspeed',\n 'minimax/minimax-m2.7',\n 'minimax/minimax-m2.7-highspeed',\n 'minimax/minimax-m3',\n 'mistral/codestral',\n 'mistral/devstral-2',\n 'mistral/devstral-small-2',\n 'mistral/magistral-medium',\n 'mistral/magistral-small',\n 'mistral/ministral-14b',\n 'mistral/ministral-3b',\n 'mistral/ministral-8b',\n 'mistral/mistral-large-3',\n 'mistral/mistral-medium',\n 'mistral/mistral-medium-3.5',\n 'mistral/mistral-nemo',\n 'mistral/mistral-small',\n 'mistral/pixtral-12b',\n 'moonshotai/kimi-k2',\n 'moonshotai/kimi-k2-thinking',\n 'moonshotai/kimi-k2.5',\n 'moonshotai/kimi-k2.6',\n 'moonshotai/kimi-k2.7-code',\n 'moonshotai/kimi-k2.7-code-highspeed',\n 'moonshotai/kimi-k3',\n 'moonshotai/kimi-k3-fast',\n 'morph/morph-v3-fast',\n 'morph/morph-v3-large',\n 'nvidia/nemotron-3-nano-30b-a3b',\n 'nvidia/nemotron-3-super-120b-a12b',\n 'nvidia/nemotron-3-ultra-550b-a55b',\n 'nvidia/nemotron-3.5-lightning',\n 'nvidia/nemotron-nano-12b-v2-vl',\n 'nvidia/nemotron-nano-9b-v2',\n 'openai/gpt-3.5-turbo',\n 'openai/gpt-4-turbo',\n 'openai/gpt-4.1',\n 'openai/gpt-4.1-fast',\n 'openai/gpt-4.1-mini',\n 'openai/gpt-4.1-mini-fast',\n 'openai/gpt-4.1-nano',\n 'openai/gpt-4.1-nano-fast',\n 'openai/gpt-4o',\n 'openai/gpt-4o-fast',\n 'openai/gpt-4o-mini',\n 'openai/gpt-4o-mini-fast',\n 'openai/gpt-4o-mini-search-preview',\n 'openai/gpt-4o-mini-transcribe',\n 'openai/gpt-4o-transcribe',\n 'openai/gpt-5',\n 'openai/gpt-5-codex',\n 'openai/gpt-5-fast',\n 'openai/gpt-5-mini',\n 'openai/gpt-5-mini-fast',\n 'openai/gpt-5-nano',\n 'openai/gpt-5-pro',\n 'openai/gpt-5.1-codex',\n 'openai/gpt-5.1-codex-max',\n 'openai/gpt-5.1-codex-mini',\n 'openai/gpt-5.1-thinking',\n 'openai/gpt-5.1-thinking-fast',\n 'openai/gpt-5.2',\n 'openai/gpt-5.2-codex',\n 'openai/gpt-5.2-fast',\n 'openai/gpt-5.2-pro',\n 'openai/gpt-5.3-codex',\n 'openai/gpt-5.3-codex-fast',\n 'openai/gpt-5.4',\n 'openai/gpt-5.4-fast',\n 'openai/gpt-5.4-mini',\n 'openai/gpt-5.4-mini-fast',\n 'openai/gpt-5.4-nano',\n 'openai/gpt-5.4-pro',\n 'openai/gpt-5.5',\n 'openai/gpt-5.5-fast',\n 'openai/gpt-5.5-pro',\n 'openai/gpt-5.6-luna',\n 'openai/gpt-5.6-luna-fast',\n 'openai/gpt-5.6-sol',\n 'openai/gpt-5.6-sol-fast',\n 'openai/gpt-5.6-terra',\n 'openai/gpt-5.6-terra-fast',\n 'openai/gpt-oss-120b',\n 'openai/gpt-oss-20b',\n 'openai/gpt-oss-safeguard-20b',\n 'openai/gpt-realtime-1.5',\n 'openai/gpt-realtime-2',\n 'openai/gpt-realtime-2.1',\n 'openai/gpt-realtime-mini',\n 'openai/gpt-realtime-whisper',\n 'openai/o1',\n 'openai/o3',\n 'openai/o3-deep-research',\n 'openai/o3-fast',\n 'openai/o3-mini',\n 'openai/o3-pro',\n 'openai/o4-mini',\n 'openai/o4-mini-fast',\n 'openai/tts-1',\n 'openai/tts-1-hd',\n 'openai/whisper-1',\n 'perplexity/sonar',\n 'perplexity/sonar-pro',\n 'perplexity/sonar-reasoning-pro',\n 'poolside/laguna-s-2.1',\n 'poolside/laguna-s-2.1-free',\n 'sakana/fugu-ultra',\n 'sakana/namazu',\n 'stepfun/step-3.5-flash',\n 'stepfun/step-3.7-flash',\n 'tencent/hy3',\n 'thinkingmachines/inkling',\n 'thinkingmachines/inkling-small',\n 'xai/grok-4.1-fast-non-reasoning',\n 'xai/grok-4.1-fast-reasoning',\n 'xai/grok-4.20-multi-agent',\n 'xai/grok-4.20-multi-agent-beta',\n 'xai/grok-4.20-non-reasoning',\n 'xai/grok-4.20-non-reasoning-beta',\n 'xai/grok-4.20-reasoning',\n 'xai/grok-4.20-reasoning-beta',\n 'xai/grok-4.3',\n 'xai/grok-4.5',\n 'xai/grok-4.6',\n 'xai/grok-build-0.1',\n 'xai/grok-stt',\n 'xai/grok-tts',\n 'xai/grok-voice-think-fast-1.0',\n 'xai/grok-voice-think-fast-2.0',\n 'xiaomi/mimo-v2.5',\n 'xiaomi/mimo-v2.5-pro',\n 'zai/glm-4.5',\n 'zai/glm-4.5-air',\n 'zai/glm-4.5v',\n 'zai/glm-4.6',\n 'zai/glm-4.7',\n 'zai/glm-4.7-flash',\n 'zai/glm-4.7-flashx',\n 'zai/glm-5',\n 'zai/glm-5-turbo',\n 'zai/glm-5.1',\n 'zai/glm-5.2',\n 'zai/glm-5.2-fast',\n 'zai/glm-5.3',\n 'zai/glm-5v-turbo',\n] as const\n\nexport type VercelGatewayChatModel = (typeof VERCEL_GATEWAY_CHAT_MODELS)[number]\n\nexport const VERCEL_GATEWAY_PROVIDERS = [\n 'alibaba',\n 'amazon',\n 'anthropic',\n 'arcee-ai',\n 'bfl',\n 'bytedance',\n 'cohere',\n 'deepseek',\n 'fish-audio',\n 'google',\n 'inception',\n 'inclusionai',\n 'interfaze',\n 'klingai',\n 'kwaipilot',\n 'meta',\n 'minimax',\n 'mistral',\n 'moonshotai',\n 'morph',\n 'nvidia',\n 'openai',\n 'perplexity',\n 'poolside',\n 'prodia',\n 'quiverai',\n 'recraft',\n 'sakana',\n 'stepfun',\n 'tencent',\n 'thinkingmachines',\n 'voyage',\n 'xai',\n 'xiaomi',\n 'zai',\n] as const\n\nexport type VercelGatewayProvider = (typeof VERCEL_GATEWAY_PROVIDERS)[number]\n\nexport const VERCEL_GATEWAY_MODEL_TAGS = [\n 'explicit-caching',\n 'fast',\n 'file-input',\n 'free',\n 'image-generation',\n 'implicit-caching',\n 'reasoning',\n 'structured-output',\n 'tool-use',\n 'video-generation',\n 'video-input',\n 'vision',\n 'web-search',\n 'websocket-realtime',\n 'websocket-transcription',\n] as const\n\nexport type VercelGatewayModelTag = (typeof VERCEL_GATEWAY_MODEL_TAGS)[number]\n\nexport const VERCEL_GATEWAY_EMBEDDING_MODELS = [\n 'alibaba/qwen3-embedding-0.6b',\n 'alibaba/qwen3-embedding-4b',\n 'alibaba/qwen3-embedding-8b',\n 'amazon/titan-embed-text-v2',\n 'cohere/embed-v4.0',\n 'google/gemini-embedding-001',\n 'google/gemini-embedding-2',\n 'google/text-embedding-005',\n 'google/text-multilingual-embedding-002',\n 'mistral/codestral-embed',\n 'mistral/mistral-embed',\n 'openai/text-embedding-3-large',\n 'openai/text-embedding-3-small',\n 'openai/text-embedding-ada-002',\n 'perplexity/pplx-embed-v1-0.6b',\n 'perplexity/pplx-embed-v1-4b',\n 'voyage/voyage-3-large',\n 'voyage/voyage-3.5',\n 'voyage/voyage-3.5-lite',\n 'voyage/voyage-4',\n 'voyage/voyage-4-large',\n 'voyage/voyage-4-lite',\n 'voyage/voyage-code-2',\n 'voyage/voyage-code-3',\n 'voyage/voyage-finance-2',\n 'voyage/voyage-law-2',\n] as const\n\nexport type VercelGatewayEmbeddingModel =\n (typeof VERCEL_GATEWAY_EMBEDDING_MODELS)[number]\n\nexport const VERCEL_GATEWAY_IMAGE_MODELS = [\n 'bfl/flux-2-flex',\n 'bfl/flux-2-klein-4b',\n 'bfl/flux-2-klein-9b',\n 'bfl/flux-2-max',\n 'bfl/flux-2-pro',\n 'bfl/flux-kontext-max',\n 'bfl/flux-kontext-pro',\n 'bfl/flux-pro-1.0-fill',\n 'bfl/flux-pro-1.1',\n 'bfl/flux-pro-1.1-ultra',\n 'bytedance/seedream-4.0',\n 'bytedance/seedream-4.5',\n 'bytedance/seedream-5.0-lite',\n 'bytedance/seedream-5.0-pro',\n 'google/imagen-4.0-fast-generate-001',\n 'google/imagen-4.0-generate-001',\n 'google/imagen-4.0-ultra-generate-001',\n 'openai/gpt-image-1',\n 'openai/gpt-image-1-mini',\n 'openai/gpt-image-1.5',\n 'openai/gpt-image-2',\n 'prodia/flux-fast-schnell',\n 'quiverai/arrow-1.1',\n 'recraft/recraft-v2',\n 'recraft/recraft-v3',\n 'recraft/recraft-v4',\n 'recraft/recraft-v4-pro',\n 'recraft/recraft-v4.1',\n 'recraft/recraft-v4.1-pro',\n 'recraft/recraft-v4.1-utility',\n 'recraft/recraft-v4.1-utility-pro',\n 'xai/grok-imagine-image',\n 'xai/grok-imagine-image-2.0',\n] as const\n\nexport type VercelGatewayImageModel =\n (typeof VERCEL_GATEWAY_IMAGE_MODELS)[number]\n\nexport type VercelGatewayChatModelProviderOptionsByName = {\n 'alibaba/qwen-3-14b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen-3-235b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen-3-30b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen-3-32b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen-3.6-max-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3-235b-a22b-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3-coder': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-coder-30b-a3b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-coder-next': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-coder-plus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-max': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-max-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-max-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3-next-80b-a3b-instruct': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-next-80b-a3b-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3-vl-235b-a22b-instruct': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-vl-instruct': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'alibaba/qwen3-vl-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.5-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.5-plus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.6-27b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.6-plus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.7-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.7-max': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.7-plus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.8-2.4t-a95b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.8-27b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'alibaba/qwen3.8-max': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'amazon/nova-2-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'amazon/nova-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'amazon/nova-micro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'amazon/nova-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'anthropic/claude-3-haiku': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'anthropic/claude-fable-5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-haiku-4.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4.7': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4.8': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-4.8-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-opus-5-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-sonnet-4': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-sonnet-4.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-sonnet-4.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'anthropic/claude-sonnet-5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'arcee-ai/trinity-large-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'arcee-ai/trinity-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'bytedance/seed-1.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'bytedance/seed-1.8': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'cohere/command-a': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'deepseek/deepseek-r1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'deepseek/deepseek-v3.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v3.1-terminus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v3.2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'deepseek/deepseek-v3.2-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'deepseek/deepseek-v4-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v4-flash-0731': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v4-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v4-pro-0813': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'fish-audio/s1': VercelGatewayCommonOptions\n 'fish-audio/s1-free': VercelGatewayCommonOptions\n 'fish-audio/s2-pro': VercelGatewayCommonOptions\n 'fish-audio/s2-pro-free': VercelGatewayCommonOptions\n 'fish-audio/s2.1-pro': VercelGatewayCommonOptions\n 'fish-audio/s2.1-pro-free': VercelGatewayCommonOptions\n 'fish-audio/transcribe-1': VercelGatewayCommonOptions\n 'fish-audio/transcribe-1-free': VercelGatewayCommonOptions\n 'google/gemini-2.5-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-2.5-flash-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'google/gemini-2.5-flash-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-2.5-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3-pro-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'google/gemini-3.1-flash-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-flash-image-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-flash-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-flash-lite-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-pro-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.5-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.5-flash-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.6-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.7-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-omni-flash-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemma-4-26b-a4b-it': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemma-4-31b-it': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'inception/mercury-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'inception/mercury-coder-small': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'inclusionai/ling-3.0-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'interfaze/interfaze-beta': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'kwaipilot/kat-coder-air-v2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'kwaipilot/kat-coder-pro-v1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'kwaipilot/kat-coder-pro-v2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'kwaipilot/kat-coder-pro-v2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/llama-3.1-70b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-3.1-8b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-3.3-70b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-4-maverick': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-4-scout': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/muse-glimmer-30b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/muse-spark-1.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/muse-spark-1.2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/muse-spark-1.2-contributor': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.1-lightning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.5-highspeed': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.7': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.7-highspeed': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/codestral': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/devstral-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/devstral-small-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/magistral-medium': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/magistral-small': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/ministral-14b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/ministral-3b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/ministral-8b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-large-3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-medium': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-medium-3.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/mistral-nemo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-small': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/pixtral-12b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'moonshotai/kimi-k2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'moonshotai/kimi-k2-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.7-code': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.7-code-highspeed': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k3-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'morph/morph-v3-fast': VercelGatewayCommonOptions &\n Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop'>\n 'morph/morph-v3-large': VercelGatewayCommonOptions &\n Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop'>\n 'nvidia/nemotron-3-nano-30b-a3b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-3-super-120b-a12b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-3-ultra-550b-a55b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-3.5-lightning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-nano-12b-v2-vl': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-nano-9b-v2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-3.5-turbo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4-turbo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-nano': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-nano-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini-search-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini-transcribe': VercelGatewayCommonOptions\n 'openai/gpt-4o-transcribe': VercelGatewayCommonOptions\n 'openai/gpt-5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-nano': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-codex-max': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-codex-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-thinking-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.3-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.3-codex-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-nano': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.5-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.5-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-luna': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-luna-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-sol': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-sol-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-terra': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-terra-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-oss-120b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-oss-20b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-oss-safeguard-20b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-realtime-1.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-realtime-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-realtime-2.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-realtime-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-realtime-whisper': VercelGatewayCommonOptions\n 'openai/o1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-deep-research': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o4-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o4-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/tts-1': VercelGatewayCommonOptions\n 'openai/tts-1-hd': VercelGatewayCommonOptions\n 'openai/whisper-1': VercelGatewayCommonOptions\n 'perplexity/sonar': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'perplexity/sonar-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'perplexity/sonar-reasoning-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'poolside/laguna-s-2.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'poolside/laguna-s-2.1-free': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'sakana/fugu-ultra': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'sakana/namazu': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n | 'response_format'\n | 'structured_outputs'\n >\n 'stepfun/step-3.5-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'stepfun/step-3.7-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'tencent/hy3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'thinkingmachines/inkling': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'thinkingmachines/inkling-small': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.1-fast-non-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'xai/grok-4.1-fast-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.20-multi-agent': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.20-multi-agent-beta': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.20-non-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'xai/grok-4.20-non-reasoning-beta': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'xai/grok-4.20-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.20-reasoning-beta': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-4.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-build-0.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xai/grok-stt': VercelGatewayCommonOptions\n 'xai/grok-tts': VercelGatewayCommonOptions\n 'xai/grok-voice-think-fast-1.0': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'xai/grok-voice-think-fast-2.0': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'xiaomi/mimo-v2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'xiaomi/mimo-v2.5-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.5-air': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.5v': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.7': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.7-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-4.7-flashx': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5-turbo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5.2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5.2-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5.3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'zai/glm-5v-turbo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n}\n\nexport type VercelGatewayModelInputModalitiesByName = {\n 'alibaba/qwen-3-14b': readonly ['text']\n 'alibaba/qwen-3-235b': readonly ['text']\n 'alibaba/qwen-3-30b': readonly ['text']\n 'alibaba/qwen-3-32b': readonly ['text']\n 'alibaba/qwen-3.6-max-preview': readonly ['text']\n 'alibaba/qwen3-235b-a22b-thinking': readonly ['text', 'image', 'document']\n 'alibaba/qwen3-coder': readonly ['text']\n 'alibaba/qwen3-coder-30b-a3b': readonly ['text']\n 'alibaba/qwen3-coder-next': readonly ['text']\n 'alibaba/qwen3-coder-plus': readonly ['text']\n 'alibaba/qwen3-max': readonly ['text']\n 'alibaba/qwen3-max-preview': readonly ['text']\n 'alibaba/qwen3-max-thinking': readonly ['text']\n 'alibaba/qwen3-next-80b-a3b-instruct': readonly ['text']\n 'alibaba/qwen3-next-80b-a3b-thinking': readonly ['text']\n 'alibaba/qwen3-vl-235b-a22b-instruct': readonly ['text', 'image']\n 'alibaba/qwen3-vl-instruct': readonly ['text', 'image']\n 'alibaba/qwen3-vl-thinking': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.5-flash': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.5-plus': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.6-27b': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.6-plus': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.7-flash': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.7-max': readonly ['text']\n 'alibaba/qwen3.7-plus': readonly ['text', 'image', 'document']\n 'alibaba/qwen3.8-2.4t-a95b': readonly ['text']\n 'alibaba/qwen3.8-27b': readonly ['text', 'image', 'document', 'video']\n 'alibaba/qwen3.8-max': readonly ['text', 'image']\n 'amazon/nova-2-lite': readonly ['text', 'image', 'document']\n 'amazon/nova-lite': readonly ['text', 'image', 'document']\n 'amazon/nova-micro': readonly ['text']\n 'amazon/nova-pro': readonly ['text', 'image', 'document']\n 'anthropic/claude-3-haiku': readonly ['text', 'image']\n 'anthropic/claude-fable-5': readonly ['text', 'image', 'document']\n 'anthropic/claude-haiku-4.5': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4.5': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4.6': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4.7': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4.8': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-4.8-fast': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-5': readonly ['text', 'image', 'document']\n 'anthropic/claude-opus-5-fast': readonly ['text', 'image', 'document']\n 'anthropic/claude-sonnet-4': readonly ['text', 'image', 'document']\n 'anthropic/claude-sonnet-4.5': readonly ['text', 'image', 'document']\n 'anthropic/claude-sonnet-4.6': readonly ['text', 'image', 'document']\n 'anthropic/claude-sonnet-5': readonly ['text', 'image', 'document']\n 'arcee-ai/trinity-large-thinking': readonly ['text']\n 'arcee-ai/trinity-mini': readonly ['text']\n 'bytedance/seed-1.6': readonly ['text', 'image']\n 'bytedance/seed-1.8': readonly ['text', 'image']\n 'cohere/command-a': readonly ['text']\n 'deepseek/deepseek-r1': readonly ['text']\n 'deepseek/deepseek-v3': readonly ['text']\n 'deepseek/deepseek-v3.1': readonly ['text']\n 'deepseek/deepseek-v3.1-terminus': readonly ['text']\n 'deepseek/deepseek-v3.2': readonly ['text']\n 'deepseek/deepseek-v3.2-thinking': readonly ['text']\n 'deepseek/deepseek-v4-flash': readonly ['text']\n 'deepseek/deepseek-v4-flash-0731': readonly ['text']\n 'deepseek/deepseek-v4-pro': readonly ['text']\n 'deepseek/deepseek-v4-pro-0813': readonly ['text']\n 'fish-audio/s1': readonly ['text']\n 'fish-audio/s1-free': readonly ['text']\n 'fish-audio/s2-pro': readonly ['text']\n 'fish-audio/s2-pro-free': readonly ['text']\n 'fish-audio/s2.1-pro': readonly ['text']\n 'fish-audio/s2.1-pro-free': readonly ['text']\n 'fish-audio/transcribe-1': readonly ['text', 'audio']\n 'fish-audio/transcribe-1-free': readonly ['text', 'audio']\n 'google/gemini-2.5-flash': readonly ['text', 'image', 'document']\n 'google/gemini-2.5-flash-image': readonly ['text', 'image']\n 'google/gemini-2.5-flash-lite': readonly ['text', 'image', 'document']\n 'google/gemini-2.5-pro': readonly ['text', 'image', 'document']\n 'google/gemini-3-flash': readonly ['text', 'image', 'document']\n 'google/gemini-3-pro-image': readonly ['text', 'image']\n 'google/gemini-3.1-flash-image': readonly ['text', 'image']\n 'google/gemini-3.1-flash-image-preview': readonly ['text', 'image']\n 'google/gemini-3.1-flash-lite': readonly ['text', 'image', 'document']\n 'google/gemini-3.1-flash-lite-image': readonly ['text', 'image']\n 'google/gemini-3.1-pro-preview': readonly ['text', 'image', 'document']\n 'google/gemini-3.5-flash': readonly ['text', 'image', 'document', 'video']\n 'google/gemini-3.5-flash-lite': readonly [\n 'text',\n 'image',\n 'document',\n 'video',\n ]\n 'google/gemini-3.6-flash': readonly ['text', 'image', 'document', 'video']\n 'google/gemini-3.7-flash': readonly ['text', 'image', 'document', 'video']\n 'google/gemini-omni-flash-preview': readonly ['text', 'image', 'document']\n 'google/gemma-4-26b-a4b-it': readonly ['text', 'image', 'document']\n 'google/gemma-4-31b-it': readonly ['text', 'image', 'document']\n 'inception/mercury-2': readonly ['text']\n 'inception/mercury-coder-small': readonly ['text']\n 'inclusionai/ling-3.0-flash': readonly ['text']\n 'interfaze/interfaze-beta': readonly ['text', 'image', 'document']\n 'kwaipilot/kat-coder-air-v2.5': readonly ['text', 'image']\n 'kwaipilot/kat-coder-pro-v1': readonly ['text']\n 'kwaipilot/kat-coder-pro-v2': readonly ['text']\n 'kwaipilot/kat-coder-pro-v2.5': readonly ['text', 'image']\n 'meta/llama-3.1-70b': readonly ['text']\n 'meta/llama-3.1-8b': readonly ['text']\n 'meta/llama-3.3-70b': readonly ['text']\n 'meta/llama-4-maverick': readonly ['text', 'image']\n 'meta/llama-4-scout': readonly ['text', 'image']\n 'meta/muse-glimmer-30b': readonly ['text', 'image']\n 'meta/muse-spark-1.1': readonly ['text', 'image', 'document']\n 'meta/muse-spark-1.2': readonly ['text', 'image', 'document']\n 'meta/muse-spark-1.2-contributor': readonly ['text', 'image', 'document']\n 'minimax/minimax-m2': readonly ['text']\n 'minimax/minimax-m2.1': readonly ['text']\n 'minimax/minimax-m2.1-lightning': readonly ['text']\n 'minimax/minimax-m2.5': readonly ['text']\n 'minimax/minimax-m2.5-highspeed': readonly ['text']\n 'minimax/minimax-m2.7': readonly ['text']\n 'minimax/minimax-m2.7-highspeed': readonly ['text']\n 'minimax/minimax-m3': readonly ['text', 'image', 'document']\n 'mistral/codestral': readonly ['text']\n 'mistral/devstral-2': readonly ['text']\n 'mistral/devstral-small-2': readonly ['text', 'image']\n 'mistral/magistral-medium': readonly ['text', 'image']\n 'mistral/magistral-small': readonly ['text', 'image']\n 'mistral/ministral-14b': readonly ['text', 'image', 'document']\n 'mistral/ministral-3b': readonly ['text', 'image']\n 'mistral/ministral-8b': readonly ['text', 'image']\n 'mistral/mistral-large-3': readonly ['text', 'image']\n 'mistral/mistral-medium': readonly ['text', 'image']\n 'mistral/mistral-medium-3.5': readonly ['text', 'image']\n 'mistral/mistral-nemo': readonly ['text', 'image']\n 'mistral/mistral-small': readonly ['text', 'image']\n 'mistral/pixtral-12b': readonly ['text', 'image']\n 'moonshotai/kimi-k2': readonly ['text']\n 'moonshotai/kimi-k2-thinking': readonly ['text']\n 'moonshotai/kimi-k2.5': readonly ['text', 'image', 'video']\n 'moonshotai/kimi-k2.6': readonly ['text', 'image', 'video']\n 'moonshotai/kimi-k2.7-code': readonly ['text', 'image', 'document', 'video']\n 'moonshotai/kimi-k2.7-code-highspeed': readonly [\n 'text',\n 'image',\n 'document',\n 'video',\n ]\n 'moonshotai/kimi-k3': readonly ['text', 'image', 'document', 'video']\n 'moonshotai/kimi-k3-fast': readonly ['text', 'image', 'document']\n 'morph/morph-v3-fast': readonly ['text']\n 'morph/morph-v3-large': readonly ['text']\n 'nvidia/nemotron-3-nano-30b-a3b': readonly ['text']\n 'nvidia/nemotron-3-super-120b-a12b': readonly ['text']\n 'nvidia/nemotron-3-ultra-550b-a55b': readonly ['text']\n 'nvidia/nemotron-3.5-lightning': readonly ['text']\n 'nvidia/nemotron-nano-12b-v2-vl': readonly ['text', 'image']\n 'nvidia/nemotron-nano-9b-v2': readonly ['text']\n 'openai/gpt-3.5-turbo': readonly ['text']\n 'openai/gpt-4-turbo': readonly ['text', 'image']\n 'openai/gpt-4.1': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-nano': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-nano-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4o': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-mini-search-preview': readonly ['text']\n 'openai/gpt-4o-mini-transcribe': readonly ['text', 'audio']\n 'openai/gpt-4o-transcribe': readonly ['text', 'audio']\n 'openai/gpt-5': readonly ['text', 'image', 'document']\n 'openai/gpt-5-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-5-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5-nano': readonly ['text', 'image', 'document']\n 'openai/gpt-5-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-codex-max': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-codex-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-thinking': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-thinking-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.3-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5.3-codex-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-nano': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.5': readonly ['text', 'image', 'document']\n 'openai/gpt-5.5-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.5-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-luna': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-luna-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-sol': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-sol-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-terra': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-terra-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-oss-120b': readonly ['text']\n 'openai/gpt-oss-20b': readonly ['text']\n 'openai/gpt-oss-safeguard-20b': readonly ['text']\n 'openai/gpt-realtime-1.5': readonly ['text', 'audio']\n 'openai/gpt-realtime-2': readonly ['text', 'audio']\n 'openai/gpt-realtime-2.1': readonly ['text', 'audio']\n 'openai/gpt-realtime-mini': readonly ['text', 'audio']\n 'openai/gpt-realtime-whisper': readonly ['text', 'audio']\n 'openai/o1': readonly ['text', 'image', 'document']\n 'openai/o3': readonly ['text', 'image', 'document']\n 'openai/o3-deep-research': readonly ['text', 'image', 'document']\n 'openai/o3-fast': readonly ['text', 'image', 'document']\n 'openai/o3-mini': readonly ['text']\n 'openai/o3-pro': readonly ['text', 'image', 'document']\n 'openai/o4-mini': readonly ['text', 'image', 'document']\n 'openai/o4-mini-fast': readonly ['text', 'image', 'document']\n 'openai/tts-1': readonly ['text']\n 'openai/tts-1-hd': readonly ['text']\n 'openai/whisper-1': readonly ['text', 'audio']\n 'perplexity/sonar': readonly ['text', 'image']\n 'perplexity/sonar-pro': readonly ['text', 'image']\n 'perplexity/sonar-reasoning-pro': readonly ['text', 'image']\n 'poolside/laguna-s-2.1': readonly ['text']\n 'poolside/laguna-s-2.1-free': readonly ['text']\n 'sakana/fugu-ultra': readonly ['text', 'image']\n 'sakana/namazu': readonly ['text', 'image', 'document']\n 'stepfun/step-3.5-flash': readonly ['text', 'image']\n 'stepfun/step-3.7-flash': readonly ['text', 'image']\n 'tencent/hy3': readonly ['text']\n 'thinkingmachines/inkling': readonly ['text', 'image', 'document']\n 'thinkingmachines/inkling-small': readonly ['text', 'image', 'document']\n 'xai/grok-4.1-fast-non-reasoning': readonly ['text', 'image', 'document']\n 'xai/grok-4.1-fast-reasoning': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-multi-agent': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-multi-agent-beta': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-non-reasoning': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-non-reasoning-beta': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-reasoning': readonly ['text', 'image', 'document']\n 'xai/grok-4.20-reasoning-beta': readonly ['text', 'image', 'document']\n 'xai/grok-4.3': readonly ['text', 'image', 'document']\n 'xai/grok-4.5': readonly ['text', 'image', 'document']\n 'xai/grok-4.6': readonly ['text', 'image']\n 'xai/grok-build-0.1': readonly ['text', 'image']\n 'xai/grok-stt': readonly ['text', 'audio']\n 'xai/grok-tts': readonly ['text']\n 'xai/grok-voice-think-fast-1.0': readonly ['text', 'audio']\n 'xai/grok-voice-think-fast-2.0': readonly ['text', 'audio']\n 'xiaomi/mimo-v2.5': readonly ['text', 'image']\n 'xiaomi/mimo-v2.5-pro': readonly ['text']\n 'zai/glm-4.5': readonly ['text']\n 'zai/glm-4.5-air': readonly ['text']\n 'zai/glm-4.5v': readonly ['text', 'image']\n 'zai/glm-4.6': readonly ['text']\n 'zai/glm-4.7': readonly ['text']\n 'zai/glm-4.7-flash': readonly ['text']\n 'zai/glm-4.7-flashx': readonly ['text']\n 'zai/glm-5': readonly ['text']\n 'zai/glm-5-turbo': readonly ['text']\n 'zai/glm-5.1': readonly ['text']\n 'zai/glm-5.2': readonly ['text']\n 'zai/glm-5.2-fast': readonly ['text']\n 'zai/glm-5.3': readonly ['text']\n 'zai/glm-5v-turbo': readonly ['text', 'image', 'document']\n}\n\nexport type VercelGatewayChatModelToolCapabilitiesByName = {\n [K in VercelGatewayChatModel]: readonly []\n}\n\nexport type VercelGatewayEmbeddingModelProviderOptionsByName = {\n [K in VercelGatewayEmbeddingModel]: VercelGatewayEmbeddingProviderOptions\n}\n\nexport type VercelGatewayEmbeddingModelInputModalitiesByName = {\n [K in VercelGatewayEmbeddingModel]: readonly ['text']\n}\n\nexport type VercelGatewayImageModelProviderOptionsByName = {\n [K in VercelGatewayImageModel]: VercelGatewayImageProviderOptions\n}\n\nexport type VercelGatewayImageModelSizeByName = {\n [K in VercelGatewayImageModel]: VercelGatewayImageSize\n}\n\nexport type VercelGatewayImageModelInputModalitiesByName = {\n [K in VercelGatewayImageModel]: readonly []\n}\n\nexport type ResolveProviderOptions<TModel extends string> =\n TModel extends keyof VercelGatewayChatModelProviderOptionsByName\n ? VercelGatewayChatModelProviderOptionsByName[TModel]\n : TModel extends VercelGatewayEmbeddingModel\n ? VercelGatewayEmbeddingProviderOptions\n : TModel extends VercelGatewayImageModel\n ? VercelGatewayImageProviderOptions\n : VercelGatewayTextProviderOptions\n\nexport type ResolveInputModalities<TModel extends string> =\n TModel extends keyof VercelGatewayModelInputModalitiesByName\n ? VercelGatewayModelInputModalitiesByName[TModel]\n : readonly ['text']\n"],"mappings":";AAeA,IAAa,6BAA6B;CACxC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAIA,IAAa,2BAA2B;CACtC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAIA,IAAa,4BAA4B;CACvC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAIA,IAAa,kCAAkC;CAC7C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAKA,IAAa,8BAA8B;CACzC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/ai-vercel-gateway",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Vercel AI Gateway adapter for TanStack AI chat, embeddings, and image generation.",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -53,12 +53,12 @@
53
53
  },
54
54
  "peerDependencies": {
55
55
  "zod": "^4.0.0",
56
- "@tanstack/ai": "^0.46.0"
56
+ "@tanstack/ai": "^0.47.1"
57
57
  },
58
58
  "dependencies": {
59
59
  "openai": "^6.41.0",
60
60
  "@tanstack/ai-utils": "^0.4.0",
61
- "@tanstack/openai-base": "^0.9.15"
61
+ "@tanstack/openai-base": "^0.10.0"
62
62
  },
63
63
  "scripts": {
64
64
  "build": "vite build",
package/src/model-meta.ts CHANGED
@@ -77,9 +77,13 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
77
77
  'deepseek/deepseek-v4-pro',
78
78
  'deepseek/deepseek-v4-pro-0813',
79
79
  'fish-audio/s1',
80
+ 'fish-audio/s1-free',
80
81
  'fish-audio/s2-pro',
82
+ 'fish-audio/s2-pro-free',
81
83
  'fish-audio/s2.1-pro',
84
+ 'fish-audio/s2.1-pro-free',
82
85
  'fish-audio/transcribe-1',
86
+ 'fish-audio/transcribe-1-free',
83
87
  'google/gemini-2.5-flash',
84
88
  'google/gemini-2.5-flash-image',
85
89
  'google/gemini-2.5-flash-lite',
@@ -254,8 +258,6 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
254
258
  'zai/glm-4.5-air',
255
259
  'zai/glm-4.5v',
256
260
  'zai/glm-4.6',
257
- 'zai/glm-4.6v',
258
- 'zai/glm-4.6v-flash',
259
261
  'zai/glm-4.7',
260
262
  'zai/glm-4.7-flash',
261
263
  'zai/glm-4.7-flashx',
@@ -933,9 +935,13 @@ export type VercelGatewayChatModelProviderOptionsByName = {
933
935
  | 'include_reasoning'
934
936
  >
935
937
  'fish-audio/s1': VercelGatewayCommonOptions
938
+ 'fish-audio/s1-free': VercelGatewayCommonOptions
936
939
  'fish-audio/s2-pro': VercelGatewayCommonOptions
940
+ 'fish-audio/s2-pro-free': VercelGatewayCommonOptions
937
941
  'fish-audio/s2.1-pro': VercelGatewayCommonOptions
942
+ 'fish-audio/s2.1-pro-free': VercelGatewayCommonOptions
938
943
  'fish-audio/transcribe-1': VercelGatewayCommonOptions
944
+ 'fish-audio/transcribe-1-free': VercelGatewayCommonOptions
939
945
  'google/gemini-2.5-flash': VercelGatewayCommonOptions &
940
946
  Pick<
941
947
  VercelGatewayBaseOptions,
@@ -2356,26 +2362,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
2356
2362
  | 'reasoning'
2357
2363
  | 'include_reasoning'
2358
2364
  >
2359
- 'zai/glm-4.6v': VercelGatewayCommonOptions &
2360
- Pick<
2361
- VercelGatewayBaseOptions,
2362
- | 'max_tokens'
2363
- | 'max_output_tokens'
2364
- | 'temperature'
2365
- | 'stop'
2366
- | 'reasoning'
2367
- | 'include_reasoning'
2368
- >
2369
- 'zai/glm-4.6v-flash': VercelGatewayCommonOptions &
2370
- Pick<
2371
- VercelGatewayBaseOptions,
2372
- | 'max_tokens'
2373
- | 'max_output_tokens'
2374
- | 'temperature'
2375
- | 'stop'
2376
- | 'reasoning'
2377
- | 'include_reasoning'
2378
- >
2379
2365
  'zai/glm-4.7': VercelGatewayCommonOptions &
2380
2366
  Pick<
2381
2367
  VercelGatewayBaseOptions,
@@ -2505,7 +2491,7 @@ export type VercelGatewayModelInputModalitiesByName = {
2505
2491
  'alibaba/qwen3.7-max': readonly ['text']
2506
2492
  'alibaba/qwen3.7-plus': readonly ['text', 'image', 'document']
2507
2493
  'alibaba/qwen3.8-2.4t-a95b': readonly ['text']
2508
- 'alibaba/qwen3.8-27b': readonly ['text', 'image']
2494
+ 'alibaba/qwen3.8-27b': readonly ['text', 'image', 'document', 'video']
2509
2495
  'alibaba/qwen3.8-max': readonly ['text', 'image']
2510
2496
  'amazon/nova-2-lite': readonly ['text', 'image', 'document']
2511
2497
  'amazon/nova-lite': readonly ['text', 'image', 'document']
@@ -2542,9 +2528,13 @@ export type VercelGatewayModelInputModalitiesByName = {
2542
2528
  'deepseek/deepseek-v4-pro': readonly ['text']
2543
2529
  'deepseek/deepseek-v4-pro-0813': readonly ['text']
2544
2530
  'fish-audio/s1': readonly ['text']
2531
+ 'fish-audio/s1-free': readonly ['text']
2545
2532
  'fish-audio/s2-pro': readonly ['text']
2533
+ 'fish-audio/s2-pro-free': readonly ['text']
2546
2534
  'fish-audio/s2.1-pro': readonly ['text']
2535
+ 'fish-audio/s2.1-pro-free': readonly ['text']
2547
2536
  'fish-audio/transcribe-1': readonly ['text', 'audio']
2537
+ 'fish-audio/transcribe-1-free': readonly ['text', 'audio']
2548
2538
  'google/gemini-2.5-flash': readonly ['text', 'image', 'document']
2549
2539
  'google/gemini-2.5-flash-image': readonly ['text', 'image']
2550
2540
  'google/gemini-2.5-flash-lite': readonly ['text', 'image', 'document']
@@ -2729,8 +2719,6 @@ export type VercelGatewayModelInputModalitiesByName = {
2729
2719
  'zai/glm-4.5-air': readonly ['text']
2730
2720
  'zai/glm-4.5v': readonly ['text', 'image']
2731
2721
  'zai/glm-4.6': readonly ['text']
2732
- 'zai/glm-4.6v': readonly ['text', 'image', 'document']
2733
- 'zai/glm-4.6v-flash': readonly ['text', 'image', 'document']
2734
2722
  'zai/glm-4.7': readonly ['text']
2735
2723
  'zai/glm-4.7-flash': readonly ['text']
2736
2724
  'zai/glm-4.7-flashx': readonly ['text']