feat(providers): sync upstream

This commit is contained in:
藍+85CD committed 2025-11-28 15:40:36 +08:00
1 parent 5a891615db
commit 337f3b49a9
6 files changed
+101 -43

No files matched your search

@@ -26,19 +26,6 @@ export const extraProviders: CodeGenProvider[] = [
models: [],
name: 'Novita AI',
},
{
apiKey: ['SILICON_FLOW_API_KEY'],
baseURL: 'https://api.siliconflow.cn/v1/',
capabilities: {
embed: true,
speech: true,
transcription: true,
},
doc: 'https://docs.siliconflow.com/en/userguide/quickstart#4-3-call-via-openai-interface',
id: 'silicon-flow',
models: [],
name: 'SiliconFlow',
},
{
apiKey: ['STEPFUN_API_KEY'],
baseURL: 'https://api.stepfun.com/v1/',
@@ -63,6 +63,16 @@ export const overrides: Record<string, Partial<Provider>> = {
'perplexity': {
api: 'https://api.perplexity.ai/',
},
'siliconflow': {
_capabilities: {
embed: true,
speech: true,
transcription: true,
},
_overrides: {
create: 'SiliconFlow',
},
},
'xai': {
api: 'https://api.x.ai/v1/',
},
+44 -17
View File
@@ -95,12 +95,21 @@ export const createGroq = (apiKey: string, baseURL = 'https://api.groq.com/opena
createEmbedProvider({ apiKey, baseURL }),
)
/**
* Create a Bailing Provider
* @see {@link https://alipaytbox.yuque.com/sxs0ba/ling/intro}
*/
export const createBailing = (apiKey: string, baseURL = 'https://api.tbox.cn/api/llm/v1/chat/completions') => merge(
createChatProvider<'Ling-1T' | 'Ring-1T'>({ apiKey, baseURL }),
createModelProvider({ apiKey, baseURL }),
)
/**
* Create a GitHub Copilot Provider
* @see {@link https://docs.github.com/en/copilot}
*/
export const createGithubCopilot = (apiKey: string, baseURL = 'https://api.githubcopilot.com') => merge(
createChatProvider<'gemini-2.0-flash-001' | 'claude-opus-4' | 'grok-code-fast-1' | 'gpt-5.1-codex' | 'claude-haiku-4.5' | 'gemini-3-pro-preview' | 'oswe-vscode-prime' | 'claude-3.5-sonnet' | 'gpt-5.1-codex-mini' | 'o3-mini' | 'gpt-5.1' | 'gpt-5-codex' | 'gpt-4o' | 'gpt-4.1' | 'o4-mini' | 'claude-opus-41' | 'gpt-5-mini' | 'claude-3.7-sonnet' | 'gemini-2.5-pro' | 'o3' | 'claude-sonnet-4' | 'gpt-5' | 'claude-3.7-sonnet-thought' | 'claude-sonnet-4.5'>({ apiKey, baseURL }),
createChatProvider<'gemini-2.0-flash-001' | 'claude-opus-4' | 'grok-code-fast-1' | 'gpt-5.1-codex' | 'claude-haiku-4.5' | 'gemini-3-pro-preview' | 'oswe-vscode-prime' | 'claude-3.5-sonnet' | 'gpt-5.1-codex-mini' | 'o3-mini' | 'gpt-5.1' | 'gpt-5-codex' | 'gpt-4o' | 'gpt-4.1' | 'o4-mini' | 'claude-opus-41' | 'gpt-5-mini' | 'claude-3.7-sonnet' | 'gemini-2.5-pro' | 'o3' | 'claude-sonnet-4' | 'gpt-5' | 'claude-3.7-sonnet-thought' | 'claude-opus-4.5' | 'claude-sonnet-4.5'>({ apiKey, baseURL }),
createModelProvider({ apiKey, baseURL }),
)
@@ -159,6 +168,15 @@ export const createChutes = (apiKey: string, baseURL = 'https://llm.chutes.ai/v1
createModelProvider({ apiKey, baseURL }),
)
/**
* Create a AgentRouter Provider
* @see {@link https://docs.agentrouter.org}
*/
export const createAgentrouter = (apiKey: string, baseURL = 'https://agentrouter.org/v1') => merge(
createChatProvider<'claude-3-5-sonnet-20241022' | 'deepseek-r1-0528' | 'claude-sonnet-4-20250514-thinking' | 'glm-4.5' | 'claude-3-5-sonnet-20240620' | 'gemini-3-pro-preview' | 'claude-3-7-sonnet-20250219-thinking' | 'deepseek-v3.1' | 'claude-sonnet-4-5-20250929' | 'kimi-k2-thinking' | 'gpt-5.1' | 'claude-sonnet-4-20250514' | 'glm-4.6' | 'claude-opus-4-20250514' | 'claude-3-5-haiku-20241022' | 'claude-3-7-sonnet-20250219' | 'gpt-5' | 'claude-opus-4-20250514-thinking' | 'deepseek-v3.2' | 'claude-haiku-4-5-20251001'>({ apiKey, baseURL }),
createModelProvider({ apiKey, baseURL }),
)
/**
* Create a Cortecs Provider
* @see {@link https://api.cortecs.ai/v1/models}
@@ -186,6 +204,18 @@ export const createBaseten = (apiKey: string, baseURL = 'https://inference.baset
createModelProvider({ apiKey, baseURL }),
)
/**
* Create a SiliconFlow Provider
* @see {@link https://cloud.siliconflow.com/models}
*/
export const createSiliconFlow = (apiKey: string, baseURL = 'https://api.siliconflow.com/v1') => merge(
createChatProvider<'deepseek-ai-deepseek-r1-distill-qwen-7b' | 'z-ai-glm-4.5-air' | 'qwen-qwen2.5-72b-instruct-128k' | 'deepseek-ai-deepseek-vl2' | 'moonshotai-kimi-dev-72b' | 'qwen-qwen2.5-coder-32b-instruct' | 'qwen-qwen3-omni-30b-a3b-captioner' | 'qwen-qwen3-vl-235b-a22b-thinking' | 'thudm-glm-z1-9b-0414' | 'qwen-qwen3-vl-30b-a3b-thinking' | 'deepseek-ai-deepseek-v3.2-exp' | 'qwen-qwen2.5-vl-32b-instruct' | 'qwen-qwen3-235b-a22b-thinking-2507' | 'qwen-qwen3-vl-32b-instruct' | 'inclusionai-ling-flash-2.0' | 'moonshotai-kimi-k2-instruct' | 'inclusionai-ling-mini-2.0' | 'qwen-qwen3-coder-480b-a35b-instruct' | 'qwen-qwen3-omni-30b-a3b-instruct' | 'moonshotai-kimi-k2-instruct-0905' | 'qwen-qwen3-30b-a3b-thinking-2507' | 'qwen-qwen3-14b' | 'deepseek-ai-deepseek-r1' | 'deepseek-ai-deepseek-v3.1' | 'z-ai-glm-4.5' | 'qwen-qwen3-30b-a3b-instruct-2507' | 'zai-org-glm-4.5v' | 'inclusionai-ring-flash-2.0' | 'thudm-glm-z1-32b-0414' | 'qwen-qwen2.5-vl-72b-instruct' | 'qwen-qwen3-vl-32b-thinking' | 'tencent-hunyuan-mt-7b' | 'qwen-qwen3-30b-a3b' | 'openai-gpt-oss-120b' | 'minimaxai-minimax-m1-80k' | 'deepseek-ai-deepseek-v3.1-terminus' | 'zai-org-glm-4.5-air' | 'thudm-glm-4-9b-0414' | 'qwen-qwen3-coder-30b-a3b-instruct' | 'qwen-qwq-32b' | 'stepfun-ai-step3' | 'thudm-glm-4.1v-9b-thinking' | 'qwen-qwen3-next-80b-a3b-thinking' | 'qwen-qwen3-vl-235b-a22b-instruct' | 'zai-org-glm-4.5' | 'deepseek-ai-deepseek-r1-distill-qwen-14b' | 'deepseek-ai-deepseek-v3' | 'openai-gpt-oss-20b' | 'qwen-qwen2.5-7b-instruct' | 'qwen-qwen2.5-32b-instruct' | 'minimaxai-minimax-m2' | 'bytedance-seed-seed-oss-36b-instruct' | 'qwen-qwen2.5-vl-7b-instruct' | 'qwen-qwen3-vl-8b-thinking' | 'qwen-qwen3-vl-8b-instruct' | 'nex-agi-deepseek-v3.1-nex-n1' | 'qwen-qwen3-8b' | 'qwen-qwen2.5-72b-instruct' | 'qwen-qwen3-235b-a22b' | 'meta-llama-meta-llama-3.1-8b-instruct' | 'qwen-qwen3-235b-a22b-instruct-2507' | 'baidu-ernie-4.5-300b-a47b' | 'qwen-qwen3-omni-30b-a3b-thinking' | 'zai-org-glm-4.6' | 'qwen-qwen3-32b' | 'tencent-hunyuan-a13b-instruct' | 'thudm-glm-4-32b-0414' | 'deepseek-ai-deepseek-r1-distill-qwen-32b' | 'qwen-qwen3-next-80b-a3b-instruct' | 'qwen-qwen3-vl-30b-a3b-instruct' | 'moonshotai-kimi-k2-thinking' | 'qwen-qwen2.5-14b-instruct'>({ apiKey, baseURL }),
createModelProvider({ apiKey, baseURL }),
createEmbedProvider({ apiKey, baseURL }),
createSpeechProvider({ apiKey, baseURL }),
createTranscriptionProvider({ apiKey, baseURL }),
)
/**
* Create a Hugging Face Provider
* @see {@link https://huggingface.co/docs/inference-providers}
@@ -200,7 +230,7 @@ export const createHuggingface = (apiKey: string, baseURL = 'https://router.hugg
* @see {@link https://opencode.ai/docs/zen}
*/
export const createOpencode = (apiKey: string, baseURL = 'https://opencode.ai/zen/v1') => merge(
createChatProvider<'qwen3-coder' | 'claude-opus-4-1' | 'kimi-k2' | 'gpt-5.1-codex' | 'claude-haiku-4-5' | 'gemini-3-pro' | 'claude-sonnet-4-5' | 'alpha-gd4' | 'alpha-kimi-k2-thinking' | 'gpt-5.1' | 'alpha-minimax-m2' | 'gpt-5-nano' | 'gpt-5-codex' | 'big-pickle' | 'claude-3-5-haiku' | 'glm-4.6' | 'grok-code' | 'alpha-doubao-seed-code' | 'claude-sonnet-4' | 'gpt-5'>({ apiKey, baseURL }),
createChatProvider<'qwen3-coder' | 'claude-opus-4-1' | 'kimi-k2' | 'gpt-5.1-codex' | 'claude-haiku-4-5' | 'claude-opus-4-5' | 'gemini-3-pro' | 'claude-sonnet-4-5' | 'alpha-gd4' | 'kimi-k2-thinking' | 'gpt-5.1' | 'alpha-minimax-m2' | 'gpt-5-nano' | 'gpt-5-codex' | 'big-pickle' | 'claude-3-5-haiku' | 'glm-4.6' | 'grok-code' | 'alpha-doubao-seed-code' | 'claude-sonnet-4' | 'gpt-5'>({ apiKey, baseURL }),
createModelProvider({ apiKey, baseURL }),
)
@@ -368,7 +398,7 @@ export const createInference = (apiKey: string, baseURL = 'https://inference.net
* @see {@link https://requesty.ai/solution/llm-routing/models}
*/
export const createRequesty = (apiKey: string, baseURL = 'https://router.requesty.ai/v1') => merge(
createChatProvider<'xai/grok-4' | 'xai/grok-4-fast' | 'google/gemini-2.5-flash' | 'google/gemini-2.5-pro' | 'openai/gpt-4.1-mini' | 'openai/gpt-5-nano' | 'openai/gpt-4.1' | 'openai/o4-mini' | 'openai/gpt-5-mini' | 'openai/gpt-4o-mini' | 'openai/gpt-5' | 'anthropic/claude-opus-4' | 'anthropic/claude-opus-4-1' | 'anthropic/claude-haiku-4-5' | 'anthropic/claude-sonnet-4-5' | 'anthropic/claude-3-7-sonnet' | 'anthropic/claude-sonnet-4'>({ apiKey, baseURL }),
createChatProvider<'xai/grok-4' | 'xai/grok-4-fast' | 'google/gemini-3-pro-preview' | 'google/gemini-2.5-flash' | 'google/gemini-2.5-pro' | 'openai/gpt-4.1-mini' | 'openai/gpt-5-nano' | 'openai/gpt-4.1' | 'openai/o4-mini' | 'openai/gpt-5-mini' | 'openai/gpt-4o-mini' | 'openai/gpt-5' | 'anthropic/claude-opus-4' | 'anthropic/claude-opus-4-1' | 'anthropic/claude-haiku-4-5' | 'anthropic/claude-opus-4-5' | 'anthropic/claude-sonnet-4-5' | 'anthropic/claude-3-7-sonnet' | 'anthropic/claude-sonnet-4'>({ apiKey, baseURL }),
createModelProvider({ apiKey, baseURL }),
)
@@ -390,12 +420,21 @@ export const createLmstudio = (apiKey: string, baseURL = 'http://127.0.0.1:1234/
createModelProvider({ apiKey, baseURL }),
)
/**
* Create a IO Intelligence Provider
* @see {@link https://io.net/docs/guides/intelligence/io-intelligence}
*/
export const createIoIntelligence = (apiKey: string, baseURL = 'https://api.intelligence.io.solutions/api/v1') => merge(
createChatProvider<'deepseek-ai-deepseek-r1-0528' | 'mistralai-magistral-small-2506' | 'intel-qwen3-coder-480b-a35b-instruct-int4-mixed-ar' | 'qwen-qwen3-235b-a22b-thinking-2507' | 'mistralai-devstral-small-2505' | 'qwen-qwen2-5-vl-32b-instruct' | 'moonshotai-kimi-k2-instruct-0905' | 'meta-llama-llama-4-maverick-17b-128e-instruct-fp8' | 'openai-gpt-oss-120b' | 'meta-llama-llama-3-3-70b-instruct' | 'zai-org-glm-4-6' | 'openai-gpt-oss-20b' | 'mistralai-mistral-large-instruct-2411' | 'meta-llama-llama-3-2-90b-vision-instruct' | 'mistralai-mistral-nemo-instruct-2407' | 'qwen-qwen3-next-80b-a3b-instruct' | 'moonshotai-kimi-k2-thinking'>({ apiKey, baseURL }),
createModelProvider({ apiKey, baseURL }),
)
/**
* Create a Fireworks AI Provider
* @see {@link https://fireworks.ai/docs/}
*/
export const createFireworks = (apiKey: string, baseURL = 'https://api.fireworks.ai/inference/v1/') => merge(
createChatProvider<'accounts/fireworks/models/deepseek-r1-0528' | 'accounts/fireworks/models/deepseek-v3p1' | 'accounts/fireworks/models/minimax-m2' | 'accounts/fireworks/models/deepseek-v3-0324' | 'accounts/fireworks/models/kimi-k2-instruct' | 'accounts/fireworks/models/qwen3-235b-a22b' | 'accounts/fireworks/models/gpt-oss-20b' | 'accounts/fireworks/models/gpt-oss-120b' | 'accounts/fireworks/models/glm-4p5-air' | 'accounts/fireworks/models/qwen3-coder-480b-a35b-instruct' | 'accounts/fireworks/models/glm-4p5'>({ apiKey, baseURL }),
createChatProvider<'accounts/fireworks/models/deepseek-r1-0528' | 'accounts/fireworks/models/deepseek-v3p1' | 'accounts/fireworks/models/minimax-m2' | 'accounts/fireworks/models/deepseek-v3-0324' | 'accounts/fireworks/models/kimi-k2-thinking' | 'accounts/fireworks/models/kimi-k2-instruct' | 'accounts/fireworks/models/qwen3-235b-a22b' | 'accounts/fireworks/models/gpt-oss-20b' | 'accounts/fireworks/models/gpt-oss-120b' | 'accounts/fireworks/models/glm-4p5-air' | 'accounts/fireworks/models/qwen3-coder-480b-a35b-instruct' | 'accounts/fireworks/models/glm-4p5'>({ apiKey, baseURL }),
createModelProvider({ apiKey, baseURL }),
)
@@ -440,7 +479,7 @@ export const createPoe = (apiKey: string, baseURL = 'https://api.poe.com/v1') =>
* @see {@link https://inference-docs.cerebras.ai/models/overview}
*/
export const createCerebras = (apiKey: string, baseURL = 'https://api.cerebras.ai/v1/') => merge(
createChatProvider<'qwen-3-235b-a22b-instruct-2507' | 'zai-glm-4.6' | 'qwen-3-coder-480b' | 'gpt-oss-120b'>({ apiKey, baseURL }),
createChatProvider<'qwen-3-235b-a22b-instruct-2507' | 'zai-glm-4.6' | 'gpt-oss-120b'>({ apiKey, baseURL }),
createModelProvider({ apiKey, baseURL }),
createEmbedProvider({ apiKey, baseURL }),
)
@@ -463,18 +502,6 @@ export const createNovita = (apiKey: string, baseURL = 'https://api.novita.ai/v3
createModelProvider({ apiKey, baseURL }),
)
/**
* Create a SiliconFlow Provider
* @see {@link https://docs.siliconflow.com/en/userguide/quickstart#4-3-call-via-openai-interface}
*/
export const createSiliconFlow = (apiKey: string, baseURL = 'https://api.siliconflow.cn/v1/') => merge(
createChatProvider({ apiKey, baseURL }),
createModelProvider({ apiKey, baseURL }),
createEmbedProvider({ apiKey, baseURL }),
createSpeechProvider({ apiKey, baseURL }),
createTranscriptionProvider({ apiKey, baseURL }),
)
/**
* Create a StepFun Provider
* @see {@link https://www.stepfun.com}
+40 -10
View File
@@ -13,6 +13,7 @@ import {
createNvidia,
createUpstage,
createGroq,
createBailing,
createGithubCopilot,
createMistral,
createNebius,
@@ -20,9 +21,11 @@ import {
createAlibabaCn,
createVenice,
createChutes,
createAgentrouter,
createCortecs,
createGithubModels,
createBaseten,
createSiliconFlow,
createHuggingface,
createOpencode,
createFastrouter,
@@ -45,6 +48,7 @@ import {
createRequesty,
createMorph,
createLmstudio,
createIoIntelligence,
createFireworks,
createModelscope,
createLlama,
@@ -53,7 +57,6 @@ import {
createCerebras,
createMinimaxi,
createNovita,
createSiliconFlow,
createStepfun,
createTencentHunyuan,
} from './create'
@@ -148,6 +151,15 @@ export const upstage = createUpstage(process.env.UPSTAGE_API_KEY ?? '')
*/
export const groq = createGroq(process.env.GROQ_API_KEY ?? '')
/**
* Bailing Provider
* @see {@link https://alipaytbox.yuque.com/sxs0ba/ling/intro}
* @remarks
* - baseURL - `https://api.tbox.cn/api/llm/v1/chat/completions`
* - apiKey - `BAILING_API_TOKEN`
*/
export const bailing = createBailing(process.env.BAILING_API_TOKEN ?? '')
/**
* GitHub Copilot Provider
* @see {@link https://docs.github.com/en/copilot}
@@ -211,6 +223,15 @@ export const venice = createVenice(process.env.VENICE_API_KEY ?? '')
*/
export const chutes = createChutes(process.env.CHUTES_API_KEY ?? '')
/**
* AgentRouter Provider
* @see {@link https://docs.agentrouter.org}
* @remarks
* - baseURL - `https://agentrouter.org/v1`
* - apiKey - `AGENTROUTER_API_KEY`
*/
export const agentrouter = createAgentrouter(process.env.AGENTROUTER_API_KEY ?? '')
/**
* Cortecs Provider
* @see {@link https://api.cortecs.ai/v1/models}
@@ -238,6 +259,15 @@ export const githubModels = createGithubModels(process.env.GITHUB_TOKEN ?? '')
*/
export const baseten = createBaseten(process.env.BASETEN_API_KEY ?? '')
/**
* SiliconFlow Provider
* @see {@link https://cloud.siliconflow.com/models}
* @remarks
* - baseURL - `https://api.siliconflow.com/v1`
* - apiKey - `SILICONFLOW_API_KEY`
*/
export const siliconflow = createSiliconFlow(process.env.SILICONFLOW_API_KEY ?? '')
/**
* Hugging Face Provider
* @see {@link https://huggingface.co/docs/inference-providers}
@@ -436,6 +466,15 @@ export const morph = createMorph(process.env.MORPH_API_KEY ?? '')
*/
export const lmstudio = createLmstudio(process.env.LMSTUDIO_API_KEY ?? '')
/**
* IO Intelligence Provider
* @see {@link https://io.net/docs/guides/intelligence/io-intelligence}
* @remarks
* - baseURL - `https://api.intelligence.io.solutions/api/v1`
* - apiKey - `IOINTELLIGENCE_API_KEY`
*/
export const ioIntelligence = createIoIntelligence(process.env.IOINTELLIGENCE_API_KEY ?? '')
/**
* Fireworks AI Provider
* @see {@link https://fireworks.ai/docs/}
@@ -508,15 +547,6 @@ export const minimaxi = createMinimaxi(process.env.MINIMAX_API_KEY ?? '')
*/
export const novita = createNovita(process.env.NOVITA_API_KEY ?? '')
/**
* SiliconFlow Provider
* @see {@link https://docs.siliconflow.com/en/userguide/quickstart#4-3-call-via-openai-interface}
* @remarks
* - baseURL - `https://api.siliconflow.cn/v1/`
* - apiKey - `SILICON_FLOW_API_KEY`
*/
export const siliconFlow = createSiliconFlow(process.env.SILICON_FLOW_API_KEY ?? '')
/**
* StepFun Provider
* @see {@link https://www.stepfun.com}
@@ -2,12 +2,12 @@
/* eslint-disable perfectionist/sort-union-types */
export type OpenrouterModels = 'moonshotai/kimi-k2' | 'moonshotai/kimi-k2-0905' | 'moonshotai/kimi-dev-72b:free' | 'moonshotai/kimi-k2-thinking' | 'moonshotai/kimi-k2-0905:exacto' | 'moonshotai/kimi-k2:free' | 'thudm/glm-z1-32b:free' | 'nousresearch/hermes-4-70b' | 'nousresearch/hermes-4-405b' | 'nousresearch/deephermes-3-llama-3-8b-preview' | 'nvidia/nemotron-nano-9b-v2' | 'x-ai/grok-4' | 'x-ai/grok-code-fast-1' | 'x-ai/grok-3' | 'x-ai/grok-4-fast' | 'x-ai/grok-3-beta' | 'x-ai/grok-3-mini-beta' | 'x-ai/grok-3-mini' | 'x-ai/grok-4.1-fast' | 'kwaipilot/kat-coder-pro:free' | 'cognitivecomputations/dolphin3.0-mistral-24b' | 'cognitivecomputations/dolphin3.0-r1-mistral-24b' | 'deepseek/deepseek-chat-v3.1' | 'deepseek/deepseek-r1:free' | 'deepseek/deepseek-v3-base:free' | 'deepseek/deepseek-v3.1-terminus' | 'deepseek/deepseek-r1-0528-qwen3-8b:free' | 'deepseek/deepseek-chat-v3-0324' | 'deepseek/deepseek-r1-0528:free' | 'deepseek/deepseek-r1-distill-llama-70b' | 'deepseek/deepseek-r1-distill-qwen-14b' | 'deepseek/deepseek-v3.1-terminus:exacto' | 'featherless/qwerky-72b' | 'tngtech/deepseek-r1t2-chimera:free' | 'minimax/minimax-m1' | 'minimax/minimax-m2' | 'minimax/minimax-01' | 'google/gemini-2.0-flash-001' | 'google/gemma-2-9b-it:free' | 'google/gemini-3-pro-preview' | 'google/gemini-2.5-flash' | 'google/gemini-2.5-pro-preview-05-06' | 'google/gemma-3n-e4b-it' | 'google/gemini-2.5-flash-lite' | 'google/gemini-2.5-pro-preview-06-05' | 'google/gemini-2.5-flash-preview-09-2025' | 'google/gemini-2.5-pro' | 'google/gemma-3-12b-it' | 'google/gemma-3n-e4b-it:free' | 'google/gemini-2.5-flash-lite-preview-09-2025' | 'google/gemini-2.0-flash-exp:free' | 'google/gemma-3-27b-it' | 'microsoft/mai-ds-r1:free' | 'openai/gpt-5.1-codex' | 'openai/gpt-4.1-mini' | 'openai/gpt-5-chat' | 'openai/gpt-5.1-codex-mini' | 'openai/gpt-5.1' | 'openai/gpt-5-nano' | 'openai/gpt-5-codex' | 'openai/gpt-4.1' | 'openai/gpt-oss-120b:exacto' | 'openai/o4-mini' | 'openai/gpt-5.1-chat' | 'openai/gpt-5-mini' | 'openai/gpt-5-image' | 'openai/gpt-oss-20b' | 'openai/gpt-oss-120b' | 'openai/gpt-4o-mini' | 'openai/gpt-5' | 'openai/gpt-5-pro' | 'openrouter/sherlock-think-alpha' | 'openrouter/sherlock-dash-alpha' | 'z-ai/glm-4.5' | 'z-ai/glm-4.5-air' | 'z-ai/glm-4.5v' | 'z-ai/glm-4.6' | 'z-ai/glm-4.6:exacto' | 'z-ai/glm-4.5-air:free' | 'qwen/qwen3-coder' | 'qwen/qwen3-32b:free' | 'qwen/qwen3-next-80b-a3b-instruct' | 'qwen/qwen-2.5-coder-32b-instruct' | 'qwen/qwen3-235b-a22b:free' | 'qwen/qwq-32b:free' | 'qwen/qwen3-30b-a3b-thinking-2507' | 'qwen/qwen3-30b-a3b:free' | 'qwen/qwen2.5-vl-72b-instruct' | 'qwen/qwen3-14b:free' | 'qwen/qwen3-30b-a3b-instruct-2507' | 'qwen/qwen3-235b-a22b-thinking-2507' | 'qwen/qwen2.5-vl-32b-instruct:free' | 'qwen/qwen2.5-vl-72b-instruct:free' | 'qwen/qwen3-235b-a22b-07-25:free' | 'qwen/qwen3-coder:free' | 'qwen/qwen3-235b-a22b-07-25' | 'qwen/qwen3-8b:free' | 'qwen/qwen3-max' | 'qwen/qwen3-next-80b-a3b-thinking' | 'qwen/qwen3-coder:exacto' | 'mistralai/devstral-medium-2507' | 'mistralai/codestral-2508' | 'mistralai/mistral-7b-instruct:free' | 'mistralai/devstral-small-2505' | 'mistralai/mistral-small-3.2-24b-instruct' | 'mistralai/devstral-small-2505:free' | 'mistralai/mistral-small-3.2-24b-instruct:free' | 'mistralai/mistral-medium-3' | 'mistralai/mistral-small-3.1-24b-instruct' | 'mistralai/devstral-small-2507' | 'mistralai/mistral-medium-3.1' | 'mistralai/mistral-nemo:free' | 'rekaai/reka-flash-3' | 'meta-llama/llama-3.2-11b-vision-instruct' | 'meta-llama/llama-3.3-70b-instruct:free' | 'meta-llama/llama-4-scout:free' | 'anthropic/claude-opus-4' | 'anthropic/claude-haiku-4.5' | 'anthropic/claude-opus-4.1' | 'anthropic/claude-3.7-sonnet' | 'anthropic/claude-3.5-haiku' | 'anthropic/claude-sonnet-4' | 'anthropic/claude-sonnet-4.5' | 'sarvamai/sarvam-m:free'
export type OpenrouterModels = 'moonshotai/kimi-k2' | 'moonshotai/kimi-k2-0905' | 'moonshotai/kimi-dev-72b:free' | 'moonshotai/kimi-k2-thinking' | 'moonshotai/kimi-k2-0905:exacto' | 'moonshotai/kimi-k2:free' | 'thudm/glm-z1-32b:free' | 'nousresearch/hermes-4-70b' | 'nousresearch/hermes-4-405b' | 'nousresearch/deephermes-3-llama-3-8b-preview' | 'nvidia/nemotron-nano-9b-v2' | 'x-ai/grok-4' | 'x-ai/grok-code-fast-1' | 'x-ai/grok-3' | 'x-ai/grok-4-fast' | 'x-ai/grok-3-beta' | 'x-ai/grok-3-mini-beta' | 'x-ai/grok-3-mini' | 'x-ai/grok-4.1-fast' | 'kwaipilot/kat-coder-pro:free' | 'cognitivecomputations/dolphin3.0-mistral-24b' | 'cognitivecomputations/dolphin3.0-r1-mistral-24b' | 'deepseek/deepseek-chat-v3.1' | 'deepseek/deepseek-r1:free' | 'deepseek/deepseek-v3-base:free' | 'deepseek/deepseek-v3.1-terminus' | 'deepseek/deepseek-r1-0528-qwen3-8b:free' | 'deepseek/deepseek-chat-v3-0324' | 'deepseek/deepseek-r1-0528:free' | 'deepseek/deepseek-r1-distill-llama-70b' | 'deepseek/deepseek-r1-distill-qwen-14b' | 'deepseek/deepseek-v3.1-terminus:exacto' | 'featherless/qwerky-72b' | 'tngtech/deepseek-r1t2-chimera:free' | 'minimax/minimax-m1' | 'minimax/minimax-m2' | 'minimax/minimax-01' | 'google/gemini-2.0-flash-001' | 'google/gemma-2-9b-it:free' | 'google/gemini-3-pro-preview' | 'google/gemini-2.5-flash' | 'google/gemini-2.5-pro-preview-05-06' | 'google/gemma-3n-e4b-it' | 'google/gemini-2.5-flash-lite' | 'google/gemini-2.5-pro-preview-06-05' | 'google/gemini-2.5-flash-preview-09-2025' | 'google/gemini-2.5-pro' | 'google/gemma-3-12b-it' | 'google/gemma-3n-e4b-it:free' | 'google/gemini-2.5-flash-lite-preview-09-2025' | 'google/gemini-2.0-flash-exp:free' | 'google/gemma-3-27b-it' | 'microsoft/mai-ds-r1:free' | 'openai/gpt-oss-safeguard-20b' | 'openai/gpt-5.1-codex' | 'openai/gpt-4.1-mini' | 'openai/gpt-5-chat' | 'openai/gpt-5.1-codex-mini' | 'openai/gpt-5.1' | 'openai/gpt-5-nano' | 'openai/gpt-5-codex' | 'openai/gpt-4.1' | 'openai/gpt-oss-120b:exacto' | 'openai/o4-mini' | 'openai/gpt-5.1-chat' | 'openai/gpt-5-mini' | 'openai/gpt-5-image' | 'openai/gpt-oss-20b' | 'openai/gpt-oss-120b' | 'openai/gpt-4o-mini' | 'openai/gpt-5' | 'openai/gpt-5-pro' | 'z-ai/glm-4.5' | 'z-ai/glm-4.5-air' | 'z-ai/glm-4.5v' | 'z-ai/glm-4.6' | 'z-ai/glm-4.6:exacto' | 'z-ai/glm-4.5-air:free' | 'qwen/qwen3-coder' | 'qwen/qwen3-32b:free' | 'qwen/qwen3-next-80b-a3b-instruct' | 'qwen/qwen-2.5-coder-32b-instruct' | 'qwen/qwen3-235b-a22b:free' | 'qwen/qwen3-coder-flash' | 'qwen/qwq-32b:free' | 'qwen/qwen3-30b-a3b-thinking-2507' | 'qwen/qwen3-30b-a3b:free' | 'qwen/qwen2.5-vl-72b-instruct' | 'qwen/qwen3-14b:free' | 'qwen/qwen3-30b-a3b-instruct-2507' | 'qwen/qwen3-235b-a22b-thinking-2507' | 'qwen/qwen2.5-vl-32b-instruct:free' | 'qwen/qwen2.5-vl-72b-instruct:free' | 'qwen/qwen3-235b-a22b-07-25:free' | 'qwen/qwen3-coder:free' | 'qwen/qwen3-235b-a22b-07-25' | 'qwen/qwen3-8b:free' | 'qwen/qwen3-max' | 'qwen/qwen3-next-80b-a3b-thinking' | 'qwen/qwen3-coder:exacto' | 'mistralai/devstral-medium-2507' | 'mistralai/codestral-2508' | 'mistralai/mistral-7b-instruct:free' | 'mistralai/devstral-small-2505' | 'mistralai/mistral-small-3.2-24b-instruct' | 'mistralai/devstral-small-2505:free' | 'mistralai/mistral-small-3.2-24b-instruct:free' | 'mistralai/mistral-medium-3' | 'mistralai/mistral-small-3.1-24b-instruct' | 'mistralai/devstral-small-2507' | 'mistralai/mistral-medium-3.1' | 'mistralai/mistral-nemo:free' | 'rekaai/reka-flash-3' | 'meta-llama/llama-3.2-11b-vision-instruct' | 'meta-llama/llama-3.3-70b-instruct:free' | 'meta-llama/llama-4-scout:free' | 'anthropic/claude-opus-4' | 'anthropic/claude-haiku-4.5' | 'anthropic/claude-opus-4.1' | 'anthropic/claude-3.7-sonnet' | 'anthropic/claude-3.5-haiku' | 'anthropic/claude-sonnet-4' | 'anthropic/claude-opus-4.5' | 'anthropic/claude-sonnet-4.5' | 'sarvamai/sarvam-m:free'
export type TogetheraiModels = 'moonshotai/Kimi-K2-Instruct' | 'openai/gpt-oss-120b' | 'meta-llama/Llama-3.3-70B-Instruct-Turbo' | 'Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8' | 'deepseek-ai/DeepSeek-R1' | 'deepseek-ai/DeepSeek-V3'
export type AzureModels = 'gpt-4.1-nano' | 'gpt-4' | 'claude-opus-4-1' | 'gpt-4-32k' | 'gpt-5.1-codex' | 'claude-haiku-4-5' | 'gpt-4.1-mini' | 'gpt-5-chat' | 'claude-sonnet-4-5' | 'gpt-3.5-turbo-0125' | 'gpt-4-turbo' | 'gpt-3.5-turbo-0613' | 'o1-preview' | 'gpt-5.1-codex-mini' | 'o3-mini' | 'gpt-5.1' | 'gpt-5-nano' | 'gpt-5-codex' | 'gpt-4o' | 'gpt-3.5-turbo-0301' | 'gpt-4.1' | 'o4-mini' | 'o1' | 'gpt-5.1-chat' | 'gpt-5-mini' | 'o1-mini' | 'gpt-3.5-turbo-instruct' | 'o3' | 'codex-mini' | 'gpt-4-turbo-vision' | 'gpt-4o-mini' | 'gpt-5' | 'gpt-3.5-turbo-1106'
export type AzureModels = 'gpt-4.1-nano' | 'gpt-4' | 'claude-opus-4-1' | 'gpt-4-32k' | 'gpt-5.1-codex' | 'claude-haiku-4-5' | 'claude-opus-4-5' | 'gpt-4.1-mini' | 'gpt-5-chat' | 'claude-sonnet-4-5' | 'gpt-3.5-turbo-0125' | 'gpt-4-turbo' | 'gpt-3.5-turbo-0613' | 'o1-preview' | 'gpt-5.1-codex-mini' | 'o3-mini' | 'gpt-5.1' | 'gpt-5-nano' | 'gpt-5-codex' | 'gpt-4o' | 'gpt-3.5-turbo-0301' | 'gpt-4.1' | 'o4-mini' | 'o1' | 'gpt-5.1-chat' | 'gpt-5-mini' | 'o1-mini' | 'gpt-3.5-turbo-instruct' | 'o3' | 'codex-mini' | 'gpt-4-turbo-vision' | 'gpt-4o-mini' | 'gpt-5' | 'gpt-3.5-turbo-1106'
export type CloudflareWorkersAiModels = 'mistral-7b-instruct-v0.1-awq' | 'aura-1' | 'mistral-7b-instruct-v0.2' | 'tinyllama-1.1b-chat-v1.0' | 'qwen1.5-0.5b-chat' | 'llama-3.2-11b-vision-instruct' | 'llama-2-13b-chat-awq' | 'llama-3.1-8b-instruct-fp8' | 'whisper' | 'stable-diffusion-xl-base-1.0' | 'llama-2-7b-chat-fp16' | 'resnet-50' | 'stable-diffusion-v1-5-inpainting' | 'sqlcoder-7b-2' | 'llama-3-8b-instruct' | 'llama-2-7b-chat-hf-lora' | 'llama-3.1-8b-instruct' | 'openchat-3.5-0106' | 'openhermes-2.5-mistral-7b-awq' | 'lucid-origin' | 'bart-large-cnn' | 'flux-1-schnell' | 'deepseek-r1-distill-qwen-32b' | 'gemma-2b-it-lora' | 'una-cybertron-7b-v2-bf16' | 'm2m100-1.2b' | 'llama-3.2-3b-instruct' | 'qwen2.5-coder-32b-instruct' | 'stable-diffusion-v1-5-img2img' | 'gemma-7b-it-lora' | 'qwen1.5-14b-chat-awq' | 'qwen1.5-1.8b-chat' | 'mistral-small-3.1-24b-instruct' | 'gemma-7b-it' | 'llamaguard-7b-awq' | 'hermes-2-pro-mistral-7b' | 'falcon-7b-instruct' | 'llama-3.3-70b-instruct-fp8-fast' | 'llama-3-8b-instruct-awq' | 'phoenix-1.0' | 'phi-2' | 'dreamshaper-8-lcm' | 'discolm-german-7b-v1-awq' | 'llama-2-7b-chat-int8' | 'llama-3.2-1b-instruct' | 'whisper-large-v3-turbo' | 'llama-4-scout-17b-16e-instruct' | 'starling-lm-7b-beta' | 'deepseek-coder-6.7b-base-awq' | 'gemma-3-12b-it' | 'llama-guard-3-8b' | 'neural-chat-7b-v3-1-awq' | 'whisper-tiny-en' | 'stable-diffusion-xl-lightning' | 'mistral-7b-instruct-v0.1' | 'llava-1.5-7b-hf' | 'gpt-oss-20b' | 'deepseek-math-7b-instruct' | 'gpt-oss-120b' | 'melotts' | 'qwen1.5-7b-chat-awq' | 'llama-3.1-8b-instruct-fast' | 'nova-3' | 'llama-3.1-70b-instruct' | 'qwq-32b' | 'zephyr-7b-beta-awq' | 'deepseek-coder-6.7b-instruct-awq' | 'llama-3.1-8b-instruct-awq' | 'mistral-7b-instruct-v0.2-lora' | 'uform-gen2-qwen-500m'
export type AnthropicModels = 'claude-opus-4-0' | 'claude-3-5-sonnet-20241022' | 'claude-opus-4-1' | 'claude-haiku-4-5' | 'claude-3-5-sonnet-20240620' | 'claude-3-5-haiku-latest' | 'claude-3-opus-20240229' | 'claude-sonnet-4-5' | 'claude-sonnet-4-5-20250929' | 'claude-sonnet-4-20250514' | 'claude-opus-4-20250514' | 'claude-3-5-haiku-20241022' | 'claude-3-haiku-20240307' | 'claude-3-7-sonnet-20250219' | 'claude-3-7-sonnet-latest' | 'claude-sonnet-4-0' | 'claude-opus-4-1-20250805' | 'claude-3-sonnet-20240229' | 'claude-haiku-4-5-20251001'
export type AnthropicModels = 'claude-opus-4-0' | 'claude-3-5-sonnet-20241022' | 'claude-opus-4-1' | 'claude-haiku-4-5' | 'claude-3-5-sonnet-20240620' | 'claude-3-5-haiku-latest' | 'claude-opus-4-5' | 'claude-3-opus-20240229' | 'claude-opus-4-5-20251101' | 'claude-sonnet-4-5' | 'claude-sonnet-4-5-20250929' | 'claude-sonnet-4-20250514' | 'claude-opus-4-20250514' | 'claude-3-5-haiku-20241022' | 'claude-3-haiku-20240307' | 'claude-3-7-sonnet-20250219' | 'claude-3-7-sonnet-latest' | 'claude-sonnet-4-0' | 'claude-opus-4-1-20250805' | 'claude-3-sonnet-20240229' | 'claude-haiku-4-5-20251001'
@@ -1,5 +1,6 @@
import process from 'node:process'
import { siliconflow } from '../generated'
import { createAnthropic, createFeatherless, createOpenRouter, createTogetherAI } from './create'
/**
@@ -37,3 +38,6 @@ export const openrouter = createOpenRouter(process.env.OPENROUTER_API_KEY ?? '')
* - apiKey - `TOGETHER_API_KEY`
*/
export const togetherai = createTogetherAI(process.env.TOGETHER_API_KEY ?? '')
/** @deprecated use `siliconflow` instead. */
export const siliconFlow = siliconflow