@tanstack/ai-vercel-gateway 0.1.7 → 0.2.3
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/byok.d.ts +1 -0
- package/dist/esm/byok.js +11 -0
- package/dist/esm/byok.js.map +1 -0
- package/dist/esm/model-meta.d.ts +15 -12
- package/dist/esm/model-meta.js +4 -5
- package/dist/esm/model-meta.js.map +1 -1
- package/package.json +7 -4
- package/src/byok.ts +7 -0
- package/src/model-meta.ts +53 -50
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const vercelGatewayByok: import('@tanstack/ai/byok').ByokProvider<"vercel-gateway">;
|
package/dist/esm/byok.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { defineByokProvider } from "@tanstack/ai/byok";
|
|
2
|
+
//#region src/byok.ts
|
|
3
|
+
var vercelGatewayByok = defineByokProvider({
|
|
4
|
+
id: "vercel-gateway",
|
|
5
|
+
label: "Vercel AI Gateway",
|
|
6
|
+
env: ["AI_GATEWAY_API_KEY", "VERCEL_OIDC_TOKEN"]
|
|
7
|
+
});
|
|
8
|
+
//#endregion
|
|
9
|
+
export { vercelGatewayByok };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=byok.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byok.js","names":[],"sources":["../../src/byok.ts"],"sourcesContent":["import { defineByokProvider } from '@tanstack/ai/byok'\n\nexport const vercelGatewayByok = defineByokProvider({\n id: 'vercel-gateway',\n label: 'Vercel AI Gateway',\n env: ['AI_GATEWAY_API_KEY', 'VERCEL_OIDC_TOKEN'],\n})\n"],"mappings":";;AAEA,IAAa,oBAAoB,mBAAmB;CAClD,IAAI;CACJ,OAAO;CACP,KAAK,CAAC,sBAAsB,mBAAmB;AACjD,CAAC"}
|
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'>;
|
|
@@ -72,6 +71,7 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
72
71
|
'deepseek/deepseek-v3.2-thinking': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
73
72
|
'deepseek/deepseek-v4-flash': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
74
73
|
'deepseek/deepseek-v4-flash-0731': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
74
|
+
'deepseek/deepseek-v4-flash-vision-exp': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
75
75
|
'deepseek/deepseek-v4-pro': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
76
76
|
'deepseek/deepseek-v4-pro-0813': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
77
77
|
'fish-audio/s1': VercelGatewayCommonOptions;
|
|
@@ -123,13 +123,13 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
123
123
|
'minimax/minimax-m2.5': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
124
124
|
'minimax/minimax-m2.5-highspeed': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
125
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'>;
|
|
126
127
|
'minimax/minimax-m2.7-highspeed': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
127
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'>;
|
|
128
130
|
'mistral/codestral': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
129
131
|
'mistral/devstral-2': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
130
132
|
'mistral/devstral-small-2': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
131
|
-
'mistral/magistral-medium': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
132
|
-
'mistral/magistral-small': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
133
133
|
'mistral/ministral-14b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
134
134
|
'mistral/ministral-3b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
135
135
|
'mistral/ministral-8b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
@@ -167,7 +167,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
167
167
|
'openai/gpt-4o-fast': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
168
168
|
'openai/gpt-4o-mini': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
169
169
|
'openai/gpt-4o-mini-fast': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
170
|
-
'openai/gpt-4o-mini-search-preview': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
171
170
|
'openai/gpt-4o-mini-transcribe': VercelGatewayCommonOptions;
|
|
172
171
|
'openai/gpt-4o-transcribe': VercelGatewayCommonOptions;
|
|
173
172
|
'openai/gpt-5': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
@@ -205,6 +204,7 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
205
204
|
'openai/gpt-5.6-terra-fast': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
206
205
|
'openai/gpt-oss-120b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
207
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'>;
|
|
208
208
|
'openai/gpt-oss-safeguard-20b': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
209
209
|
'openai/gpt-realtime-1.5': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
210
210
|
'openai/gpt-realtime-2': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'>;
|
|
@@ -213,7 +213,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
213
213
|
'openai/gpt-realtime-whisper': VercelGatewayCommonOptions;
|
|
214
214
|
'openai/o1': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
215
215
|
'openai/o3': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
216
|
-
'openai/o3-deep-research': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
217
216
|
'openai/o3-fast': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
218
217
|
'openai/o3-mini': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
219
218
|
'openai/o3-pro': VercelGatewayCommonOptions & Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop' | 'reasoning' | 'include_reasoning'>;
|
|
@@ -319,7 +318,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
319
318
|
'anthropic/claude-sonnet-4.6': readonly ['text', 'image', 'document'];
|
|
320
319
|
'anthropic/claude-sonnet-5': readonly ['text', 'image', 'document'];
|
|
321
320
|
'arcee-ai/trinity-large-thinking': readonly ['text'];
|
|
322
|
-
'arcee-ai/trinity-mini': readonly ['text'];
|
|
323
321
|
'bytedance/seed-1.6': readonly ['text', 'image'];
|
|
324
322
|
'bytedance/seed-1.8': readonly ['text', 'image'];
|
|
325
323
|
'cohere/command-a': readonly ['text'];
|
|
@@ -331,6 +329,7 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
331
329
|
'deepseek/deepseek-v3.2-thinking': readonly ['text'];
|
|
332
330
|
'deepseek/deepseek-v4-flash': readonly ['text'];
|
|
333
331
|
'deepseek/deepseek-v4-flash-0731': readonly ['text'];
|
|
332
|
+
'deepseek/deepseek-v4-flash-vision-exp': readonly ['text', 'image'];
|
|
334
333
|
'deepseek/deepseek-v4-pro': readonly ['text'];
|
|
335
334
|
'deepseek/deepseek-v4-pro-0813': readonly ['text'];
|
|
336
335
|
'fish-audio/s1': readonly ['text'];
|
|
@@ -361,7 +360,12 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
361
360
|
];
|
|
362
361
|
'google/gemini-3.6-flash': readonly ['text', 'image', 'document', 'video'];
|
|
363
362
|
'google/gemini-3.7-flash': readonly ['text', 'image', 'document', 'video'];
|
|
364
|
-
'google/gemini-omni-flash-preview': readonly [
|
|
363
|
+
'google/gemini-omni-flash-preview': readonly [
|
|
364
|
+
'text',
|
|
365
|
+
'image',
|
|
366
|
+
'document',
|
|
367
|
+
'video'
|
|
368
|
+
];
|
|
365
369
|
'google/gemma-4-26b-a4b-it': readonly ['text', 'image', 'document'];
|
|
366
370
|
'google/gemma-4-31b-it': readonly ['text', 'image', 'document'];
|
|
367
371
|
'inception/mercury-2': readonly ['text'];
|
|
@@ -387,13 +391,13 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
387
391
|
'minimax/minimax-m2.5': readonly ['text'];
|
|
388
392
|
'minimax/minimax-m2.5-highspeed': readonly ['text'];
|
|
389
393
|
'minimax/minimax-m2.7': readonly ['text'];
|
|
394
|
+
'minimax/minimax-m2.7-free': readonly ['text'];
|
|
390
395
|
'minimax/minimax-m2.7-highspeed': readonly ['text'];
|
|
391
396
|
'minimax/minimax-m3': readonly ['text', 'image', 'document'];
|
|
397
|
+
'minimax/minimax-m3-free': readonly ['text', 'image'];
|
|
392
398
|
'mistral/codestral': readonly ['text'];
|
|
393
399
|
'mistral/devstral-2': readonly ['text'];
|
|
394
400
|
'mistral/devstral-small-2': readonly ['text', 'image'];
|
|
395
|
-
'mistral/magistral-medium': readonly ['text', 'image'];
|
|
396
|
-
'mistral/magistral-small': readonly ['text', 'image'];
|
|
397
401
|
'mistral/ministral-14b': readonly ['text', 'image', 'document'];
|
|
398
402
|
'mistral/ministral-3b': readonly ['text', 'image'];
|
|
399
403
|
'mistral/ministral-8b': readonly ['text', 'image'];
|
|
@@ -436,7 +440,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
436
440
|
'openai/gpt-4o-fast': readonly ['text', 'image', 'document'];
|
|
437
441
|
'openai/gpt-4o-mini': readonly ['text', 'image', 'document'];
|
|
438
442
|
'openai/gpt-4o-mini-fast': readonly ['text', 'image', 'document'];
|
|
439
|
-
'openai/gpt-4o-mini-search-preview': readonly ['text'];
|
|
440
443
|
'openai/gpt-4o-mini-transcribe': readonly ['text', 'audio'];
|
|
441
444
|
'openai/gpt-4o-transcribe': readonly ['text', 'audio'];
|
|
442
445
|
'openai/gpt-5': readonly ['text', 'image', 'document'];
|
|
@@ -474,6 +477,7 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
474
477
|
'openai/gpt-5.6-terra-fast': readonly ['text', 'image', 'document'];
|
|
475
478
|
'openai/gpt-oss-120b': readonly ['text'];
|
|
476
479
|
'openai/gpt-oss-20b': readonly ['text'];
|
|
480
|
+
'openai/gpt-oss-safeguard-120b': readonly ['text'];
|
|
477
481
|
'openai/gpt-oss-safeguard-20b': readonly ['text'];
|
|
478
482
|
'openai/gpt-realtime-1.5': readonly ['text', 'audio'];
|
|
479
483
|
'openai/gpt-realtime-2': readonly ['text', 'audio'];
|
|
@@ -482,7 +486,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
482
486
|
'openai/gpt-realtime-whisper': readonly ['text', 'audio'];
|
|
483
487
|
'openai/o1': readonly ['text', 'image', 'document'];
|
|
484
488
|
'openai/o3': readonly ['text', 'image', 'document'];
|
|
485
|
-
'openai/o3-deep-research': readonly ['text', 'image', 'document'];
|
|
486
489
|
'openai/o3-fast': readonly ['text', 'image', 'document'];
|
|
487
490
|
'openai/o3-mini': readonly ['text'];
|
|
488
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",
|
|
@@ -60,6 +59,7 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
60
59
|
"deepseek/deepseek-v3.2-thinking",
|
|
61
60
|
"deepseek/deepseek-v4-flash",
|
|
62
61
|
"deepseek/deepseek-v4-flash-0731",
|
|
62
|
+
"deepseek/deepseek-v4-flash-vision-exp",
|
|
63
63
|
"deepseek/deepseek-v4-pro",
|
|
64
64
|
"deepseek/deepseek-v4-pro-0813",
|
|
65
65
|
"fish-audio/s1",
|
|
@@ -111,13 +111,13 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
111
111
|
"minimax/minimax-m2.5",
|
|
112
112
|
"minimax/minimax-m2.5-highspeed",
|
|
113
113
|
"minimax/minimax-m2.7",
|
|
114
|
+
"minimax/minimax-m2.7-free",
|
|
114
115
|
"minimax/minimax-m2.7-highspeed",
|
|
115
116
|
"minimax/minimax-m3",
|
|
117
|
+
"minimax/minimax-m3-free",
|
|
116
118
|
"mistral/codestral",
|
|
117
119
|
"mistral/devstral-2",
|
|
118
120
|
"mistral/devstral-small-2",
|
|
119
|
-
"mistral/magistral-medium",
|
|
120
|
-
"mistral/magistral-small",
|
|
121
121
|
"mistral/ministral-14b",
|
|
122
122
|
"mistral/ministral-3b",
|
|
123
123
|
"mistral/ministral-8b",
|
|
@@ -155,7 +155,6 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
155
155
|
"openai/gpt-4o-fast",
|
|
156
156
|
"openai/gpt-4o-mini",
|
|
157
157
|
"openai/gpt-4o-mini-fast",
|
|
158
|
-
"openai/gpt-4o-mini-search-preview",
|
|
159
158
|
"openai/gpt-4o-mini-transcribe",
|
|
160
159
|
"openai/gpt-4o-transcribe",
|
|
161
160
|
"openai/gpt-5",
|
|
@@ -193,6 +192,7 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
193
192
|
"openai/gpt-5.6-terra-fast",
|
|
194
193
|
"openai/gpt-oss-120b",
|
|
195
194
|
"openai/gpt-oss-20b",
|
|
195
|
+
"openai/gpt-oss-safeguard-120b",
|
|
196
196
|
"openai/gpt-oss-safeguard-20b",
|
|
197
197
|
"openai/gpt-realtime-1.5",
|
|
198
198
|
"openai/gpt-realtime-2",
|
|
@@ -201,7 +201,6 @@ var VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
201
201
|
"openai/gpt-realtime-whisper",
|
|
202
202
|
"openai/o1",
|
|
203
203
|
"openai/o3",
|
|
204
|
-
"openai/o3-deep-research",
|
|
205
204
|
"openai/o3-fast",
|
|
206
205
|
"openai/o3-mini",
|
|
207
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-pro',\n 'deepseek/deepseek-v4-pro-0813',\n 'fish-audio/s1',\n 'fish-audio/s1-free',\n 'fish-audio/s2-pro',\n 'fish-audio/s2-pro-free',\n 'fish-audio/s2.1-pro',\n 'fish-audio/s2.1-pro-free',\n 'fish-audio/transcribe-1',\n 'fish-audio/transcribe-1-free',\n 'google/gemini-2.5-flash',\n 'google/gemini-2.5-flash-image',\n 'google/gemini-2.5-flash-lite',\n 'google/gemini-2.5-pro',\n 'google/gemini-3-flash',\n 'google/gemini-3-pro-image',\n 'google/gemini-3.1-flash-image',\n 'google/gemini-3.1-flash-image-preview',\n 'google/gemini-3.1-flash-lite',\n 'google/gemini-3.1-flash-lite-image',\n 'google/gemini-3.1-pro-preview',\n 'google/gemini-3.5-flash',\n 'google/gemini-3.5-flash-lite',\n 'google/gemini-3.6-flash',\n 'google/gemini-3.7-flash',\n 'google/gemini-omni-flash-preview',\n 'google/gemma-4-26b-a4b-it',\n 'google/gemma-4-31b-it',\n 'inception/mercury-2',\n 'inception/mercury-coder-small',\n 'inclusionai/ling-3.0-flash',\n 'interfaze/interfaze-beta',\n 'kwaipilot/kat-coder-air-v2.5',\n 'kwaipilot/kat-coder-pro-v1',\n 'kwaipilot/kat-coder-pro-v2',\n 'kwaipilot/kat-coder-pro-v2.5',\n 'meta/llama-3.1-70b',\n 'meta/llama-3.1-8b',\n 'meta/llama-3.3-70b',\n 'meta/llama-4-maverick',\n 'meta/llama-4-scout',\n 'meta/muse-glimmer-30b',\n 'meta/muse-spark-1.1',\n 'meta/muse-spark-1.2',\n 'meta/muse-spark-1.2-contributor',\n 'minimax/minimax-m2',\n 'minimax/minimax-m2.1',\n 'minimax/minimax-m2.1-lightning',\n 'minimax/minimax-m2.5',\n 'minimax/minimax-m2.5-highspeed',\n 'minimax/minimax-m2.7',\n 'minimax/minimax-m2.7-highspeed',\n 'minimax/minimax-m3',\n 'mistral/codestral',\n 'mistral/devstral-2',\n 'mistral/devstral-small-2',\n 'mistral/magistral-medium',\n 'mistral/magistral-small',\n 'mistral/ministral-14b',\n 'mistral/ministral-3b',\n 'mistral/ministral-8b',\n 'mistral/mistral-large-3',\n 'mistral/mistral-medium',\n 'mistral/mistral-medium-3.5',\n 'mistral/mistral-nemo',\n 'mistral/mistral-small',\n 'mistral/pixtral-12b',\n 'moonshotai/kimi-k2',\n 'moonshotai/kimi-k2-thinking',\n 'moonshotai/kimi-k2.5',\n 'moonshotai/kimi-k2.6',\n 'moonshotai/kimi-k2.7-code',\n 'moonshotai/kimi-k2.7-code-highspeed',\n 'moonshotai/kimi-k3',\n 'moonshotai/kimi-k3-fast',\n 'morph/morph-v3-fast',\n 'morph/morph-v3-large',\n 'nvidia/nemotron-3-nano-30b-a3b',\n 'nvidia/nemotron-3-super-120b-a12b',\n 'nvidia/nemotron-3-ultra-550b-a55b',\n 'nvidia/nemotron-3.5-lightning',\n 'nvidia/nemotron-nano-12b-v2-vl',\n 'nvidia/nemotron-nano-9b-v2',\n 'openai/gpt-3.5-turbo',\n 'openai/gpt-4-turbo',\n 'openai/gpt-4.1',\n 'openai/gpt-4.1-fast',\n 'openai/gpt-4.1-mini',\n 'openai/gpt-4.1-mini-fast',\n 'openai/gpt-4.1-nano',\n 'openai/gpt-4.1-nano-fast',\n 'openai/gpt-4o',\n 'openai/gpt-4o-fast',\n 'openai/gpt-4o-mini',\n 'openai/gpt-4o-mini-fast',\n 'openai/gpt-4o-mini-search-preview',\n 'openai/gpt-4o-mini-transcribe',\n 'openai/gpt-4o-transcribe',\n 'openai/gpt-5',\n 'openai/gpt-5-codex',\n 'openai/gpt-5-fast',\n 'openai/gpt-5-mini',\n 'openai/gpt-5-mini-fast',\n 'openai/gpt-5-nano',\n 'openai/gpt-5-pro',\n 'openai/gpt-5.1-codex',\n 'openai/gpt-5.1-codex-max',\n 'openai/gpt-5.1-codex-mini',\n 'openai/gpt-5.1-thinking',\n 'openai/gpt-5.1-thinking-fast',\n 'openai/gpt-5.2',\n 'openai/gpt-5.2-codex',\n 'openai/gpt-5.2-fast',\n 'openai/gpt-5.2-pro',\n 'openai/gpt-5.3-codex',\n 'openai/gpt-5.3-codex-fast',\n 'openai/gpt-5.4',\n 'openai/gpt-5.4-fast',\n 'openai/gpt-5.4-mini',\n 'openai/gpt-5.4-mini-fast',\n 'openai/gpt-5.4-nano',\n 'openai/gpt-5.4-pro',\n 'openai/gpt-5.5',\n 'openai/gpt-5.5-fast',\n 'openai/gpt-5.5-pro',\n 'openai/gpt-5.6-luna',\n 'openai/gpt-5.6-luna-fast',\n 'openai/gpt-5.6-sol',\n 'openai/gpt-5.6-sol-fast',\n 'openai/gpt-5.6-terra',\n 'openai/gpt-5.6-terra-fast',\n 'openai/gpt-oss-120b',\n 'openai/gpt-oss-20b',\n 'openai/gpt-oss-safeguard-20b',\n 'openai/gpt-realtime-1.5',\n 'openai/gpt-realtime-2',\n 'openai/gpt-realtime-2.1',\n 'openai/gpt-realtime-mini',\n 'openai/gpt-realtime-whisper',\n 'openai/o1',\n 'openai/o3',\n 'openai/o3-deep-research',\n 'openai/o3-fast',\n 'openai/o3-mini',\n 'openai/o3-pro',\n 'openai/o4-mini',\n 'openai/o4-mini-fast',\n 'openai/tts-1',\n 'openai/tts-1-hd',\n 'openai/whisper-1',\n 'perplexity/sonar',\n 'perplexity/sonar-pro',\n 'perplexity/sonar-reasoning-pro',\n 'poolside/laguna-s-2.1',\n 'poolside/laguna-s-2.1-free',\n 'sakana/fugu-ultra',\n 'sakana/namazu',\n '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-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'deepseek/deepseek-v4-pro-0813': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'fish-audio/s1': VercelGatewayCommonOptions\n 'fish-audio/s1-free': VercelGatewayCommonOptions\n 'fish-audio/s2-pro': VercelGatewayCommonOptions\n 'fish-audio/s2-pro-free': VercelGatewayCommonOptions\n 'fish-audio/s2.1-pro': VercelGatewayCommonOptions\n 'fish-audio/s2.1-pro-free': VercelGatewayCommonOptions\n 'fish-audio/transcribe-1': VercelGatewayCommonOptions\n 'fish-audio/transcribe-1-free': VercelGatewayCommonOptions\n 'google/gemini-2.5-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-2.5-flash-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'google/gemini-2.5-flash-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-2.5-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3-pro-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'google/gemini-3.1-flash-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-flash-image-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-flash-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-flash-lite-image': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.1-pro-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.5-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.5-flash-lite': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.6-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-3.7-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemini-omni-flash-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemma-4-26b-a4b-it': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'google/gemma-4-31b-it': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'inception/mercury-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'inception/mercury-coder-small': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'inclusionai/ling-3.0-flash': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'interfaze/interfaze-beta': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'kwaipilot/kat-coder-air-v2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'kwaipilot/kat-coder-pro-v1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'kwaipilot/kat-coder-pro-v2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'kwaipilot/kat-coder-pro-v2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/llama-3.1-70b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-3.1-8b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-3.3-70b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-4-maverick': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/llama-4-scout': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'meta/muse-glimmer-30b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/muse-spark-1.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/muse-spark-1.2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'meta/muse-spark-1.2-contributor': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.1-lightning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.5-highspeed': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.7': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m2.7-highspeed': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'minimax/minimax-m3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/codestral': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/devstral-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/devstral-small-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/magistral-medium': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/magistral-small': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/ministral-14b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/ministral-3b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/ministral-8b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-large-3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-medium': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-medium-3.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'mistral/mistral-nemo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/mistral-small': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'mistral/pixtral-12b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'moonshotai/kimi-k2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'moonshotai/kimi-k2-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.6': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.7-code': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k2.7-code-highspeed': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'moonshotai/kimi-k3-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'morph/morph-v3-fast': VercelGatewayCommonOptions &\n Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop'>\n 'morph/morph-v3-large': VercelGatewayCommonOptions &\n Pick<VercelGatewayBaseOptions, 'max_tokens' | 'max_output_tokens' | 'stop'>\n 'nvidia/nemotron-3-nano-30b-a3b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-3-super-120b-a12b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-3-ultra-550b-a55b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-3.5-lightning': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-nano-12b-v2-vl': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'nvidia/nemotron-nano-9b-v2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-3.5-turbo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4-turbo': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-nano': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4.1-nano-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini-search-preview': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-4o-mini-transcribe': VercelGatewayCommonOptions\n 'openai/gpt-4o-transcribe': VercelGatewayCommonOptions\n 'openai/gpt-5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-nano': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-codex-max': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-codex-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-thinking': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.1-thinking-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.2-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.3-codex': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.3-codex-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-nano': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.4-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.5-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.5-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-luna': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-luna-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-sol': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-sol-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-terra': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-5.6-terra-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-oss-120b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-oss-20b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-oss-safeguard-20b': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-realtime-1.5': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-realtime-2': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-realtime-2.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/gpt-realtime-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'openai/gpt-realtime-whisper': VercelGatewayCommonOptions\n 'openai/o1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-deep-research': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o3-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o4-mini': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/o4-mini-fast': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'openai/tts-1': VercelGatewayCommonOptions\n 'openai/tts-1-hd': VercelGatewayCommonOptions\n 'openai/whisper-1': VercelGatewayCommonOptions\n 'perplexity/sonar': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'perplexity/sonar-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n 'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'\n >\n 'perplexity/sonar-reasoning-pro': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'poolside/laguna-s-2.1': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'poolside/laguna-s-2.1-free': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'sakana/fugu-ultra': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n >\n 'sakana/namazu': VercelGatewayCommonOptions &\n Pick<\n VercelGatewayBaseOptions,\n | 'max_tokens'\n | 'max_output_tokens'\n | 'temperature'\n | 'stop'\n | 'reasoning'\n | 'include_reasoning'\n | 'response_format'\n | 'structured_outputs'\n >\n '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-pro': readonly ['text']\n 'deepseek/deepseek-v4-pro-0813': readonly ['text']\n 'fish-audio/s1': readonly ['text']\n 'fish-audio/s1-free': readonly ['text']\n 'fish-audio/s2-pro': readonly ['text']\n 'fish-audio/s2-pro-free': readonly ['text']\n 'fish-audio/s2.1-pro': readonly ['text']\n 'fish-audio/s2.1-pro-free': readonly ['text']\n 'fish-audio/transcribe-1': readonly ['text', 'audio']\n 'fish-audio/transcribe-1-free': readonly ['text', 'audio']\n 'google/gemini-2.5-flash': readonly ['text', 'image', 'document']\n 'google/gemini-2.5-flash-image': readonly ['text', 'image']\n 'google/gemini-2.5-flash-lite': readonly ['text', 'image', 'document']\n 'google/gemini-2.5-pro': readonly ['text', 'image', 'document']\n 'google/gemini-3-flash': readonly ['text', 'image', 'document']\n 'google/gemini-3-pro-image': readonly ['text', 'image']\n 'google/gemini-3.1-flash-image': readonly ['text', 'image']\n 'google/gemini-3.1-flash-image-preview': readonly ['text', 'image']\n 'google/gemini-3.1-flash-lite': readonly ['text', 'image', 'document']\n 'google/gemini-3.1-flash-lite-image': readonly ['text', 'image']\n 'google/gemini-3.1-pro-preview': readonly ['text', 'image', 'document']\n 'google/gemini-3.5-flash': readonly ['text', 'image', 'document', 'video']\n 'google/gemini-3.5-flash-lite': readonly [\n 'text',\n 'image',\n 'document',\n 'video',\n ]\n 'google/gemini-3.6-flash': readonly ['text', 'image', 'document', 'video']\n 'google/gemini-3.7-flash': readonly ['text', 'image', 'document', 'video']\n 'google/gemini-omni-flash-preview': readonly ['text', 'image', 'document']\n 'google/gemma-4-26b-a4b-it': readonly ['text', 'image', 'document']\n 'google/gemma-4-31b-it': readonly ['text', 'image', 'document']\n 'inception/mercury-2': readonly ['text']\n 'inception/mercury-coder-small': readonly ['text']\n 'inclusionai/ling-3.0-flash': readonly ['text']\n 'interfaze/interfaze-beta': readonly ['text', 'image', 'document']\n 'kwaipilot/kat-coder-air-v2.5': readonly ['text', 'image']\n 'kwaipilot/kat-coder-pro-v1': readonly ['text']\n 'kwaipilot/kat-coder-pro-v2': readonly ['text']\n 'kwaipilot/kat-coder-pro-v2.5': readonly ['text', 'image']\n 'meta/llama-3.1-70b': readonly ['text']\n 'meta/llama-3.1-8b': readonly ['text']\n 'meta/llama-3.3-70b': readonly ['text']\n 'meta/llama-4-maverick': readonly ['text', 'image']\n 'meta/llama-4-scout': readonly ['text', 'image']\n 'meta/muse-glimmer-30b': readonly ['text', 'image']\n 'meta/muse-spark-1.1': readonly ['text', 'image', 'document']\n 'meta/muse-spark-1.2': readonly ['text', 'image', 'document']\n 'meta/muse-spark-1.2-contributor': readonly ['text', 'image', 'document']\n 'minimax/minimax-m2': readonly ['text']\n 'minimax/minimax-m2.1': readonly ['text']\n 'minimax/minimax-m2.1-lightning': readonly ['text']\n 'minimax/minimax-m2.5': readonly ['text']\n 'minimax/minimax-m2.5-highspeed': readonly ['text']\n 'minimax/minimax-m2.7': readonly ['text']\n 'minimax/minimax-m2.7-highspeed': readonly ['text']\n 'minimax/minimax-m3': readonly ['text', 'image', 'document']\n 'mistral/codestral': readonly ['text']\n 'mistral/devstral-2': readonly ['text']\n 'mistral/devstral-small-2': readonly ['text', 'image']\n 'mistral/magistral-medium': readonly ['text', 'image']\n 'mistral/magistral-small': readonly ['text', 'image']\n 'mistral/ministral-14b': readonly ['text', 'image', 'document']\n 'mistral/ministral-3b': readonly ['text', 'image']\n 'mistral/ministral-8b': readonly ['text', 'image']\n 'mistral/mistral-large-3': readonly ['text', 'image']\n 'mistral/mistral-medium': readonly ['text', 'image']\n 'mistral/mistral-medium-3.5': readonly ['text', 'image']\n 'mistral/mistral-nemo': readonly ['text', 'image']\n 'mistral/mistral-small': readonly ['text', 'image']\n 'mistral/pixtral-12b': readonly ['text', 'image']\n 'moonshotai/kimi-k2': readonly ['text']\n 'moonshotai/kimi-k2-thinking': readonly ['text']\n 'moonshotai/kimi-k2.5': readonly ['text', 'image', 'video']\n 'moonshotai/kimi-k2.6': readonly ['text', 'image', 'video']\n 'moonshotai/kimi-k2.7-code': readonly ['text', 'image', 'document', 'video']\n 'moonshotai/kimi-k2.7-code-highspeed': readonly [\n 'text',\n 'image',\n 'document',\n 'video',\n ]\n 'moonshotai/kimi-k3': readonly ['text', 'image', 'document', 'video']\n 'moonshotai/kimi-k3-fast': readonly ['text', 'image', 'document']\n 'morph/morph-v3-fast': readonly ['text']\n 'morph/morph-v3-large': readonly ['text']\n 'nvidia/nemotron-3-nano-30b-a3b': readonly ['text']\n 'nvidia/nemotron-3-super-120b-a12b': readonly ['text']\n 'nvidia/nemotron-3-ultra-550b-a55b': readonly ['text']\n 'nvidia/nemotron-3.5-lightning': readonly ['text']\n 'nvidia/nemotron-nano-12b-v2-vl': readonly ['text', 'image']\n 'nvidia/nemotron-nano-9b-v2': readonly ['text']\n 'openai/gpt-3.5-turbo': readonly ['text']\n 'openai/gpt-4-turbo': readonly ['text', 'image']\n 'openai/gpt-4.1': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-nano': readonly ['text', 'image', 'document']\n 'openai/gpt-4.1-nano-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4o': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-4o-mini-search-preview': readonly ['text']\n 'openai/gpt-4o-mini-transcribe': readonly ['text', 'audio']\n 'openai/gpt-4o-transcribe': readonly ['text', 'audio']\n 'openai/gpt-5': readonly ['text', 'image', 'document']\n 'openai/gpt-5-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-5-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5-nano': readonly ['text', 'image', 'document']\n 'openai/gpt-5-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-codex-max': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-codex-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-thinking': readonly ['text', 'image', 'document']\n 'openai/gpt-5.1-thinking-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.2-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.3-codex': readonly ['text', 'image', 'document']\n 'openai/gpt-5.3-codex-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-mini': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-mini-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-nano': readonly ['text', 'image', 'document']\n 'openai/gpt-5.4-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.5': readonly ['text', 'image', 'document']\n 'openai/gpt-5.5-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.5-pro': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-luna': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-luna-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-sol': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-sol-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-terra': readonly ['text', 'image', 'document']\n 'openai/gpt-5.6-terra-fast': readonly ['text', 'image', 'document']\n 'openai/gpt-oss-120b': readonly ['text']\n 'openai/gpt-oss-20b': readonly ['text']\n 'openai/gpt-oss-safeguard-20b': readonly ['text']\n 'openai/gpt-realtime-1.5': readonly ['text', 'audio']\n 'openai/gpt-realtime-2': readonly ['text', 'audio']\n 'openai/gpt-realtime-2.1': readonly ['text', 'audio']\n 'openai/gpt-realtime-mini': readonly ['text', 'audio']\n 'openai/gpt-realtime-whisper': readonly ['text', 'audio']\n 'openai/o1': readonly ['text', 'image', 'document']\n 'openai/o3': readonly ['text', 'image', 'document']\n 'openai/o3-deep-research': readonly ['text', 'image', 'document']\n 'openai/o3-fast': readonly ['text', 'image', 'document']\n 'openai/o3-mini': readonly ['text']\n 'openai/o3-pro': readonly ['text', 'image', 'document']\n 'openai/o4-mini': readonly ['text', 'image', 'document']\n 'openai/o4-mini-fast': readonly ['text', 'image', 'document']\n 'openai/tts-1': readonly ['text']\n 'openai/tts-1-hd': readonly ['text']\n 'openai/whisper-1': readonly ['text', 'audio']\n 'perplexity/sonar': readonly ['text', 'image']\n 'perplexity/sonar-pro': readonly ['text', 'image']\n 'perplexity/sonar-reasoning-pro': readonly ['text', 'image']\n 'poolside/laguna-s-2.1': readonly ['text']\n 'poolside/laguna-s-2.1-free': readonly ['text']\n 'sakana/fugu-ultra': readonly ['text', 'image']\n 'sakana/namazu': readonly ['text', 'image', 'document']\n '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;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.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Vercel AI Gateway adapter for TanStack AI chat, embeddings, and image generation.",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,6 +25,10 @@
|
|
|
25
25
|
"types": "./dist/esm/index.d.ts",
|
|
26
26
|
"import": "./dist/esm/index.js"
|
|
27
27
|
},
|
|
28
|
+
"./byok": {
|
|
29
|
+
"types": "./dist/esm/byok.d.ts",
|
|
30
|
+
"import": "./dist/esm/byok.js"
|
|
31
|
+
},
|
|
28
32
|
"./tools": {
|
|
29
33
|
"types": "./dist/esm/tools/index.d.ts",
|
|
30
34
|
"import": "./dist/esm/tools/index.js"
|
|
@@ -52,13 +56,12 @@
|
|
|
52
56
|
"vite": "^8.2.1"
|
|
53
57
|
},
|
|
54
58
|
"peerDependencies": {
|
|
55
|
-
"
|
|
56
|
-
"@tanstack/ai": "^0.48.0"
|
|
59
|
+
"@tanstack/ai": "^0.50.0"
|
|
57
60
|
},
|
|
58
61
|
"dependencies": {
|
|
59
62
|
"openai": "^6.41.0",
|
|
60
63
|
"@tanstack/ai-utils": "^0.4.0",
|
|
61
|
-
"@tanstack/openai-base": "^0.10.
|
|
64
|
+
"@tanstack/openai-base": "^0.10.6"
|
|
62
65
|
},
|
|
63
66
|
"scripts": {
|
|
64
67
|
"build": "vite build",
|
package/src/byok.ts
ADDED
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',
|
|
@@ -74,6 +73,7 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
74
73
|
'deepseek/deepseek-v3.2-thinking',
|
|
75
74
|
'deepseek/deepseek-v4-flash',
|
|
76
75
|
'deepseek/deepseek-v4-flash-0731',
|
|
76
|
+
'deepseek/deepseek-v4-flash-vision-exp',
|
|
77
77
|
'deepseek/deepseek-v4-pro',
|
|
78
78
|
'deepseek/deepseek-v4-pro-0813',
|
|
79
79
|
'fish-audio/s1',
|
|
@@ -125,13 +125,13 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
125
125
|
'minimax/minimax-m2.5',
|
|
126
126
|
'minimax/minimax-m2.5-highspeed',
|
|
127
127
|
'minimax/minimax-m2.7',
|
|
128
|
+
'minimax/minimax-m2.7-free',
|
|
128
129
|
'minimax/minimax-m2.7-highspeed',
|
|
129
130
|
'minimax/minimax-m3',
|
|
131
|
+
'minimax/minimax-m3-free',
|
|
130
132
|
'mistral/codestral',
|
|
131
133
|
'mistral/devstral-2',
|
|
132
134
|
'mistral/devstral-small-2',
|
|
133
|
-
'mistral/magistral-medium',
|
|
134
|
-
'mistral/magistral-small',
|
|
135
135
|
'mistral/ministral-14b',
|
|
136
136
|
'mistral/ministral-3b',
|
|
137
137
|
'mistral/ministral-8b',
|
|
@@ -169,7 +169,6 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
169
169
|
'openai/gpt-4o-fast',
|
|
170
170
|
'openai/gpt-4o-mini',
|
|
171
171
|
'openai/gpt-4o-mini-fast',
|
|
172
|
-
'openai/gpt-4o-mini-search-preview',
|
|
173
172
|
'openai/gpt-4o-mini-transcribe',
|
|
174
173
|
'openai/gpt-4o-transcribe',
|
|
175
174
|
'openai/gpt-5',
|
|
@@ -207,6 +206,7 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
207
206
|
'openai/gpt-5.6-terra-fast',
|
|
208
207
|
'openai/gpt-oss-120b',
|
|
209
208
|
'openai/gpt-oss-20b',
|
|
209
|
+
'openai/gpt-oss-safeguard-120b',
|
|
210
210
|
'openai/gpt-oss-safeguard-20b',
|
|
211
211
|
'openai/gpt-realtime-1.5',
|
|
212
212
|
'openai/gpt-realtime-2',
|
|
@@ -215,7 +215,6 @@ export const VERCEL_GATEWAY_CHAT_MODELS = [
|
|
|
215
215
|
'openai/gpt-realtime-whisper',
|
|
216
216
|
'openai/o1',
|
|
217
217
|
'openai/o3',
|
|
218
|
-
'openai/o3-deep-research',
|
|
219
218
|
'openai/o3-fast',
|
|
220
219
|
'openai/o3-mini',
|
|
221
220
|
'openai/o3-pro',
|
|
@@ -819,11 +818,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
819
818
|
| 'reasoning'
|
|
820
819
|
| 'include_reasoning'
|
|
821
820
|
>
|
|
822
|
-
'arcee-ai/trinity-mini': VercelGatewayCommonOptions &
|
|
823
|
-
Pick<
|
|
824
|
-
VercelGatewayBaseOptions,
|
|
825
|
-
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
826
|
-
>
|
|
827
821
|
'bytedance/seed-1.6': VercelGatewayCommonOptions &
|
|
828
822
|
Pick<
|
|
829
823
|
VercelGatewayBaseOptions,
|
|
@@ -914,6 +908,16 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
914
908
|
| 'reasoning'
|
|
915
909
|
| 'include_reasoning'
|
|
916
910
|
>
|
|
911
|
+
'deepseek/deepseek-v4-flash-vision-exp': VercelGatewayCommonOptions &
|
|
912
|
+
Pick<
|
|
913
|
+
VercelGatewayBaseOptions,
|
|
914
|
+
| 'max_tokens'
|
|
915
|
+
| 'max_output_tokens'
|
|
916
|
+
| 'temperature'
|
|
917
|
+
| 'stop'
|
|
918
|
+
| 'reasoning'
|
|
919
|
+
| 'include_reasoning'
|
|
920
|
+
>
|
|
917
921
|
'deepseek/deepseek-v4-pro': VercelGatewayCommonOptions &
|
|
918
922
|
Pick<
|
|
919
923
|
VercelGatewayBaseOptions,
|
|
@@ -1307,7 +1311,7 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1307
1311
|
| 'reasoning'
|
|
1308
1312
|
| 'include_reasoning'
|
|
1309
1313
|
>
|
|
1310
|
-
'minimax/minimax-m2.7-
|
|
1314
|
+
'minimax/minimax-m2.7-free': VercelGatewayCommonOptions &
|
|
1311
1315
|
Pick<
|
|
1312
1316
|
VercelGatewayBaseOptions,
|
|
1313
1317
|
| 'max_tokens'
|
|
@@ -1317,7 +1321,7 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1317
1321
|
| 'reasoning'
|
|
1318
1322
|
| 'include_reasoning'
|
|
1319
1323
|
>
|
|
1320
|
-
'minimax/minimax-
|
|
1324
|
+
'minimax/minimax-m2.7-highspeed': VercelGatewayCommonOptions &
|
|
1321
1325
|
Pick<
|
|
1322
1326
|
VercelGatewayBaseOptions,
|
|
1323
1327
|
| 'max_tokens'
|
|
@@ -1327,22 +1331,7 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1327
1331
|
| 'reasoning'
|
|
1328
1332
|
| 'include_reasoning'
|
|
1329
1333
|
>
|
|
1330
|
-
'
|
|
1331
|
-
Pick<
|
|
1332
|
-
VercelGatewayBaseOptions,
|
|
1333
|
-
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1334
|
-
>
|
|
1335
|
-
'mistral/devstral-2': VercelGatewayCommonOptions &
|
|
1336
|
-
Pick<
|
|
1337
|
-
VercelGatewayBaseOptions,
|
|
1338
|
-
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1339
|
-
>
|
|
1340
|
-
'mistral/devstral-small-2': VercelGatewayCommonOptions &
|
|
1341
|
-
Pick<
|
|
1342
|
-
VercelGatewayBaseOptions,
|
|
1343
|
-
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1344
|
-
>
|
|
1345
|
-
'mistral/magistral-medium': VercelGatewayCommonOptions &
|
|
1334
|
+
'minimax/minimax-m3': VercelGatewayCommonOptions &
|
|
1346
1335
|
Pick<
|
|
1347
1336
|
VercelGatewayBaseOptions,
|
|
1348
1337
|
| 'max_tokens'
|
|
@@ -1352,7 +1341,7 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1352
1341
|
| 'reasoning'
|
|
1353
1342
|
| 'include_reasoning'
|
|
1354
1343
|
>
|
|
1355
|
-
'
|
|
1344
|
+
'minimax/minimax-m3-free': VercelGatewayCommonOptions &
|
|
1356
1345
|
Pick<
|
|
1357
1346
|
VercelGatewayBaseOptions,
|
|
1358
1347
|
| 'max_tokens'
|
|
@@ -1362,6 +1351,21 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1362
1351
|
| 'reasoning'
|
|
1363
1352
|
| 'include_reasoning'
|
|
1364
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
|
+
>
|
|
1365
1369
|
'mistral/ministral-14b': VercelGatewayCommonOptions &
|
|
1366
1370
|
Pick<
|
|
1367
1371
|
VercelGatewayBaseOptions,
|
|
@@ -1609,11 +1613,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1609
1613
|
VercelGatewayBaseOptions,
|
|
1610
1614
|
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1611
1615
|
>
|
|
1612
|
-
'openai/gpt-4o-mini-search-preview': VercelGatewayCommonOptions &
|
|
1613
|
-
Pick<
|
|
1614
|
-
VercelGatewayBaseOptions,
|
|
1615
|
-
'max_tokens' | 'max_output_tokens' | 'temperature' | 'stop'
|
|
1616
|
-
>
|
|
1617
1616
|
'openai/gpt-4o-mini-transcribe': VercelGatewayCommonOptions
|
|
1618
1617
|
'openai/gpt-4o-transcribe': VercelGatewayCommonOptions
|
|
1619
1618
|
'openai/gpt-5': VercelGatewayCommonOptions &
|
|
@@ -1960,6 +1959,16 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
1960
1959
|
| 'reasoning'
|
|
1961
1960
|
| 'include_reasoning'
|
|
1962
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
|
+
>
|
|
1963
1972
|
'openai/gpt-oss-safeguard-20b': VercelGatewayCommonOptions &
|
|
1964
1973
|
Pick<
|
|
1965
1974
|
VercelGatewayBaseOptions,
|
|
@@ -2014,16 +2023,6 @@ export type VercelGatewayChatModelProviderOptionsByName = {
|
|
|
2014
2023
|
| 'reasoning'
|
|
2015
2024
|
| 'include_reasoning'
|
|
2016
2025
|
>
|
|
2017
|
-
'openai/o3-deep-research': VercelGatewayCommonOptions &
|
|
2018
|
-
Pick<
|
|
2019
|
-
VercelGatewayBaseOptions,
|
|
2020
|
-
| 'max_tokens'
|
|
2021
|
-
| 'max_output_tokens'
|
|
2022
|
-
| 'temperature'
|
|
2023
|
-
| 'stop'
|
|
2024
|
-
| 'reasoning'
|
|
2025
|
-
| 'include_reasoning'
|
|
2026
|
-
>
|
|
2027
2026
|
'openai/o3-fast': VercelGatewayCommonOptions &
|
|
2028
2027
|
Pick<
|
|
2029
2028
|
VercelGatewayBaseOptions,
|
|
@@ -2528,7 +2527,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2528
2527
|
'anthropic/claude-sonnet-4.6': readonly ['text', 'image', 'document']
|
|
2529
2528
|
'anthropic/claude-sonnet-5': readonly ['text', 'image', 'document']
|
|
2530
2529
|
'arcee-ai/trinity-large-thinking': readonly ['text']
|
|
2531
|
-
'arcee-ai/trinity-mini': readonly ['text']
|
|
2532
2530
|
'bytedance/seed-1.6': readonly ['text', 'image']
|
|
2533
2531
|
'bytedance/seed-1.8': readonly ['text', 'image']
|
|
2534
2532
|
'cohere/command-a': readonly ['text']
|
|
@@ -2540,6 +2538,7 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2540
2538
|
'deepseek/deepseek-v3.2-thinking': readonly ['text']
|
|
2541
2539
|
'deepseek/deepseek-v4-flash': readonly ['text']
|
|
2542
2540
|
'deepseek/deepseek-v4-flash-0731': readonly ['text']
|
|
2541
|
+
'deepseek/deepseek-v4-flash-vision-exp': readonly ['text', 'image']
|
|
2543
2542
|
'deepseek/deepseek-v4-pro': readonly ['text']
|
|
2544
2543
|
'deepseek/deepseek-v4-pro-0813': readonly ['text']
|
|
2545
2544
|
'fish-audio/s1': readonly ['text']
|
|
@@ -2570,7 +2569,12 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2570
2569
|
]
|
|
2571
2570
|
'google/gemini-3.6-flash': readonly ['text', 'image', 'document', 'video']
|
|
2572
2571
|
'google/gemini-3.7-flash': readonly ['text', 'image', 'document', 'video']
|
|
2573
|
-
'google/gemini-omni-flash-preview': readonly [
|
|
2572
|
+
'google/gemini-omni-flash-preview': readonly [
|
|
2573
|
+
'text',
|
|
2574
|
+
'image',
|
|
2575
|
+
'document',
|
|
2576
|
+
'video',
|
|
2577
|
+
]
|
|
2574
2578
|
'google/gemma-4-26b-a4b-it': readonly ['text', 'image', 'document']
|
|
2575
2579
|
'google/gemma-4-31b-it': readonly ['text', 'image', 'document']
|
|
2576
2580
|
'inception/mercury-2': readonly ['text']
|
|
@@ -2596,13 +2600,13 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2596
2600
|
'minimax/minimax-m2.5': readonly ['text']
|
|
2597
2601
|
'minimax/minimax-m2.5-highspeed': readonly ['text']
|
|
2598
2602
|
'minimax/minimax-m2.7': readonly ['text']
|
|
2603
|
+
'minimax/minimax-m2.7-free': readonly ['text']
|
|
2599
2604
|
'minimax/minimax-m2.7-highspeed': readonly ['text']
|
|
2600
2605
|
'minimax/minimax-m3': readonly ['text', 'image', 'document']
|
|
2606
|
+
'minimax/minimax-m3-free': readonly ['text', 'image']
|
|
2601
2607
|
'mistral/codestral': readonly ['text']
|
|
2602
2608
|
'mistral/devstral-2': readonly ['text']
|
|
2603
2609
|
'mistral/devstral-small-2': readonly ['text', 'image']
|
|
2604
|
-
'mistral/magistral-medium': readonly ['text', 'image']
|
|
2605
|
-
'mistral/magistral-small': readonly ['text', 'image']
|
|
2606
2610
|
'mistral/ministral-14b': readonly ['text', 'image', 'document']
|
|
2607
2611
|
'mistral/ministral-3b': readonly ['text', 'image']
|
|
2608
2612
|
'mistral/ministral-8b': readonly ['text', 'image']
|
|
@@ -2645,7 +2649,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2645
2649
|
'openai/gpt-4o-fast': readonly ['text', 'image', 'document']
|
|
2646
2650
|
'openai/gpt-4o-mini': readonly ['text', 'image', 'document']
|
|
2647
2651
|
'openai/gpt-4o-mini-fast': readonly ['text', 'image', 'document']
|
|
2648
|
-
'openai/gpt-4o-mini-search-preview': readonly ['text']
|
|
2649
2652
|
'openai/gpt-4o-mini-transcribe': readonly ['text', 'audio']
|
|
2650
2653
|
'openai/gpt-4o-transcribe': readonly ['text', 'audio']
|
|
2651
2654
|
'openai/gpt-5': readonly ['text', 'image', 'document']
|
|
@@ -2683,6 +2686,7 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2683
2686
|
'openai/gpt-5.6-terra-fast': readonly ['text', 'image', 'document']
|
|
2684
2687
|
'openai/gpt-oss-120b': readonly ['text']
|
|
2685
2688
|
'openai/gpt-oss-20b': readonly ['text']
|
|
2689
|
+
'openai/gpt-oss-safeguard-120b': readonly ['text']
|
|
2686
2690
|
'openai/gpt-oss-safeguard-20b': readonly ['text']
|
|
2687
2691
|
'openai/gpt-realtime-1.5': readonly ['text', 'audio']
|
|
2688
2692
|
'openai/gpt-realtime-2': readonly ['text', 'audio']
|
|
@@ -2691,7 +2695,6 @@ export type VercelGatewayModelInputModalitiesByName = {
|
|
|
2691
2695
|
'openai/gpt-realtime-whisper': readonly ['text', 'audio']
|
|
2692
2696
|
'openai/o1': readonly ['text', 'image', 'document']
|
|
2693
2697
|
'openai/o3': readonly ['text', 'image', 'document']
|
|
2694
|
-
'openai/o3-deep-research': readonly ['text', 'image', 'document']
|
|
2695
2698
|
'openai/o3-fast': readonly ['text', 'image', 'document']
|
|
2696
2699
|
'openai/o3-mini': readonly ['text']
|
|
2697
2700
|
'openai/o3-pro': readonly ['text', 'image', 'document']
|