@tanstack/ai-vercel-gateway 0.2.1 → 0.2.4
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.
- package/dist/esm/model-meta.d.ts +13 -14
- package/dist/esm/model-meta.js +3 -6
- package/dist/esm/model-meta.js.map +1 -1
- package/package.json +3 -4
- package/src/model-meta.ts +41 -62
package/dist/esm/model-meta.d.ts
CHANGED
|
@@ -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", "
|
|
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", "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-flash-vision-exp", "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-free", "minimax/minimax-m2.7-highspeed", "minimax/minimax-m3", "minimax/minimax-m3-free", "mistral/codestral", "mistral/devstral-2", "mistral/devstral-small-2", "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-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-120b", "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-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", "spacexai/grok-4.1-fast-non-reasoning", "spacexai/grok-4.1-fast-reasoning", "spacexai/grok-4.20-multi-agent", "spacexai/grok-4.20-multi-agent-beta", "spacexai/grok-4.20-non-reasoning", "spacexai/grok-4.20-non-reasoning-beta", "spacexai/grok-4.20-reasoning", "spacexai/grok-4.20-reasoning-beta", "spacexai/grok-4.3", "spacexai/grok-4.5", "spacexai/grok-4.6", "spacexai/grok-build-0.1", "spacexai/grok-stt", "spacexai/grok-tts", "spacexai/grok-voice-think-fast-1.0", "spacexai/grok-voice-think-fast-2.0", "stepfun/step-3.5-flash", "stepfun/step-3.7-flash", "tencent/hy-mt2-lite", "tencent/hy-mt2-plus", "tencent/hy-mt2-pro", "tencent/hy3", "thinkingmachines/inkling", "thinkingmachines/inkling-small", "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", "spacexai", "stepfun", "tencent", "thinkingmachines", "voyage", "xiaomi", "zai"];
|
|
7
7
|
export type VercelGatewayProvider = (typeof VERCEL_GATEWAY_PROVIDERS)[number];
|
|
@@ -60,7 +60,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
60
60
|
'anthropic/claude-sonnet-4.6': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
61
61
|
'anthropic/claude-sonnet-5': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
62
62
|
'arcee-ai/trinity-large-thinking': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
63
|
-
'arcee-ai/trinity-mini': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
64
63
|
'bytedance/seed-1.6': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
65
64
|
'bytedance/seed-1.8': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
66
65
|
'cohere/command-a': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
@@ -124,13 +123,13 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
124
123
|
'minimax/minimax-m2.5': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
125
124
|
'minimax/minimax-m2.5-highspeed': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
126
125
|
'minimax/minimax-m2.7': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
126
|
+
'minimax/minimax-m2.7-free': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
127
127
|
'minimax/minimax-m2.7-highspeed': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
128
128
|
'minimax/minimax-m3': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
129
|
+
'minimax/minimax-m3-free': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
129
130
|
'mistral/codestral': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
130
131
|
'mistral/devstral-2': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
131
132
|
'mistral/devstral-small-2': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
132
|
-
'mistral/magistral-medium': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
133
|
-
'mistral/magistral-small': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
134
133
|
'mistral/ministral-14b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
135
134
|
'mistral/ministral-3b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
136
135
|
'mistral/ministral-8b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
@@ -154,7 +153,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
154
153
|
'nvidia/nemotron-3-super-120b-a12b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
155
154
|
'nvidia/nemotron-3-ultra-550b-a55b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
156
155
|
'nvidia/nemotron-3.5-lightning': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
157
|
-
'nvidia/nemotron-3.5-lightning-free': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
158
156
|
'nvidia/nemotron-nano-12b-v2-vl': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
159
157
|
'nvidia/nemotron-nano-9b-v2': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
160
158
|
'openai/gpt-3.5-turbo': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
@@ -169,7 +167,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
169
167
|
'openai/gpt-4o-fast': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
170
168
|
'openai/gpt-4o-mini': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
171
169
|
'openai/gpt-4o-mini-fast': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
172
|
-
'openai/gpt-4o-mini-search-preview': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
173
170
|
'openai/gpt-4o-mini-transcribe': VercelGatewayCommonOptions;
|
|
174
171
|
'openai/gpt-4o-transcribe': VercelGatewayCommonOptions;
|
|
175
172
|
'openai/gpt-5': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
@@ -207,6 +204,7 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
207
204
|
'openai/gpt-5.6-terra-fast': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
208
205
|
'openai/gpt-oss-120b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
209
206
|
'openai/gpt-oss-20b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
207
|
+
'openai/gpt-oss-safeguard-120b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
210
208
|
'openai/gpt-oss-safeguard-20b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
211
209
|
'openai/gpt-realtime-1.5': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
212
210
|
'openai/gpt-realtime-2': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
@@ -215,7 +213,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
215
213
|
'openai/gpt-realtime-whisper': VercelGatewayCommonOptions;
|
|
216
214
|
'openai/o1': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
217
215
|
'openai/o3': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
218
|
-
'openai/o3-deep-research': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
219
216
|
'openai/o3-fast': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
220
217
|
'openai/o3-mini': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
221
218
|
'openai/o3-pro': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
@@ -321,7 +318,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
321
318
|
'anthropic/claude-sonnet-4.6': readonly ['text', 'image', 'document'];
|
|
322
319
|
'anthropic/claude-sonnet-5': readonly ['text', 'image', 'document'];
|
|
323
320
|
'arcee-ai/trinity-large-thinking': readonly ['text'];
|
|
324
|
-
'arcee-ai/trinity-mini': readonly ['text'];
|
|
325
321
|
'bytedance/seed-1.6': readonly ['text', 'image'];
|
|
326
322
|
'bytedance/seed-1.8': readonly ['text', 'image'];
|
|
327
323
|
'cohere/command-a': readonly ['text'];
|
|
@@ -364,7 +360,12 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
364
360
|
];
|
|
365
361
|
'google/gemini-3.6-flash': readonly ['text', 'image', 'document', 'video'];
|
|
366
362
|
'google/gemini-3.7-flash': readonly ['text', 'image', 'document', 'video'];
|
|
367
|
-
'google/gemini-omni-flash-preview': readonly [
|
|
363
|
+
'google/gemini-omni-flash-preview': readonly [
|
|
364
|
+
'text',
|
|
365
|
+
'image',
|
|
366
|
+
'document',
|
|
367
|
+
'video'
|
|
368
|
+
];
|
|
368
369
|
'google/gemma-4-26b-a4b-it': readonly ['text', 'image', 'document'];
|
|
369
370
|
'google/gemma-4-31b-it': readonly ['text', 'image', 'document'];
|
|
370
371
|
'inception/mercury-2': readonly ['text'];
|
|
@@ -390,13 +391,13 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
390
391
|
'minimax/minimax-m2.5': readonly ['text'];
|
|
391
392
|
'minimax/minimax-m2.5-highspeed': readonly ['text'];
|
|
392
393
|
'minimax/minimax-m2.7': readonly ['text'];
|
|
394
|
+
'minimax/minimax-m2.7-free': readonly ['text'];
|
|
393
395
|
'minimax/minimax-m2.7-highspeed': readonly ['text'];
|
|
394
396
|
'minimax/minimax-m3': readonly ['text', 'image', 'document'];
|
|
397
|
+
'minimax/minimax-m3-free': readonly ['text', 'image'];
|
|
395
398
|
'mistral/codestral': readonly ['text'];
|
|
396
399
|
'mistral/devstral-2': readonly ['text'];
|
|
397
400
|
'mistral/devstral-small-2': readonly ['text', 'image'];
|
|
398
|
-
'mistral/magistral-medium': readonly ['text', 'image'];
|
|
399
|
-
'mistral/magistral-small': readonly ['text', 'image'];
|
|
400
401
|
'mistral/ministral-14b': readonly ['text', 'image', 'document'];
|
|
401
402
|
'mistral/ministral-3b': readonly ['text', 'image'];
|
|
402
403
|
'mistral/ministral-8b': readonly ['text', 'image'];
|
|
@@ -425,7 +426,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
425
426
|
'nvidia/nemotron-3-super-120b-a12b': readonly ['text'];
|
|
426
427
|
'nvidia/nemotron-3-ultra-550b-a55b': readonly ['text'];
|
|
427
428
|
'nvidia/nemotron-3.5-lightning': readonly ['text'];
|
|
428
|
-
'nvidia/nemotron-3.5-lightning-free': readonly ['text'];
|
|
429
429
|
'nvidia/nemotron-nano-12b-v2-vl': readonly ['text', 'image'];
|
|
430
430
|
'nvidia/nemotron-nano-9b-v2': readonly ['text'];
|
|
431
431
|
'openai/gpt-3.5-turbo': readonly ['text'];
|
|
@@ -440,7 +440,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
440
440
|
'openai/gpt-4o-fast': readonly ['text', 'image', 'document'];
|
|
441
441
|
'openai/gpt-4o-mini': readonly ['text', 'image', 'document'];
|
|
442
442
|
'openai/gpt-4o-mini-fast': readonly ['text', 'image', 'document'];
|
|
443
|
-
'openai/gpt-4o-mini-search-preview': readonly ['text'];
|
|
444
443
|
'openai/gpt-4o-mini-transcribe': readonly ['text', 'audio'];
|
|
445
444
|
'openai/gpt-4o-transcribe': readonly ['text', 'audio'];
|
|
446
445
|
'openai/gpt-5': readonly ['text', 'image', 'document'];
|
|
@@ -478,6 +477,7 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
478
477
|
'openai/gpt-5.6-terra-fast': readonly ['text', 'image', 'document'];
|
|
479
478
|
'openai/gpt-oss-120b': readonly ['text'];
|
|
480
479
|
'openai/gpt-oss-20b': readonly ['text'];
|
|
480
|
+
'openai/gpt-oss-safeguard-120b': readonly ['text'];
|
|
481
481
|
'openai/gpt-oss-safeguard-20b': readonly ['text'];
|
|
482
482
|
'openai/gpt-realtime-1.5': readonly ['text', 'audio'];
|
|
483
483
|
'openai/gpt-realtime-2': readonly ['text', 'audio'];
|
|
@@ -486,7 +486,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
486
486
|
'openai/gpt-realtime-whisper': readonly ['text', 'audio'];
|
|
487
487
|
'openai/o1': readonly ['text', 'image', 'document'];
|
|
488
488
|
'openai/o3': readonly ['text', 'image', 'document'];
|
|
489
|
-
'openai/o3-deep-research': readonly ['text', 'image', 'document'];
|
|
490
489
|
'openai/o3-fast': readonly ['text', 'image', 'document'];
|
|
491
490
|
'openai/o3-mini': readonly ['text'];
|
|
492
491
|
'openai/o3-pro': readonly ['text', 'image', 'document'];
|
package/dist/esm/model-meta.js
CHANGED
|
@@ -48,7 +48,6 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
48
48
|
"anthropic/claude-sonnet-4.6",
|
|
49
49
|
"anthropic/claude-sonnet-5",
|
|
50
50
|
"arcee-ai/trinity-large-thinking",
|
|
51
|
-
"arcee-ai/trinity-mini",
|
|
52
51
|
"bytedance/seed-1.6",
|
|
53
52
|
"bytedance/seed-1.8",
|
|
54
53
|
"cohere/command-a",
|
|
@@ -112,13 +111,13 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
112
111
|
"minimax/minimax-m2.5",
|
|
113
112
|
"minimax/minimax-m2.5-highspeed",
|
|
114
113
|
"minimax/minimax-m2.7",
|
|
114
|
+
"minimax/minimax-m2.7-free",
|
|
115
115
|
"minimax/minimax-m2.7-highspeed",
|
|
116
116
|
"minimax/minimax-m3",
|
|
117
|
+
"minimax/minimax-m3-free",
|
|
117
118
|
"mistral/codestral",
|
|
118
119
|
"mistral/devstral-2",
|
|
119
120
|
"mistral/devstral-small-2",
|
|
120
|
-
"mistral/magistral-medium",
|
|
121
|
-
"mistral/magistral-small",
|
|
122
121
|
"mistral/ministral-14b",
|
|
123
122
|
"mistral/ministral-3b",
|
|
124
123
|
"mistral/ministral-8b",
|
|
@@ -142,7 +141,6 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
142
141
|
"nvidia/nemotron-3-super-120b-a12b",
|
|
143
142
|
"nvidia/nemotron-3-ultra-550b-a55b",
|
|
144
143
|
"nvidia/nemotron-3.5-lightning",
|
|
145
|
-
"nvidia/nemotron-3.5-lightning-free",
|
|
146
144
|
"nvidia/nemotron-nano-12b-v2-vl",
|
|
147
145
|
"nvidia/nemotron-nano-9b-v2",
|
|
148
146
|
"openai/gpt-3.5-turbo",
|
|
@@ -157,7 +155,6 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
157
155
|
"openai/gpt-4o-fast",
|
|
158
156
|
"openai/gpt-4o-mini",
|
|
159
157
|
"openai/gpt-4o-mini-fast",
|
|
160
|
-
"openai/gpt-4o-mini-search-preview",
|
|
161
158
|
"openai/gpt-4o-mini-transcribe",
|
|
162
159
|
"openai/gpt-4o-transcribe",
|
|
163
160
|
"openai/gpt-5",
|
|
@@ -195,6 +192,7 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
195
192
|
"openai/gpt-5.6-terra-fast",
|
|
196
193
|
"openai/gpt-oss-120b",
|
|
197
194
|
"openai/gpt-oss-20b",
|
|
195
|
+
"openai/gpt-oss-safeguard-120b",
|
|
198
196
|
"openai/gpt-oss-safeguard-20b",
|
|
199
197
|
"openai/gpt-realtime-1.5",
|
|
200
198
|
"openai/gpt-realtime-2",
|
|
@@ -203,7 +201,6 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
203
201
|
"openai/gpt-realtime-whisper",
|
|
204
202
|
"openai/o1",
|
|
205
203
|
"openai/o3",
|
|
206
|
-
"openai/o3-deep-research",
|
|
207
204
|
"openai/o3-fast",
|
|
208
205
|
"openai/o3-mini",
|
|
209
206
|
"openai/o3-pro",
|
|
@@ -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-flash-vision-exp',\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-3.5-lightning-free',\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 'spacexai/grok-4.1-fast-non-reasoning',\n 'spacexai/grok-4.1-fast-reasoning',\n 'spacexai/grok-4.20-multi-agent',\n 'spacexai/grok-4.20-multi-agent-beta',\n 'spacexai/grok-4.20-non-reasoning',\n 'spacexai/grok-4.20-non-reasoning-beta',\n 'spacexai/grok-4.20-reasoning',\n 'spacexai/grok-4.20-reasoning-beta',\n 'spacexai/grok-4.3',\n 'spacexai/grok-4.5',\n 'spacexai/grok-4.6',\n 'spacexai/grok-build-0.1',\n 'spacexai/grok-stt',\n 'spacexai/grok-tts',\n 'spacexai/grok-voice-think-fast-1.0',\n 'spacexai/grok-voice-think-fast-2.0',\n 'stepfun/step-3.5-flash',\n 'stepfun/step-3.7-flash',\n 'tencent/hy-mt2-lite',\n 'tencent/hy-mt2-plus',\n 'tencent/hy-mt2-pro',\n 'tencent/hy3',\n 'thinkingmachines/inkling',\n 'thinkingmachines/inkling-small',\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 'spacexai',\n 'stepfun',\n 'tencent',\n 'thinkingmachines',\n 'voyage',\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 '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 'spacexai/grok-imagine-image',\n 'spacexai/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-flash-vision-exp': 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-3.5-lightning-free': 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 'spacexai/grok-4.1-fast-non-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'spacexai/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 'spacexai/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 'spacexai/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 'spacexai/grok-4.20-non-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'spacexai/grok-4.20-non-reasoning-beta': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'spacexai/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 'spacexai/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 'spacexai/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 'spacexai/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 'spacexai/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 'spacexai/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 'spacexai/grok-stt': VercelGatewayCommonOptions\n 'spacexai/grok-tts': VercelGatewayCommonOptions\n 'spacexai/grok-voice-think-fast-1.0': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'spacexai/grok-voice-think-fast-2.0': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\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/hy-mt2-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'tencent/hy-mt2-plus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'tencent/hy-mt2-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\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 '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', 'image']\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-flash-vision-exp': readonly ['text', 'image']\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-3.5-lightning-free': 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 'spacexai/grok-4.1-fast-non-reasoning': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.1-fast-reasoning': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.20-multi-agent': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.20-multi-agent-beta': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.20-non-reasoning': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.20-non-reasoning-beta': readonly [\n 'text',\n 'image',\n 'document',\n ]\n 'spacexai/grok-4.20-reasoning': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.20-reasoning-beta': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.3': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.5': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.6': readonly ['text', 'image']\n 'spacexai/grok-build-0.1': readonly ['text', 'image']\n 'spacexai/grok-stt': readonly ['text', 'audio']\n 'spacexai/grok-tts': readonly ['text']\n 'spacexai/grok-voice-think-fast-1.0': readonly ['text', 'audio']\n 'spacexai/grok-voice-think-fast-2.0': readonly ['text', 'audio']\n 'stepfun/step-3.5-flash': readonly ['text', 'image']\n 'stepfun/step-3.7-flash': readonly ['text', 'image']\n 'tencent/hy-mt2-lite': readonly ['text']\n 'tencent/hy-mt2-plus': readonly ['text']\n 'tencent/hy-mt2-pro': readonly ['text']\n 'tencent/hy3': readonly ['text']\n 'thinkingmachines/inkling': readonly ['text', 'image', 'document']\n 'thinkingmachines/inkling-small': readonly ['text', 'image', 'document']\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;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;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 '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-flash-vision-exp',\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-free',\n 'minimax/minimax-m2.7-highspeed',\n 'minimax/minimax-m3',\n 'minimax/minimax-m3-free',\n 'mistral/codestral',\n 'mistral/devstral-2',\n 'mistral/devstral-small-2',\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-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-120b',\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-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 'spacexai/grok-4.1-fast-non-reasoning',\n 'spacexai/grok-4.1-fast-reasoning',\n 'spacexai/grok-4.20-multi-agent',\n 'spacexai/grok-4.20-multi-agent-beta',\n 'spacexai/grok-4.20-non-reasoning',\n 'spacexai/grok-4.20-non-reasoning-beta',\n 'spacexai/grok-4.20-reasoning',\n 'spacexai/grok-4.20-reasoning-beta',\n 'spacexai/grok-4.3',\n 'spacexai/grok-4.5',\n 'spacexai/grok-4.6',\n 'spacexai/grok-build-0.1',\n 'spacexai/grok-stt',\n 'spacexai/grok-tts',\n 'spacexai/grok-voice-think-fast-1.0',\n 'spacexai/grok-voice-think-fast-2.0',\n 'stepfun/step-3.5-flash',\n 'stepfun/step-3.7-flash',\n 'tencent/hy-mt2-lite',\n 'tencent/hy-mt2-plus',\n 'tencent/hy-mt2-pro',\n 'tencent/hy3',\n 'thinkingmachines/inkling',\n 'thinkingmachines/inkling-small',\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 'spacexai',\n 'stepfun',\n 'tencent',\n 'thinkingmachines',\n 'voyage',\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 '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 'spacexai/grok-imagine-image',\n 'spacexai/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 '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-flash-vision-exp': 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-free': 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 'minimax/minimax-m3-free': 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/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-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-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-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-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 'spacexai/grok-4.1-fast-non-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'spacexai/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 'spacexai/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 'spacexai/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 'spacexai/grok-4.20-non-reasoning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'spacexai/grok-4.20-non-reasoning-beta': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'spacexai/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 'spacexai/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 'spacexai/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 'spacexai/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 'spacexai/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 'spacexai/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 'spacexai/grok-stt': VercelGatewayCommonOptions\n 'spacexai/grok-tts': VercelGatewayCommonOptions\n 'spacexai/grok-voice-think-fast-1.0': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'spacexai/grok-voice-think-fast-2.0': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\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/hy-mt2-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'tencent/hy-mt2-plus': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'tencent/hy-mt2-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\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 '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', 'image']\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 '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-flash-vision-exp': readonly ['text', 'image']\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 [\n 'text',\n 'image',\n 'document',\n 'video',\n ]\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-free': readonly ['text']\n 'minimax/minimax-m2.7-highspeed': readonly ['text']\n 'minimax/minimax-m3': readonly ['text', 'image', 'document']\n 'minimax/minimax-m3-free': readonly ['text', 'image']\n 'mistral/codestral': readonly ['text']\n 'mistral/devstral-2': readonly ['text']\n 'mistral/devstral-small-2': 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-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-120b': 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-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 'spacexai/grok-4.1-fast-non-reasoning': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.1-fast-reasoning': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.20-multi-agent': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.20-multi-agent-beta': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.20-non-reasoning': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.20-non-reasoning-beta': readonly [\n 'text',\n 'image',\n 'document',\n ]\n 'spacexai/grok-4.20-reasoning': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.20-reasoning-beta': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.3': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.5': readonly ['text', 'image', 'document']\n 'spacexai/grok-4.6': readonly ['text', 'image']\n 'spacexai/grok-build-0.1': readonly ['text', 'image']\n 'spacexai/grok-stt': readonly ['text', 'audio']\n 'spacexai/grok-tts': readonly ['text']\n 'spacexai/grok-voice-think-fast-1.0': readonly ['text', 'audio']\n 'spacexai/grok-voice-think-fast-2.0': readonly ['text', 'audio']\n 'stepfun/step-3.5-flash': readonly ['text', 'image']\n 'stepfun/step-3.7-flash': readonly ['text', 'image']\n 'tencent/hy-mt2-lite': readonly ['text']\n 'tencent/hy-mt2-plus': readonly ['text']\n 'tencent/hy-mt2-pro': readonly ['text']\n 'tencent/hy3': readonly ['text']\n 'thinkingmachines/inkling': readonly ['text', 'image', 'document']\n 'thinkingmachines/inkling-small': readonly ['text', 'image', 'document']\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;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;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/ai-vercel-gateway",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "Vercel AI Gateway adapter for TanStack AI chat, embeddings, and image generation.",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -56,13 +56,12 @@
|
|
|
56
56
|
"vite": "^8.2.1"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"
|
|
60
|
-
"@tanstack/ai": "^0.49.1"
|
|
59
|
+
"@tanstack/ai": "^0.51.0"
|
|
61
60
|
},
|
|
62
61
|
"dependencies": {
|
|
63
62
|
"openai": "^6.41.0",
|
|
64
63
|
"@tanstack/ai-utils": "^0.4.0",
|
|
65
|
-
"@tanstack/openai-base": "^0.10.
|
|
64
|
+
"@tanstack/openai-base": "^0.10.7"
|
|
66
65
|
},
|
|
67
66
|
"scripts": {
|
|
68
67
|
"build": "vite build",
|
package/src/model-meta.ts
CHANGED
|
@@ -62,7 +62,6 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
62
62
|
'anthropic/claude-sonnet-4.6',
|
|
63
63
|
'anthropic/claude-sonnet-5',
|
|
64
64
|
'arcee-ai/trinity-large-thinking',
|
|
65
|
-
'arcee-ai/trinity-mini',
|
|
66
65
|
'bytedance/seed-1.6',
|
|
67
66
|
'bytedance/seed-1.8',
|
|
68
67
|
'cohere/command-a',
|
|
@@ -126,13 +125,13 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
126
125
|
'minimax/minimax-m2.5',
|
|
127
126
|
'minimax/minimax-m2.5-highspeed',
|
|
128
127
|
'minimax/minimax-m2.7',
|
|
128
|
+
'minimax/minimax-m2.7-free',
|
|
129
129
|
'minimax/minimax-m2.7-highspeed',
|
|
130
130
|
'minimax/minimax-m3',
|
|
131
|
+
'minimax/minimax-m3-free',
|
|
131
132
|
'mistral/codestral',
|
|
132
133
|
'mistral/devstral-2',
|
|
133
134
|
'mistral/devstral-small-2',
|
|
134
|
-
'mistral/magistral-medium',
|
|
135
|
-
'mistral/magistral-small',
|
|
136
135
|
'mistral/ministral-14b',
|
|
137
136
|
'mistral/ministral-3b',
|
|
138
137
|
'mistral/ministral-8b',
|
|
@@ -156,7 +155,6 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
156
155
|
'nvidia/nemotron-3-super-120b-a12b',
|
|
157
156
|
'nvidia/nemotron-3-ultra-550b-a55b',
|
|
158
157
|
'nvidia/nemotron-3.5-lightning',
|
|
159
|
-
'nvidia/nemotron-3.5-lightning-free',
|
|
160
158
|
'nvidia/nemotron-nano-12b-v2-vl',
|
|
161
159
|
'nvidia/nemotron-nano-9b-v2',
|
|
162
160
|
'openai/gpt-3.5-turbo',
|
|
@@ -171,7 +169,6 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
171
169
|
'openai/gpt-4o-fast',
|
|
172
170
|
'openai/gpt-4o-mini',
|
|
173
171
|
'openai/gpt-4o-mini-fast',
|
|
174
|
-
'openai/gpt-4o-mini-search-preview',
|
|
175
172
|
'openai/gpt-4o-mini-transcribe',
|
|
176
173
|
'openai/gpt-4o-transcribe',
|
|
177
174
|
'openai/gpt-5',
|
|
@@ -209,6 +206,7 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
209
206
|
'openai/gpt-5.6-terra-fast',
|
|
210
207
|
'openai/gpt-oss-120b',
|
|
211
208
|
'openai/gpt-oss-20b',
|
|
209
|
+
'openai/gpt-oss-safeguard-120b',
|
|
212
210
|
'openai/gpt-oss-safeguard-20b',
|
|
213
211
|
'openai/gpt-realtime-1.5',
|
|
214
212
|
'openai/gpt-realtime-2',
|
|
@@ -217,7 +215,6 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
217
215
|
'openai/gpt-realtime-whisper',
|
|
218
216
|
'openai/o1',
|
|
219
217
|
'openai/o3',
|
|
220
|
-
'openai/o3-deep-research',
|
|
221
218
|
'openai/o3-fast',
|
|
222
219
|
'openai/o3-mini',
|
|
223
220
|
'openai/o3-pro',
|
|
@@ -821,11 +818,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
821
818
|
| 'reasoning'
|
|
822
819
|
| 'include_reasoning'
|
|
823
820
|
>
|
|
824
|
-
'arcee-ai/trinity-mini': VercelGatewayCommonOptions &
|
|
825
|
-
Pick<
|
|
826
|
-
VercelGatewayBaseOptions,
|
|
827
|
-
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
828
|
-
>
|
|
829
821
|
'bytedance/seed-1.6': VercelGatewayCommonOptions &
|
|
830
822
|
Pick<
|
|
831
823
|
VercelGatewayBaseOptions,
|
|
@@ -1319,7 +1311,7 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1319
1311
|
| 'reasoning'
|
|
1320
1312
|
| 'include_reasoning'
|
|
1321
1313
|
>
|
|
1322
|
-
'minimax/minimax-m2.7-
|
|
1314
|
+
'minimax/minimax-m2.7-free': VercelGatewayCommonOptions &
|
|
1323
1315
|
Pick<
|
|
1324
1316
|
VercelGatewayBaseOptions,
|
|
1325
1317
|
| 'max_tokens'
|
|
@@ -1329,7 +1321,7 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1329
1321
|
| 'reasoning'
|
|
1330
1322
|
| 'include_reasoning'
|
|
1331
1323
|
>
|
|
1332
|
-
'minimax/minimax-
|
|
1324
|
+
'minimax/minimax-m2.7-highspeed': VercelGatewayCommonOptions &
|
|
1333
1325
|
Pick<
|
|
1334
1326
|
VercelGatewayBaseOptions,
|
|
1335
1327
|
| 'max_tokens'
|
|
@@ -1339,22 +1331,7 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1339
1331
|
| 'reasoning'
|
|
1340
1332
|
| 'include_reasoning'
|
|
1341
1333
|
>
|
|
1342
|
-
'
|
|
1343
|
-
Pick<
|
|
1344
|
-
VercelGatewayBaseOptions,
|
|
1345
|
-
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1346
|
-
>
|
|
1347
|
-
'mistral/devstral-2': VercelGatewayCommonOptions &
|
|
1348
|
-
Pick<
|
|
1349
|
-
VercelGatewayBaseOptions,
|
|
1350
|
-
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1351
|
-
>
|
|
1352
|
-
'mistral/devstral-small-2': VercelGatewayCommonOptions &
|
|
1353
|
-
Pick<
|
|
1354
|
-
VercelGatewayBaseOptions,
|
|
1355
|
-
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1356
|
-
>
|
|
1357
|
-
'mistral/magistral-medium': VercelGatewayCommonOptions &
|
|
1334
|
+
'minimax/minimax-m3': VercelGatewayCommonOptions &
|
|
1358
1335
|
Pick<
|
|
1359
1336
|
VercelGatewayBaseOptions,
|
|
1360
1337
|
| 'max_tokens'
|
|
@@ -1364,7 +1341,7 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1364
1341
|
| 'reasoning'
|
|
1365
1342
|
| 'include_reasoning'
|
|
1366
1343
|
>
|
|
1367
|
-
'
|
|
1344
|
+
'minimax/minimax-m3-free': VercelGatewayCommonOptions &
|
|
1368
1345
|
Pick<
|
|
1369
1346
|
VercelGatewayBaseOptions,
|
|
1370
1347
|
| 'max_tokens'
|
|
@@ -1374,6 +1351,21 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1374
1351
|
| 'reasoning'
|
|
1375
1352
|
| 'include_reasoning'
|
|
1376
1353
|
>
|
|
1354
|
+
'mistral/codestral': VercelGatewayCommonOptions &
|
|
1355
|
+
Pick<
|
|
1356
|
+
VercelGatewayBaseOptions,
|
|
1357
|
+
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1358
|
+
>
|
|
1359
|
+
'mistral/devstral-2': VercelGatewayCommonOptions &
|
|
1360
|
+
Pick<
|
|
1361
|
+
VercelGatewayBaseOptions,
|
|
1362
|
+
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1363
|
+
>
|
|
1364
|
+
'mistral/devstral-small-2': VercelGatewayCommonOptions &
|
|
1365
|
+
Pick<
|
|
1366
|
+
VercelGatewayBaseOptions,
|
|
1367
|
+
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1368
|
+
>
|
|
1377
1369
|
'mistral/ministral-14b': VercelGatewayCommonOptions &
|
|
1378
1370
|
Pick<
|
|
1379
1371
|
VercelGatewayBaseOptions,
|
|
@@ -1541,16 +1533,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1541
1533
|
| 'reasoning'
|
|
1542
1534
|
| 'include_reasoning'
|
|
1543
1535
|
>
|
|
1544
|
-
'nvidia/nemotron-3.5-lightning-free': VercelGatewayCommonOptions &
|
|
1545
|
-
Pick<
|
|
1546
|
-
VercelGatewayBaseOptions,
|
|
1547
|
-
| 'max_tokens'
|
|
1548
|
-
| 'max_output_tokens'
|
|
1549
|
-
| 'temperature'
|
|
1550
|
-
| 'stop'
|
|
1551
|
-
| 'reasoning'
|
|
1552
|
-
| 'include_reasoning'
|
|
1553
|
-
>
|
|
1554
1536
|
'nvidia/nemotron-nano-12b-v2-vl': VercelGatewayCommonOptions &
|
|
1555
1537
|
Pick<
|
|
1556
1538
|
VercelGatewayBaseOptions,
|
|
@@ -1631,11 +1613,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1631
1613
|
VercelGatewayBaseOptions,
|
|
1632
1614
|
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1633
1615
|
>
|
|
1634
|
-
'openai/gpt-4o-mini-search-preview': VercelGatewayCommonOptions &
|
|
1635
|
-
Pick<
|
|
1636
|
-
VercelGatewayBaseOptions,
|
|
1637
|
-
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1638
|
-
>
|
|
1639
1616
|
'openai/gpt-4o-mini-transcribe': VercelGatewayCommonOptions
|
|
1640
1617
|
'openai/gpt-4o-transcribe': VercelGatewayCommonOptions
|
|
1641
1618
|
'openai/gpt-5': VercelGatewayCommonOptions &
|
|
@@ -1982,6 +1959,16 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1982
1959
|
| 'reasoning'
|
|
1983
1960
|
| 'include_reasoning'
|
|
1984
1961
|
>
|
|
1962
|
+
'openai/gpt-oss-safeguard-120b': VercelGatewayCommonOptions &
|
|
1963
|
+
Pick<
|
|
1964
|
+
VercelGatewayBaseOptions,
|
|
1965
|
+
| 'max_tokens'
|
|
1966
|
+
| 'max_output_tokens'
|
|
1967
|
+
| 'temperature'
|
|
1968
|
+
| 'stop'
|
|
1969
|
+
| 'reasoning'
|
|
1970
|
+
| 'include_reasoning'
|
|
1971
|
+
>
|
|
1985
1972
|
'openai/gpt-oss-safeguard-20b': VercelGatewayCommonOptions &
|
|
1986
1973
|
Pick<
|
|
1987
1974
|
VercelGatewayBaseOptions,
|
|
@@ -2036,16 +2023,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
2036
2023
|
| 'reasoning'
|
|
2037
2024
|
| 'include_reasoning'
|
|
2038
2025
|
>
|
|
2039
|
-
'openai/o3-deep-research': VercelGatewayCommonOptions &
|
|
2040
|
-
Pick<
|
|
2041
|
-
VercelGatewayBaseOptions,
|
|
2042
|
-
| 'max_tokens'
|
|
2043
|
-
| 'max_output_tokens'
|
|
2044
|
-
| 'temperature'
|
|
2045
|
-
| 'stop'
|
|
2046
|
-
| 'reasoning'
|
|
2047
|
-
| 'include_reasoning'
|
|
2048
|
-
>
|
|
2049
2026
|
'openai/o3-fast': VercelGatewayCommonOptions &
|
|
2050
2027
|
Pick<
|
|
2051
2028
|
VercelGatewayBaseOptions,
|
|
@@ -2550,7 +2527,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2550
2527
|
'anthropic/claude-sonnet-4.6': readonly ['text', 'image', 'document']
|
|
2551
2528
|
'anthropic/claude-sonnet-5': readonly ['text', 'image', 'document']
|
|
2552
2529
|
'arcee-ai/trinity-large-thinking': readonly ['text']
|
|
2553
|
-
'arcee-ai/trinity-mini': readonly ['text']
|
|
2554
2530
|
'bytedance/seed-1.6': readonly ['text', 'image']
|
|
2555
2531
|
'bytedance/seed-1.8': readonly ['text', 'image']
|
|
2556
2532
|
'cohere/command-a': readonly ['text']
|
|
@@ -2593,7 +2569,12 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2593
2569
|
]
|
|
2594
2570
|
'google/gemini-3.6-flash': readonly ['text', 'image', 'document', 'video']
|
|
2595
2571
|
'google/gemini-3.7-flash': readonly ['text', 'image', 'document', 'video']
|
|
2596
|
-
'google/gemini-omni-flash-preview': readonly [
|
|
2572
|
+
'google/gemini-omni-flash-preview': readonly [
|
|
2573
|
+
'text',
|
|
2574
|
+
'image',
|
|
2575
|
+
'document',
|
|
2576
|
+
'video',
|
|
2577
|
+
]
|
|
2597
2578
|
'google/gemma-4-26b-a4b-it': readonly ['text', 'image', 'document']
|
|
2598
2579
|
'google/gemma-4-31b-it': readonly ['text', 'image', 'document']
|
|
2599
2580
|
'inception/mercury-2': readonly ['text']
|
|
@@ -2619,13 +2600,13 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2619
2600
|
'minimax/minimax-m2.5': readonly ['text']
|
|
2620
2601
|
'minimax/minimax-m2.5-highspeed': readonly ['text']
|
|
2621
2602
|
'minimax/minimax-m2.7': readonly ['text']
|
|
2603
|
+
'minimax/minimax-m2.7-free': readonly ['text']
|
|
2622
2604
|
'minimax/minimax-m2.7-highspeed': readonly ['text']
|
|
2623
2605
|
'minimax/minimax-m3': readonly ['text', 'image', 'document']
|
|
2606
|
+
'minimax/minimax-m3-free': readonly ['text', 'image']
|
|
2624
2607
|
'mistral/codestral': readonly ['text']
|
|
2625
2608
|
'mistral/devstral-2': readonly ['text']
|
|
2626
2609
|
'mistral/devstral-small-2': readonly ['text', 'image']
|
|
2627
|
-
'mistral/magistral-medium': readonly ['text', 'image']
|
|
2628
|
-
'mistral/magistral-small': readonly ['text', 'image']
|
|
2629
2610
|
'mistral/ministral-14b': readonly ['text', 'image', 'document']
|
|
2630
2611
|
'mistral/ministral-3b': readonly ['text', 'image']
|
|
2631
2612
|
'mistral/ministral-8b': readonly ['text', 'image']
|
|
@@ -2654,7 +2635,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2654
2635
|
'nvidia/nemotron-3-super-120b-a12b': readonly ['text']
|
|
2655
2636
|
'nvidia/nemotron-3-ultra-550b-a55b': readonly ['text']
|
|
2656
2637
|
'nvidia/nemotron-3.5-lightning': readonly ['text']
|
|
2657
|
-
'nvidia/nemotron-3.5-lightning-free': readonly ['text']
|
|
2658
2638
|
'nvidia/nemotron-nano-12b-v2-vl': readonly ['text', 'image']
|
|
2659
2639
|
'nvidia/nemotron-nano-9b-v2': readonly ['text']
|
|
2660
2640
|
'openai/gpt-3.5-turbo': readonly ['text']
|
|
@@ -2669,7 +2649,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2669
2649
|
'openai/gpt-4o-fast': readonly ['text', 'image', 'document']
|
|
2670
2650
|
'openai/gpt-4o-mini': readonly ['text', 'image', 'document']
|
|
2671
2651
|
'openai/gpt-4o-mini-fast': readonly ['text', 'image', 'document']
|
|
2672
|
-
'openai/gpt-4o-mini-search-preview': readonly ['text']
|
|
2673
2652
|
'openai/gpt-4o-mini-transcribe': readonly ['text', 'audio']
|
|
2674
2653
|
'openai/gpt-4o-transcribe': readonly ['text', 'audio']
|
|
2675
2654
|
'openai/gpt-5': readonly ['text', 'image', 'document']
|
|
@@ -2707,6 +2686,7 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2707
2686
|
'openai/gpt-5.6-terra-fast': readonly ['text', 'image', 'document']
|
|
2708
2687
|
'openai/gpt-oss-120b': readonly ['text']
|
|
2709
2688
|
'openai/gpt-oss-20b': readonly ['text']
|
|
2689
|
+
'openai/gpt-oss-safeguard-120b': readonly ['text']
|
|
2710
2690
|
'openai/gpt-oss-safeguard-20b': readonly ['text']
|
|
2711
2691
|
'openai/gpt-realtime-1.5': readonly ['text', 'audio']
|
|
2712
2692
|
'openai/gpt-realtime-2': readonly ['text', 'audio']
|
|
@@ -2715,7 +2695,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2715
2695
|
'openai/gpt-realtime-whisper': readonly ['text', 'audio']
|
|
2716
2696
|
'openai/o1': readonly ['text', 'image', 'document']
|
|
2717
2697
|
'openai/o3': readonly ['text', 'image', 'document']
|
|
2718
|
-
'openai/o3-deep-research': readonly ['text', 'image', 'document']
|
|
2719
2698
|
'openai/o3-fast': readonly ['text', 'image', 'document']
|
|
2720
2699
|
'openai/o3-mini': readonly ['text']
|
|
2721
2700
|
'openai/o3-pro': readonly ['text', 'image', 'document']
|