mirror of
https://github.com/Nezumi-2711/9router.git
synced 2026-09-22 05:31:47 +00:00
refactor(open-sse): P3 provider registry — split into providers/registry/{id}.js
- 100 registry files: transport + models co-located per provider (Mongoose-style) - providers/shared.js: shared Claude headers + OS/arch helpers (deduped) - providers/models/helpers.js: withCodexReviewModels (kept dynamic) - providers/index.js builds PROVIDERS + PROVIDER_MODELS = old API (content byte-for-byte) - config/providers.js + providerModels.js → barrel re-export, keep accessors + runtime helpers - Verified: PROVIDERS/MODELS/OAuth/alias byte-for-byte, golden translator tests pass, 0 new regression Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,845 +1,11 @@
|
||||
import { PROVIDERS } from "./providers.js";
|
||||
import { buildTtsProviderModels } from "./ttsModels.js";
|
||||
// PROVIDER_MODELS now built from providers/registry (transport + models co-located)
|
||||
import { PROVIDER_MODELS } from "../providers/index.js";
|
||||
|
||||
// Provider models - Single source of truth
|
||||
// Key = alias (cc, cx, gc, qw, if, ag, gh for OAuth; id for API Key)
|
||||
// Field "provider" for special cases (e.g. AntiGravity models that call different backends)
|
||||
export { PROVIDER_MODELS };
|
||||
|
||||
const CODEX_REVIEW_SUFFIX = "-review";
|
||||
|
||||
function withCodexReviewModels(models) {
|
||||
return models.flatMap((model) => {
|
||||
if ((model.type || "llm") !== "llm" || model.id.endsWith(CODEX_REVIEW_SUFFIX)) {
|
||||
return [model];
|
||||
}
|
||||
|
||||
return [
|
||||
model,
|
||||
{
|
||||
...model,
|
||||
id: `${model.id}${CODEX_REVIEW_SUFFIX}`,
|
||||
name: `${model.name} Review`,
|
||||
upstreamModelId: model.upstreamModelId || model.id,
|
||||
quotaFamily: "review",
|
||||
},
|
||||
];
|
||||
});
|
||||
}
|
||||
|
||||
export const PROVIDER_MODELS = {
|
||||
// OAuth Providers (using alias)
|
||||
cc: [ // Claude Code
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-4-7", name: "Claude Opus 4.7" },
|
||||
{ id: "claude-opus-4-6", name: "Claude Opus 4.6" },
|
||||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||||
{ id: "claude-opus-4-5-20251101", name: "Claude 4.5 Opus" },
|
||||
{ id: "claude-sonnet-4-5-20250929", name: "Claude 4.5 Sonnet" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude 4.5 Haiku" },
|
||||
],
|
||||
cx: withCodexReviewModels([ // OpenAI Codex
|
||||
{ id: "gpt-5.5", name: "GPT 5.5" },
|
||||
{ id: "gpt-5.4", name: "GPT 5.4" },
|
||||
{ id: "gpt-5.4-mini", name: "GPT 5.4 Mini" },
|
||||
// GPT 5.3 Codex - all thinking levels
|
||||
{ id: "gpt-5.3-codex", name: "GPT 5.3 Codex" },
|
||||
{ id: "gpt-5.3-codex-xhigh", name: "GPT 5.3 Codex (xHigh)" },
|
||||
{ id: "gpt-5.3-codex-high", name: "GPT 5.3 Codex (High)" },
|
||||
{ id: "gpt-5.3-codex-low", name: "GPT 5.3 Codex (Low)" },
|
||||
{ id: "gpt-5.3-codex-none", name: "GPT 5.3 Codex (None)" },
|
||||
{ id: "gpt-5.3-codex-spark", name: "GPT 5.3 Codex Spark" },
|
||||
// Image models (uses image_generation tool, requires Plus/Pro plan)
|
||||
{ id: "gpt-5.5-image", name: "GPT 5.5 Image", type: "image", capabilities: ["text2img", "edit"], params: ["size", "quality", "background", "image_detail", "output_format"] },
|
||||
{ id: "gpt-5.4-image", name: "GPT 5.4 Image", type: "image", capabilities: ["text2img", "edit"], params: ["size", "quality", "background", "image_detail", "output_format"] },
|
||||
{ id: "gpt-5.3-image", name: "GPT 5.3 Image", type: "image", capabilities: ["text2img", "edit"], params: ["size", "quality", "background", "image_detail", "output_format"] },
|
||||
]),
|
||||
gc: [ // Gemini CLI
|
||||
{ id: "gemini-3-flash-preview", name: "Gemini 3 Flash Preview" },
|
||||
{ id: "gemini-3-pro-preview", name: "Gemini 3 Pro Preview" },
|
||||
],
|
||||
qw: [ // Qwen Code
|
||||
// { id: "qwen3-coder-next", name: "Qwen3 Coder Next" },
|
||||
{ id: "qwen3-coder-plus", name: "Qwen3 Coder Plus" },
|
||||
{ id: "qwen3-coder-flash", name: "Qwen3 Coder Flash" },
|
||||
{ id: "vision-model", name: "Qwen3 Vision Model" },
|
||||
{ id: "coder-model", name: "Qwen3.6 Coder Model" },
|
||||
],
|
||||
if: [ // iFlow AI
|
||||
{ id: "qwen3-coder-plus", name: "Qwen3 Coder Plus" },
|
||||
{ id: "qwen3-max", name: "Qwen3 Max" },
|
||||
{ id: "qwen3-vl-plus", name: "Qwen3 VL Plus" },
|
||||
{ id: "qwen3-max-preview", name: "Qwen3 Max Preview" },
|
||||
{ id: "qwen3-235b", name: "Qwen3 235B A22B" },
|
||||
{ id: "qwen3-235b-a22b-instruct", name: "Qwen3 235B A22B Instruct" },
|
||||
{ id: "qwen3-235b-a22b-thinking-2507", name: "Qwen3 235B A22B Thinking" },
|
||||
{ id: "qwen3-32b", name: "Qwen3 32B" },
|
||||
{ id: "kimi-k2", name: "Kimi K2" },
|
||||
{ id: "deepseek-v3.2", name: "DeepSeek V3.2 Exp" },
|
||||
{ id: "deepseek-v3.1", name: "DeepSeek V3.1 Terminus" },
|
||||
{ id: "deepseek-v3", name: "DeepSeek V3 671B" },
|
||||
{ id: "deepseek-r1", name: "DeepSeek R1" },
|
||||
{ id: "glm-4.7", name: "GLM 4.7" },
|
||||
{ id: "iflow-rome-30ba3b", name: "iFlow ROME" },
|
||||
],
|
||||
ag: [ // Antigravity - special case: models call different backends
|
||||
{ id: "gemini-3-flash-agent", name: "Gemini 3.5 Flash (High)" },
|
||||
{ id: "gemini-3.5-flash-low", name: "Gemini 3.5 Flash (Medium)" },
|
||||
{ id: "gemini-3.5-flash-extra-low", name: "Gemini 3.5 Flash (Low)" },
|
||||
{ id: "gemini-pro-agent", name: "Gemini 3.1 Pro (High)" },
|
||||
{ id: "gemini-3.1-pro-low", name: "Gemini 3.1 Pro (Low)" },
|
||||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6 (Thinking)" },
|
||||
{ id: "claude-opus-4-6-thinking", name: "Claude Opus 4.6 (Thinking)" },
|
||||
{ id: "gpt-oss-120b-medium", name: "GPT-OSS 120B (Medium)" },
|
||||
{ id: "gemini-3-flash", name: "Gemini 3 Flash", thinking: false }, // command model; AG strips thinking
|
||||
],
|
||||
gh: [ // GitHub Copilot - OpenAI models
|
||||
{ id: "gpt-3.5-turbo", name: "GPT-3.5 Turbo" },
|
||||
{ id: "gpt-4", name: "GPT-4" },
|
||||
{ id: "gpt-4o", name: "GPT-4o" },
|
||||
{ id: "gpt-4o-mini", name: "GPT-4o mini" },
|
||||
{ id: "gpt-4.1", name: "GPT-4.1" },
|
||||
{ id: "gpt-5-mini", name: "GPT-5 Mini" },
|
||||
{ id: "gpt-5.2", name: "GPT-5.2" },
|
||||
{ id: "gpt-5.2-codex", name: "GPT-5.2 Codex" },
|
||||
{ id: "gpt-5.3-codex", name: "GPT-5.3 Codex" },
|
||||
{ id: "gpt-5.4", name: "GPT-5.4" },
|
||||
{ id: "gpt-5.4-mini", name: "GPT-5.4 Mini" },
|
||||
// GitHub Copilot - Anthropic models
|
||||
{ id: "claude-haiku-4.5", name: "Claude Haiku 4.5" },
|
||||
{ id: "claude-opus-4.5", name: "Claude Opus 4.5" },
|
||||
{ id: "claude-sonnet-4", name: "Claude Sonnet 4" },
|
||||
{ id: "claude-sonnet-4.5", name: "Claude Sonnet 4.5" },
|
||||
{ id: "claude-sonnet-4.6", name: "Claude Sonnet 4.6" },
|
||||
{ id: "claude-opus-4.6", name: "Claude Opus 4.6" },
|
||||
{ id: "claude-opus-4.7", name: "Claude Opus 4.7" },
|
||||
// GitHub Copilot - Google models
|
||||
{ id: "gemini-2.5-pro", name: "Gemini 2.5 Pro" },
|
||||
{ id: "gemini-3-flash-preview", name: "Gemini 3 Flash" },
|
||||
{ id: "gemini-3.1-pro-preview", name: "Gemini 3.1 Pro" },
|
||||
// GitHub Copilot - Other models
|
||||
{ id: "grok-code-fast-1", name: "Grok Code Fast 1" },
|
||||
{ id: "oswe-vscode-prime", name: "Raptor Mini" },
|
||||
{ id: "goldeneye-free-auto", name: "GoldenEye" },
|
||||
// GitHub Copilot - Embedding models
|
||||
{ id: "text-embedding-3-small", name: "Text Embedding 3 Small (GitHub)", type: "embedding" },
|
||||
{ id: "text-embedding-3-large", name: "Text Embedding 3 Large (GitHub)", type: "embedding" },
|
||||
],
|
||||
kr: [ // Kiro AI
|
||||
// --- Base Claude variants ---
|
||||
// { id: "claude-opus-4.5", name: "Claude Opus 4.5" },
|
||||
{ id: "claude-sonnet-4.5", name: "Claude Sonnet 4.5" },
|
||||
{ id: "claude-haiku-4.5", name: "Claude Haiku 4.5" },
|
||||
{ id: "deepseek-3.2", name: "DeepSeek 3.2", strip: ["image", "audio"] },
|
||||
{ id: "qwen3-coder-next", name: "Qwen3 Coder Next", strip: ["image", "audio"] },
|
||||
{ id: "glm-5", name: "GLM 5" },
|
||||
{ id: "MiniMax-M2.5", name: "MiniMax M2.5" },
|
||||
// --- Thinking variants (alias to base; thinking is enabled at request time
|
||||
// via <thinking_mode>enabled</thinking_mode> system-prompt injection) ---
|
||||
{ id: "claude-sonnet-4.5-thinking", name: "Claude Sonnet 4.5 (Thinking)" },
|
||||
{ id: "claude-haiku-4.5-thinking", name: "Claude Haiku 4.5 (Thinking)" },
|
||||
// --- Agentic variants (synthetic; same upstream model + chunked-write
|
||||
// system prompt to dodge Kiro's 2-3 min server timeout on big writes) ---
|
||||
{ id: "claude-sonnet-4.5-agentic", name: "Claude Sonnet 4.5 (Agentic)" },
|
||||
{ id: "claude-haiku-4.5-agentic", name: "Claude Haiku 4.5 (Agentic)" },
|
||||
{ id: "claude-sonnet-4.5-thinking-agentic", name: "Claude Sonnet 4.5 (Thinking + Agentic)" },
|
||||
{ id: "claude-haiku-4.5-thinking-agentic", name: "Claude Haiku 4.5 (Thinking + Agentic)" },
|
||||
],
|
||||
qd: [ // Qoder - tier + frontier models (server-published catalog)
|
||||
// Tier models — pick a quality/cost tradeoff
|
||||
{ id: "auto", name: "Qoder Auto" },
|
||||
{ id: "ultimate", name: "Qoder Ultimate" },
|
||||
{ id: "performance", name: "Qoder Performance" },
|
||||
{ id: "efficient", name: "Qoder Efficient" },
|
||||
{ id: "lite", name: "Qoder Lite" },
|
||||
// Frontier models — pin a specific backing model
|
||||
{ id: "qmodel", name: "Qwen 3.6 Plus (Qoder)" },
|
||||
{ id: "qmodel_latest", name: "Qoder Qwen 3.7 Max" },
|
||||
{ id: "dmodel", name: "DeepSeek V4 Pro (Qoder)" },
|
||||
{ id: "dfmodel", name: "DeepSeek V4 Flash (Qoder)" },
|
||||
{ id: "gm51model", name: "GLM 5.1 (Qoder)" },
|
||||
{ id: "kmodel", name: "Kimi K2.6 (Qoder)" },
|
||||
{ id: "mmodel", name: "MiniMax M2.7 (Qoder)" },
|
||||
],
|
||||
cu: [ // Cursor IDE
|
||||
{ id: "default", name: "Auto (Server Picks)" },
|
||||
{ id: "claude-4.5-opus-high-thinking", name: "Claude 4.5 Opus High Thinking" },
|
||||
{ id: "claude-4.5-opus-high", name: "Claude 4.5 Opus High" },
|
||||
{ id: "claude-4.5-sonnet-thinking", name: "Claude 4.5 Sonnet Thinking" },
|
||||
{ id: "claude-4.5-sonnet", name: "Claude 4.5 Sonnet" },
|
||||
{ id: "claude-4.5-haiku", name: "Claude 4.5 Haiku" },
|
||||
{ id: "claude-4.5-opus", name: "Claude 4.5 Opus" },
|
||||
{ id: "gpt-5.2-codex", name: "GPT 5.2 Codex" },
|
||||
{ id: "claude-4.6-opus-max", name: "Claude 4.6 Opus Max" },
|
||||
{ id: "claude-4.6-sonnet-medium-thinking", name: "Claude 4.6 Sonnet Medium Thinking" },
|
||||
{ id: "kimi-k2.5", name: "Kimi K2.5" },
|
||||
{ id: "gemini-3-flash-preview", name: "Gemini 3 Flash Preview" },
|
||||
{ id: "gpt-5.2", name: "GPT 5.2" },
|
||||
{ id: "gpt-5.3-codex", name: "GPT 5.3 Codex" },
|
||||
],
|
||||
kmc: [ // Kimi Coding
|
||||
{ id: "kimi-k2.6", name: "Kimi K2.6" },
|
||||
{ id: "kimi-k2.5", name: "Kimi K2.5" },
|
||||
{ id: "kimi-k2.5-thinking", name: "Kimi K2.5 Thinking" },
|
||||
{ id: "kimi-latest", name: "Kimi Latest" },
|
||||
],
|
||||
kc: [ // KiloCode
|
||||
{ id: "anthropic/claude-sonnet-4-20250514", name: "Claude Sonnet 4" },
|
||||
{ id: "anthropic/claude-opus-4-20250514", name: "Claude Opus 4" },
|
||||
{ id: "google/gemini-2.5-pro", name: "Gemini 2.5 Pro" },
|
||||
{ id: "google/gemini-2.5-flash", name: "Gemini 2.5 Flash" },
|
||||
{ id: "openai/gpt-4.1", name: "GPT-4.1" },
|
||||
{ id: "openai/o3", name: "o3" },
|
||||
{ id: "deepseek/deepseek-chat", name: "DeepSeek Chat" },
|
||||
{ id: "deepseek/deepseek-reasoner", name: "DeepSeek Reasoner" },
|
||||
],
|
||||
"opencode-go": [ // OpenCode Go subscription (API key)
|
||||
{ id: "kimi-k2.6", name: "Kimi K2.6" },
|
||||
{ id: "kimi-k2.5", name: "Kimi K2.5" },
|
||||
{ id: "glm-5.1", name: "GLM 5.1" },
|
||||
{ id: "glm-5", name: "GLM 5" },
|
||||
{ id: "qwen3.5-plus", name: "Qwen 3.5 Plus" },
|
||||
{ id: "qwen3.6-plus", name: "Qwen 3.6 Plus" },
|
||||
{ id: "mimo-v2-pro", name: "MiMo V2 Pro" },
|
||||
{ id: "mimo-v2-omni", name: "MiMo V2 Omni" },
|
||||
{ id: "minimax-m2.7", name: "MiniMax M2.7", targetFormat: "claude" },
|
||||
{ id: "minimax-m2.5", name: "MiniMax M2.5", targetFormat: "claude" },
|
||||
],
|
||||
oc: [ // OpenCode
|
||||
// { id: "nemotron-3-super-free", name: "Nemotron 3 Super" },
|
||||
// { id: "qwen3.6-plus-free", name: "Qwen 3.6 Plus" },
|
||||
// { id: "big-pickle", name: "Big Pickle", targetFormat: "claude" },
|
||||
// { id: "minimax-m2.5-free", name: "MiniMax M2.5", targetFormat: "claude" },
|
||||
// { id: "trinity-large-preview-free", name: "Trinity Large Preview" },
|
||||
],
|
||||
mmf: [ // MiMo Free — free channel only serves mimo-auto
|
||||
{ id: "mimo-auto", name: "MiMo Auto" },
|
||||
],
|
||||
|
||||
cl: [ // Cline
|
||||
{ id: "anthropic/claude-opus-4.7", name: "Claude Opus 4.7" },
|
||||
{ id: "anthropic/claude-sonnet-4.6", name: "Claude Sonnet 4.6" },
|
||||
{ id: "anthropic/claude-opus-4.6", name: "Claude Opus 4.6" },
|
||||
{ id: "openai/gpt-5.3-codex", name: "GPT-5.3 Codex" },
|
||||
{ id: "openai/gpt-5.4", name: "GPT-5.4" },
|
||||
{ id: "google/gemini-3.1-pro-preview", name: "Gemini 3.1 Pro Preview" },
|
||||
{ id: "google/gemini-3.1-flash-lite-preview", name: "Gemini 3.1 Flash Lite Preview" },
|
||||
{ id: "kwaipilot/kat-coder-pro", name: "KAT Coder Pro" },
|
||||
],
|
||||
|
||||
// API Key Providers (alias = id)
|
||||
openai: [
|
||||
// Flagship models
|
||||
{ id: "gpt-5.4", name: "GPT-5.4" },
|
||||
{ id: "gpt-5.4-mini", name: "GPT-5.4 Mini" },
|
||||
{ id: "gpt-5.4-nano", name: "GPT-5.4 Nano" },
|
||||
{ id: "gpt-5.2", name: "GPT-5.2" },
|
||||
{ id: "gpt-5.1", name: "GPT-5.1" },
|
||||
{ id: "gpt-5", name: "GPT-5" },
|
||||
{ id: "gpt-5-mini", name: "GPT-5 Mini" },
|
||||
{ id: "gpt-5-nano", name: "GPT-5 Nano" },
|
||||
{ id: "gpt-4o", name: "GPT-4o" },
|
||||
{ id: "gpt-4o-mini", name: "GPT-4o Mini" },
|
||||
{ id: "gpt-4-turbo", name: "GPT-4 Turbo" },
|
||||
{ id: "gpt-4.1", name: "GPT-4.1" },
|
||||
{ id: "gpt-4.1-mini", name: "GPT-4.1 Mini" },
|
||||
{ id: "gpt-4.1-nano", name: "GPT-4.1 Nano" },
|
||||
// Reasoning models
|
||||
{ id: "o3", name: "O3" },
|
||||
{ id: "o3-mini", name: "O3 Mini" },
|
||||
{ id: "o3-pro", name: "O3 Pro" },
|
||||
{ id: "o4-mini", name: "O4 Mini" },
|
||||
{ id: "o1", name: "O1" },
|
||||
{ id: "o1-mini", name: "O1 Mini" },
|
||||
// Embedding models
|
||||
{ id: "text-embedding-3-large", name: "Text Embedding 3 Large", type: "embedding" },
|
||||
{ id: "text-embedding-3-small", name: "Text Embedding 3 Small", type: "embedding" },
|
||||
{ id: "text-embedding-ada-002", name: "Text Embedding Ada 002", type: "embedding" },
|
||||
// TTS models
|
||||
{ id: "tts-1", name: "TTS-1", type: "tts" },
|
||||
{ id: "tts-1-hd", name: "TTS-1 HD", type: "tts" },
|
||||
{ id: "gpt-4o-mini-tts", name: "GPT-4o Mini TTS", type: "tts" },
|
||||
// STT models
|
||||
{ id: "whisper-1", name: "Whisper 1", type: "stt", params: ["language", "response_format", "temperature", "prompt"] },
|
||||
{ id: "gpt-4o-transcribe", name: "GPT-4o Transcribe", type: "stt", params: ["language", "response_format", "temperature", "prompt"] },
|
||||
{ id: "gpt-4o-mini-transcribe", name: "GPT-4o Mini Transcribe", type: "stt", params: ["language", "response_format", "temperature", "prompt"] },
|
||||
// Image models
|
||||
{ id: "gpt-image-1", name: "GPT Image 1", type: "image", params: ["n", "size", "quality", "response_format"] },
|
||||
{ id: "dall-e-3", name: "DALL-E 3", type: "image", params: ["size", "quality", "style", "response_format"] },
|
||||
{ id: "dall-e-2", name: "DALL-E 2", type: "image", params: ["n", "size", "response_format"] },
|
||||
],
|
||||
anthropic: [
|
||||
{ id: "claude-sonnet-4-20250514", name: "Claude Sonnet 4" },
|
||||
{ id: "claude-opus-4-20250514", name: "Claude Opus 4" },
|
||||
{ id: "claude-3-5-sonnet-20241022", name: "Claude 3.5 Sonnet" },
|
||||
],
|
||||
gemini: [
|
||||
// Gemini 3.1 series
|
||||
{ id: "gemini-3.1-pro-preview", name: "Gemini 3.1 Pro Preview" },
|
||||
{ id: "gemini-3.1-flash-lite-preview", name: "Gemini 3.1 Flash Lite Preview" },
|
||||
// Gemini 3 series
|
||||
{ id: "gemini-3-flash-preview", name: "Gemini 3 Flash Preview" },
|
||||
// Gemini 2.5 series
|
||||
{ id: "gemini-2.5-pro", name: "Gemini 2.5 Pro" },
|
||||
{ id: "gemini-2.5-flash", name: "Gemini 2.5 Flash" },
|
||||
{ id: "gemini-2.5-flash-lite", name: "Gemini 2.5 Flash Lite" },
|
||||
// Gemini 2.0 series (retiring June 1, 2026)
|
||||
{ id: "gemini-2.0-flash", name: "Gemini 2.0 Flash" },
|
||||
{ id: "gemini-2.0-flash-lite", name: "Gemini 2.0 Flash Lite" },
|
||||
{ id: "gemma-4-31b-it", name: "Gemma 4 31B IT" },
|
||||
|
||||
// Embedding models
|
||||
{ id: "gemini-embedding-2-preview", name: "Gemini Embedding 2 Preview", type: "embedding" },
|
||||
{ id: "gemini-embedding-001", name: "Gemini Embedding 001", type: "embedding" },
|
||||
{ id: "text-embedding-005", name: "Text Embedding 005", type: "embedding" },
|
||||
{ id: "text-embedding-004", name: "Text Embedding 004 (Legacy)", type: "embedding" },
|
||||
// Image models (Nano Banana)
|
||||
{ id: "gemini-3.1-flash-image-preview", name: "Gemini 3.1 Flash Image (Nano Banana 2)", type: "image", params: [] },
|
||||
{ id: "gemini-3-pro-image-preview", name: "Gemini 3 Pro Image (Nano Banana Pro)", type: "image", params: [] },
|
||||
{ id: "gemini-2.5-flash-image", name: "Gemini 2.5 Flash Image (Nano Banana)", type: "image", params: [] },
|
||||
// STT models (multimodal generateContent)
|
||||
{ id: "gemini-2.5-pro", name: "Gemini 2.5 Pro (Best)", type: "stt", params: ["language", "prompt"] },
|
||||
{ id: "gemini-2.5-flash", name: "Gemini 2.5 Flash", type: "stt", params: ["language", "prompt"] },
|
||||
{ id: "gemini-2.5-flash-lite", name: "Gemini 2.5 Flash Lite (Cheapest)", type: "stt", params: ["language", "prompt"] },
|
||||
{ id: "gemini-2.0-flash", name: "Gemini 2.0 Flash", type: "stt", params: ["language", "prompt"] },
|
||||
],
|
||||
openrouter: [
|
||||
// Embedding models
|
||||
{ id: "openai/text-embedding-3-large", name: "OpenAI Text Embedding 3 Large", type: "embedding" },
|
||||
{ id: "openai/text-embedding-3-small", name: "OpenAI Text Embedding 3 Small", type: "embedding" },
|
||||
{ id: "openai/text-embedding-ada-002", name: "OpenAI Text Embedding Ada 002", type: "embedding" },
|
||||
{ id: "qwen/qwen3-embedding-8b", name: "Qwen3 Embedding 8B", type: "embedding" },
|
||||
{ id: "perplexity/pplx-embed-v1-4b", name: "Perplexity Embed V1 4B", type: "embedding" },
|
||||
{ id: "perplexity/pplx-embed-v1-0.6b", name: "Perplexity Embed V1 0.6B", type: "embedding" },
|
||||
{ id: "nvidia/llama-nemotron-embed-vl-1b-v2:free", name: "NVIDIA Nemotron Embed VL 1B V2 (Free)", type: "embedding" },
|
||||
// TTS models
|
||||
{ id: "openai/gpt-4o-mini-tts", name: "GPT-4o Mini TTS", type: "tts" },
|
||||
{ id: "openai/tts-1-hd", name: "TTS-1 HD", type: "tts" },
|
||||
{ id: "openai/tts-1", name: "TTS-1", type: "tts" },
|
||||
// Image models
|
||||
{ id: "openai/dall-e-3", name: "DALL-E 3 (via OpenRouter)", type: "image", params: ["size", "quality", "style", "response_format"] },
|
||||
{ id: "openai/gpt-image-1", name: "GPT Image 1 (via OpenRouter)", type: "image", params: ["n", "size", "quality", "response_format"] },
|
||||
{ id: "google/imagen-3.0-generate-002", name: "Imagen 3 (via OpenRouter)", type: "image", params: ["n", "size"] },
|
||||
{ id: "black-forest-labs/FLUX.1-schnell", name: "FLUX.1 Schnell (via OpenRouter)", type: "image", params: ["n", "size"] },
|
||||
],
|
||||
glm: [
|
||||
{ id: "glm-5.1", name: "GLM 5.1" },
|
||||
{ id: "glm-5", name: "GLM 5" },
|
||||
{ id: "glm-4.7", name: "GLM 4.7" },
|
||||
{ id: "glm-4.6v", name: "GLM 4.6V (Vision)" },
|
||||
],
|
||||
"glm-cn": [
|
||||
{ id: "glm-5.1", name: "GLM 5.1" },
|
||||
{ id: "glm-5", name: "GLM 5" },
|
||||
{ id: "glm-4.7", name: "GLM-4.7" },
|
||||
{ id: "glm-4.6", name: "GLM-4.6" },
|
||||
{ id: "glm-4.5-air", name: "GLM-4.5-Air" },
|
||||
],
|
||||
kimi: [
|
||||
{ id: "kimi-k2.6", name: "Kimi K2.6" },
|
||||
{ id: "kimi-k2.5", name: "Kimi K2.5" },
|
||||
{ id: "kimi-k2.5-thinking", name: "Kimi K2.5 Thinking" },
|
||||
{ id: "kimi-latest", name: "Kimi Latest" },
|
||||
],
|
||||
minimax: [
|
||||
{ id: "MiniMax-M3", name: "MiniMax M3", targetFormat: "claude" },
|
||||
{ id: "MiniMax-M2.7", name: "MiniMax M2.7" },
|
||||
{ id: "MiniMax-M2.5", name: "MiniMax M2.5" },
|
||||
{ id: "MiniMax-M2.1", name: "MiniMax M2.1" },
|
||||
// Image models
|
||||
{ id: "minimax-image-01", name: "MiniMax Image 01", type: "image", params: ["n", "size", "response_format"] },
|
||||
],
|
||||
blackbox: [
|
||||
{ id: "gpt-4o", name: "GPT-4o" },
|
||||
{ id: "gpt-4o-mini", name: "GPT-4o mini" },
|
||||
{ id: "claude-sonnet-4.6", name: "Claude Sonnet 4.6" },
|
||||
{ id: "claude-sonnet-4.5", name: "Claude Sonnet 4.5" },
|
||||
{ id: "claude-opus-4.6", name: "Claude Opus 4.6" },
|
||||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6 (Legacy)" },
|
||||
{ id: "claude-opus-4-6", name: "Claude Opus 4.6 (Legacy)" },
|
||||
{ id: "deepseek-chat", name: "DeepSeek Chat" },
|
||||
{ id: "deepseek-v3-671b", name: "DeepSeek V3 671B" },
|
||||
{ id: "deepseek-r1", name: "DeepSeek R1" },
|
||||
{ id: "o1", name: "OpenAI o1" },
|
||||
{ id: "o3-mini", name: "OpenAI o3-mini" },
|
||||
{ id: "gemini-2.5-flash", name: "Gemini 2.5 Flash" },
|
||||
{ id: "gemini-3-flash-preview", name: "Gemini 3 Flash Preview" },
|
||||
{ id: "qwen3-coder-plus", name: "Qwen3 Coder Plus" },
|
||||
{ id: "qwen3-max", name: "Qwen3 Max" },
|
||||
{ id: "qwen3-vl-plus", name: "Qwen3 VL Plus" },
|
||||
],
|
||||
"minimax-cn": [
|
||||
{ id: "MiniMax-M3", name: "MiniMax M3", targetFormat: "claude" },
|
||||
{ id: "MiniMax-M2.7", name: "MiniMax M2.7" },
|
||||
{ id: "MiniMax-M2.5", name: "MiniMax M2.5" },
|
||||
{ id: "MiniMax-M2.1", name: "MiniMax M2.1" },
|
||||
],
|
||||
alicode: [
|
||||
{ id: "qwen3.5-plus", name: "Qwen3.5 Plus" },
|
||||
{ id: "kimi-k2.5", name: "Kimi K2.5" },
|
||||
{ id: "glm-5", name: "GLM 5" },
|
||||
{ id: "MiniMax-M2.5", name: "MiniMax M2.5" },
|
||||
{ id: "qwen3-max-2026-01-23", name: "Qwen3 Max" },
|
||||
{ id: "qwen3-coder-next", name: "Qwen3 Coder Next" },
|
||||
{ id: "qwen3-coder-plus", name: "Qwen3 Coder Plus" },
|
||||
{ id: "glm-4.7", name: "GLM 4.7" },
|
||||
],
|
||||
"alicode-intl": [
|
||||
{ id: "qwen3.5-plus", name: "Qwen3.5 Plus" },
|
||||
{ id: "kimi-k2.5", name: "Kimi K2.5" },
|
||||
{ id: "glm-5", name: "GLM 5" },
|
||||
{ id: "MiniMax-M2.5", name: "MiniMax M2.5" },
|
||||
{ id: "qwen3-coder-next", name: "Qwen3 Coder Next" },
|
||||
{ id: "qwen3-coder-plus", name: "Qwen3 Coder Plus" },
|
||||
{ id: "glm-4.7", name: "GLM 4.7" },
|
||||
],
|
||||
"volcengine-ark": [
|
||||
{ id: "Doubao-Seed-2.0-Code", name: "Doubao-Seed-2.0-Code" },
|
||||
{ id: "Doubao-Seed-2.0-pro", name: "Doubao-Seed-2.0-pro" },
|
||||
{ id: "Doubao-Seed-2.0-lite", name: "Doubao-Seed-2.0-lite" },
|
||||
{ id: "Doubao-Seed-Code", name: "Doubao-Seed-Code" },
|
||||
{ id: "DeepSeek-V4-Flash", name: "DeepSeek-V4-Flash" },
|
||||
{ id: "DeepSeek-V4-Pro", name: "DeepSeek-V4-Pro" },
|
||||
{ id: "GLM-5.1", name: "GLM-5.1" },
|
||||
{ id: "MiniMax-M2.7", name: "MiniMax-M2.7" },
|
||||
{ id: "Kimi-K2.6", name: "Kimi-K2.6" },
|
||||
],
|
||||
"cloudflare-ai": [
|
||||
{ id: "@cf/meta/llama-3.2-1b-instruct", name: "Llama 3.2 1B Instruct" },
|
||||
{ id: "@cf/meta/llama-3.2-3b-instruct", name: "Llama 3.2 3B Instruct" },
|
||||
{ id: "@cf/meta/llama-3.1-8b-instruct-fp8-fast", name: "Llama 3.1 8B Instruct FP8 Fast" },
|
||||
{ id: "@cf/meta/llama-3.1-8b-instruct-awq", name: "Llama 3.1 8B Instruct AWQ" },
|
||||
{ id: "@cf/mistralai/mistral-small-3.1-24b-instruct", name: "Mistral Small 3.1 24B Instruct" },
|
||||
{ id: "@cf/meta/llama-3.1-70b-instruct-fp8-fast", name: "Llama 3.1 70B Instruct FP8 Fast" },
|
||||
{ id: "@cf/meta/llama-3.3-70b-instruct-fp8-fast", name: "Llama 3.3 70B Instruct FP8 Fast" },
|
||||
{ id: "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b", name: "DeepSeek R1 Distill Qwen 32B" },
|
||||
{ id: "@cf/moonshotai/kimi-k2.5", name: "Kimi K2.5" },
|
||||
{ id: "@cf/moonshotai/kimi-k2.6", name: "Kimi K2.6" },
|
||||
{ id: "@cf/zai-org/glm-4.7-flash", name: "GLM 4.7 Flash" },
|
||||
{ id: "@cf/qwen/qwq-32b", name: "QwQ 32B" },
|
||||
{ id: "@cf/qwen/qwen2.5-coder-32b-instruct", name: "Qwen 2.5 Coder 32B Instruct" },
|
||||
{ id: "@cf/black-forest-labs/flux-2-klein-9b", name: "FLUX.2 Klein 9B", type: "image", params: ["size"] },
|
||||
{ id: "@cf/black-forest-labs/flux-2-klein-4b", name: "FLUX.2 Klein 4B", type: "image", params: ["size"] },
|
||||
{ id: "@cf/black-forest-labs/flux-2-dev", name: "FLUX.2 Dev", type: "image", params: ["size"] },
|
||||
{ id: "@cf/leonardo/lucid-origin", name: "Lucid Origin", type: "image", params: ["size"] },
|
||||
{ id: "@cf/leonardo/phoenix-1.0", name: "Phoenix 1.0", type: "image", params: ["size"] },
|
||||
{ id: "@cf/black-forest-labs/flux-1-schnell", name: "FLUX.1 Schnell", type: "image", params: ["size"] },
|
||||
{ id: "@cf/bytedance/stable-diffusion-xl-lightning", name: "SDXL Lightning", type: "image", params: ["size"] },
|
||||
{ id: "@cf/lykon/dreamshaper-8-lcm", name: "DreamShaper 8 LCM", type: "image", params: ["size"] },
|
||||
{ id: "@cf/runwayml/stable-diffusion-v1-5-img2img", name: "Stable Diffusion v1.5 Img2Img", type: "image", params: ["size"], capabilities: ["edit"] },
|
||||
{ id: "@cf/runwayml/stable-diffusion-v1-5-inpainting", name: "Stable Diffusion v1.5 Inpainting", type: "image", params: ["size"], capabilities: ["edit", "mask"] },
|
||||
{ id: "@cf/stabilityai/stable-diffusion-xl-base-1.0", name: "SDXL Base 1.0", type: "image", params: ["size"] },
|
||||
],
|
||||
byteplus: [
|
||||
{ id: "seed-2-0-pro-260328", name: "Seed 2.0 Pro" },
|
||||
{ id: "seed-2-0-code-preview-260328", name: "Seed 2.0 Code Preview" },
|
||||
{ id: "seed-2-0-mini-260215", name: "Seed 2.0 Mini" },
|
||||
{ id: "seed-2-0-lite-260228", name: "Seed 2.0 Lite" },
|
||||
{ id: "kimi-k2-thinking-251104", name: "Kimi K2 Thinking" },
|
||||
{ id: "glm-4-7-251222", name: "GLM 4.7" },
|
||||
{ id: "gpt-oss-120b-250805", name: "GPT-OSS-120B" },
|
||||
],
|
||||
deepseek: [
|
||||
{ id: "deepseek-v4-pro", name: "DeepSeek V4 Pro" },
|
||||
{ id: "deepseek-v4-pro-max", name: "DeepSeek V4 Pro Max", upstreamModelId: "deepseek-v4-pro" },
|
||||
{ id: "deepseek-v4-pro-none", name: "DeepSeek V4 Pro No Thinking", upstreamModelId: "deepseek-v4-pro" },
|
||||
{ id: "deepseek-v4-flash", name: "DeepSeek V4 Flash" },
|
||||
{ id: "deepseek-chat", name: "DeepSeek V3.2 Chat" },
|
||||
{ id: "deepseek-reasoner", name: "DeepSeek V3.2 Reasoner" },
|
||||
],
|
||||
commandcode: [
|
||||
{ id: "deepseek/deepseek-v4-pro", name: "DeepSeek V4 Pro" },
|
||||
{ id: "deepseek/deepseek-v4-flash", name: "DeepSeek V4 Flash" },
|
||||
{ id: "moonshotai/Kimi-K2.6", name: "Kimi K2.6" },
|
||||
{ id: "moonshotai/Kimi-K2.5", name: "Kimi K2.5" },
|
||||
{ id: "zai-org/GLM-5.1", name: "GLM 5.1" },
|
||||
{ id: "zai-org/GLM-5", name: "GLM 5" },
|
||||
{ id: "MiniMaxAI/MiniMax-M2.7", name: "MiniMax M2.7" },
|
||||
{ id: "MiniMaxAI/MiniMax-M2.5", name: "MiniMax M2.5" },
|
||||
{ id: "Qwen/Qwen3.6-Max-Preview", name: "Qwen 3.6 Max Preview" },
|
||||
{ id: "Qwen/Qwen3.6-Plus", name: "Qwen 3.6 Plus" },
|
||||
{ id: "stepfun/Step-3.5-Flash", name: "Step 3.5 Flash" },
|
||||
],
|
||||
groq: [
|
||||
{ id: "llama-3.3-70b-versatile", name: "Llama 3.3 70B" },
|
||||
{ id: "meta-llama/llama-4-maverick-17b-128e-instruct", name: "Llama 4 Maverick" },
|
||||
{ id: "qwen/qwen3-32b", name: "Qwen3 32B" },
|
||||
{ id: "openai/gpt-oss-120b", name: "GPT-OSS 120B" },
|
||||
// STT models
|
||||
{ id: "whisper-large-v3", name: "Whisper Large v3", type: "stt", params: ["language", "response_format", "temperature", "prompt"] },
|
||||
{ id: "whisper-large-v3-turbo", name: "Whisper Large v3 Turbo", type: "stt", params: ["language", "response_format", "temperature", "prompt"] },
|
||||
{ id: "distil-whisper-large-v3-en", name: "Distil Whisper Large v3 EN", type: "stt", params: ["language", "response_format", "temperature", "prompt"] },
|
||||
],
|
||||
xai: [
|
||||
{ id: "grok-4", name: "Grok 4" },
|
||||
{ id: "grok-4-fast-reasoning", name: "Grok 4 Fast Reasoning" },
|
||||
{ id: "grok-code-fast-1", name: "Grok Code Fast" },
|
||||
{ id: "grok-3", name: "Grok 3" },
|
||||
{ id: "grok-2-image-1212", name: "Grok 2 Image", type: "image", params: ["n", "response_format"] },
|
||||
],
|
||||
mistral: [
|
||||
{ id: "mistral-large-latest", name: "Mistral Large 3" },
|
||||
{ id: "codestral-latest", name: "Codestral" },
|
||||
{ id: "mistral-medium-latest", name: "Mistral Medium 3" },
|
||||
{ id: "mistral-embed", name: "Mistral Embed", type: "embedding" },
|
||||
],
|
||||
perplexity: [
|
||||
{ id: "sonar-pro", name: "Sonar Pro" },
|
||||
{ id: "sonar", name: "Sonar" },
|
||||
],
|
||||
together: [
|
||||
{ id: "meta-llama/Llama-3.3-70B-Instruct-Turbo", name: "Llama 3.3 70B Turbo" },
|
||||
{ id: "deepseek-ai/DeepSeek-R1", name: "DeepSeek R1" },
|
||||
{ id: "Qwen/Qwen3-235B-A22B", name: "Qwen3 235B" },
|
||||
{ id: "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", name: "Llama 4 Maverick" },
|
||||
{ id: "BAAI/bge-large-en-v1.5", name: "BGE Large EN v1.5", type: "embedding" },
|
||||
{ id: "togethercomputer/m2-bert-80M-8k-retrieval", name: "M2 BERT 80M 8K", type: "embedding" },
|
||||
],
|
||||
fireworks: [
|
||||
{ id: "accounts/fireworks/models/deepseek-v3p1", name: "DeepSeek V3.1" },
|
||||
{ id: "accounts/fireworks/models/llama-v3p3-70b-instruct", name: "Llama 3.3 70B" },
|
||||
{ id: "accounts/fireworks/models/qwen3-235b-a22b", name: "Qwen3 235B" },
|
||||
{ id: "nomic-ai/nomic-embed-text-v1.5", name: "Nomic Embed Text v1.5", type: "embedding" },
|
||||
],
|
||||
cerebras: [
|
||||
{ id: "gpt-oss-120b", name: "GPT OSS 120B" },
|
||||
{ id: "zai-glm-4.7", name: "ZAI GLM 4.7" },
|
||||
{ id: "llama-3.3-70b", name: "Llama 3.3 70B" },
|
||||
{ id: "llama-4-scout-17b-16e-instruct", name: "Llama 4 Scout" },
|
||||
{ id: "qwen-3-235b-a22b-instruct-2507", name: "Qwen3 235B A22B" },
|
||||
{ id: "qwen-3-32b", name: "Qwen3 32B" },
|
||||
],
|
||||
cohere: [
|
||||
{ id: "command-r-plus-08-2024", name: "Command R+ (Aug 2024)" },
|
||||
{ id: "command-r-08-2024", name: "Command R (Aug 2024)" },
|
||||
{ id: "command-a-03-2025", name: "Command A (Mar 2025)" },
|
||||
],
|
||||
nvidia: [
|
||||
{ id: "minimaxai/minimax-m2.7", name: "Minimax M2.7" },
|
||||
{ id: "z-ai/glm4.7", name: "GLM 4.7" },
|
||||
{ id: "nvidia/nv-embedqa-e5-v5", name: "NV EmbedQA E5 v5", type: "embedding" },
|
||||
// STT models
|
||||
{ id: "nvidia/parakeet-ctc-1.1b-asr", name: "Parakeet CTC 1.1B", type: "stt", params: ["language"] },
|
||||
],
|
||||
nebius: [
|
||||
{ id: "meta-llama/Llama-3.3-70B-Instruct", name: "Llama 3.3 70B Instruct" },
|
||||
{ id: "Qwen/Qwen3-Embedding-8B", name: "Qwen3 Embedding 8B", type: "embedding" },
|
||||
],
|
||||
"voyage-ai": [
|
||||
{ id: "voyage-3-large", name: "Voyage 3 Large", type: "embedding" },
|
||||
{ id: "voyage-3.5", name: "Voyage 3.5", type: "embedding" },
|
||||
{ id: "voyage-3.5-lite", name: "Voyage 3.5 Lite", type: "embedding" },
|
||||
{ id: "voyage-code-3", name: "Voyage Code 3", type: "embedding" },
|
||||
{ id: "voyage-finance-2", name: "Voyage Finance 2", type: "embedding" },
|
||||
{ id: "voyage-law-2", name: "Voyage Law 2", type: "embedding" },
|
||||
{ id: "voyage-multilingual-2", name: "Voyage Multilingual 2", type: "embedding" },
|
||||
],
|
||||
siliconflow: [
|
||||
// DeepSeek models
|
||||
{ id: "deepseek-ai/DeepSeek-V4-Pro", name: "DeepSeek V4 Pro" },
|
||||
{ id: "deepseek-ai/DeepSeek-V4-Flash", name: "DeepSeek V4 Flash" },
|
||||
{ id: "deepseek-ai/DeepSeek-V3.2", name: "DeepSeek V3.2" },
|
||||
{ id: "deepseek-ai/DeepSeek-V3.2-Exp", name: "DeepSeek V3.2 Exp" },
|
||||
{ id: "deepseek-ai/DeepSeek-V3.1", name: "DeepSeek V3.1" },
|
||||
{ id: "deepseek-ai/DeepSeek-V3.1-Terminus", name: "DeepSeek V3.1 Terminus" },
|
||||
{ id: "deepseek-ai/DeepSeek-R1", name: "DeepSeek R1" },
|
||||
// Qwen models
|
||||
{ id: "Qwen/Qwen3.5-397B-A17B", name: "Qwen 3.5 397B A17B" },
|
||||
{ id: "Qwen/Qwen3.5-122B-A10B", name: "Qwen 3.5 122B A10B" },
|
||||
// GLM models
|
||||
{ id: "zai-org/GLM-5.1", name: "GLM 5.1" },
|
||||
{ id: "zai-org/GLM-5", name: "GLM 5" },
|
||||
// Kimi models
|
||||
{ id: "moonshotai/Kimi-K2.6", name: "Kimi K2.6" },
|
||||
{ id: "moonshotai/Kimi-K2.5", name: "Kimi K2.5" },
|
||||
// Other models
|
||||
{ id: "openai/gpt-oss-120b", name: "GPT OSS 120B" },
|
||||
{ id: "MiniMaxAI/MiniMax-M2.5", name: "MiniMax M2.5" },
|
||||
{ id: "inclusionAI/Ling-flash-2.0", name: "Ling Flash 2.0" },
|
||||
],
|
||||
"xiaomi-mimo": [
|
||||
{ id: "mimo-v2.5-pro", name: "MiMo V2.5 Pro" },
|
||||
{ id: "mimo-v2.5", name: "MiMo V2.5" },
|
||||
{ id: "mimo-v2-omni", name: "MiMo V2 Omni" },
|
||||
{ id: "mimo-v2-flash", name: "MiMo V2 Flash" },
|
||||
],
|
||||
"xiaomi-tokenplan": [
|
||||
{ id: "mimo-v2.5-pro", name: "MiMo V2.5 Pro" },
|
||||
{ id: "mimo-v2.5-pro-claude", name: "MiMo V2.5 Pro (Claude Native)", targetFormat: "claude", upstreamModelId: "mimo-v2.5-pro" },
|
||||
{ id: "mimo-v2.5", name: "MiMo V2.5" },
|
||||
{ id: "mimo-v2-pro", name: "MiMo V2 Pro" },
|
||||
{ id: "mimo-v2-omni", name: "MiMo V2 Omni" },
|
||||
{ id: "mimo-v2-tts", name: "MiMo V2 TTS" },
|
||||
{ id: "mimo-v2.5-tts", name: "MiMo V2.5 TTS" },
|
||||
{ id: "mimo-v2.5-tts-voiceclone", name: "MiMo V2.5 TTS Voice Clone" },
|
||||
{ id: "mimo-v2.5-tts-voicedesign", name: "MiMo V2.5 TTS Voice Design" },
|
||||
],
|
||||
hyperbolic: [
|
||||
{ id: "Qwen/QwQ-32B", name: "QwQ 32B" },
|
||||
{ id: "deepseek-ai/DeepSeek-R1", name: "DeepSeek R1" },
|
||||
{ id: "deepseek-ai/DeepSeek-V3", name: "DeepSeek V3" },
|
||||
{ id: "meta-llama/Llama-3.3-70B-Instruct", name: "Llama 3.3 70B" },
|
||||
{ id: "meta-llama/Llama-3.2-3B-Instruct", name: "Llama 3.2 3B" },
|
||||
{ id: "Qwen/Qwen2.5-72B-Instruct", name: "Qwen 2.5 72B" },
|
||||
{ id: "Qwen/Qwen2.5-Coder-32B-Instruct", name: "Qwen 2.5 Coder 32B" },
|
||||
{ id: "NousResearch/Hermes-3-Llama-3.1-70B", name: "Hermes 3 70B" },
|
||||
],
|
||||
ollama: [
|
||||
{ id: "gpt-oss:120b", name: "GPT OSS 120B" },
|
||||
{ id: "kimi-k2.5", name: "Kimi K2.5" },
|
||||
{ id: "glm-5", name: "GLM 5" },
|
||||
{ id: "minimax-m2.5", name: "MiniMax M2.5" },
|
||||
{ id: "glm-4.7-flash", name: "GLM 4.7 Flash" },
|
||||
{ id: "qwen3.5", name: "Qwen3.5" },
|
||||
],
|
||||
vertex: [
|
||||
{ id: "gemini-3.1-pro-preview", name: "Gemini 3.1 Pro Preview" },
|
||||
{ id: "gemini-3.1-flash-lite-preview", name: "Gemini 3.1 Flash Lite Preview" },
|
||||
{ id: "gemini-3-flash-preview", name: "Gemini 3 Flash Preview" },
|
||||
{ id: "gemini-2.5-flash", name: "Gemini 2.5 Flash" },
|
||||
],
|
||||
"vertex-partner": [
|
||||
{ id: "deepseek-ai/deepseek-v3.2-maas", name: "DeepSeek V3.2 (Vertex)" },
|
||||
{ id: "qwen/qwen3-next-80b-a3b-thinking-maas", name: "Qwen3 Next 80B Thinking (Vertex)" },
|
||||
{ id: "qwen/qwen3-next-80b-a3b-instruct-maas", name: "Qwen3 Next 80B Instruct (Vertex)" },
|
||||
{ id: "zai-org/glm-5-maas", name: "GLM-5 (Vertex)" },
|
||||
],
|
||||
"grok-web": [
|
||||
{ id: "grok-3", name: "Grok 3" },
|
||||
{ id: "grok-3-mini", name: "Grok 3 Mini (Thinking)" },
|
||||
{ id: "grok-3-thinking", name: "Grok 3 Thinking" },
|
||||
{ id: "grok-4", name: "Grok 4" },
|
||||
{ id: "grok-4-mini", name: "Grok 4 Mini (Thinking)" },
|
||||
{ id: "grok-4-thinking", name: "Grok 4 Thinking" },
|
||||
{ id: "grok-4-heavy", name: "Grok 4 Heavy (SuperGrok)" },
|
||||
{ id: "grok-4.1-mini", name: "Grok 4.1 Mini (Thinking)" },
|
||||
{ id: "grok-4.1-fast", name: "Grok 4.1 Fast" },
|
||||
{ id: "grok-4.1-expert", name: "Grok 4.1 Expert" },
|
||||
{ id: "grok-4.1-thinking", name: "Grok 4.1 Thinking" },
|
||||
{ id: "grok-4.2", name: "Grok 4.2 (4.20 Beta)" },
|
||||
],
|
||||
"perplexity-web": [
|
||||
{ id: "pplx-auto", name: "Perplexity Auto (Free)" },
|
||||
{ id: "pplx-sonar", name: "Perplexity Sonar" },
|
||||
{ id: "pplx-gpt", name: "GPT-5.4 (via Perplexity)" },
|
||||
{ id: "pplx-gemini", name: "Gemini 3.1 Pro (via Perplexity)" },
|
||||
{ id: "pplx-sonnet", name: "Claude Sonnet 4.6 (via Perplexity)" },
|
||||
{ id: "pplx-opus", name: "Claude Opus 4.6 (via Perplexity)" },
|
||||
{ id: "pplx-nemotron", name: "Nemotron 3 Super (via Perplexity)" },
|
||||
],
|
||||
|
||||
// TTS entries are loaded from ttsModels.js via buildTtsProviderModels()
|
||||
...buildTtsProviderModels(),
|
||||
|
||||
// Image providers
|
||||
nanobanana: [
|
||||
{ id: "nanobanana-flash", name: "NanoBanana Flash", type: "image", params: ["n", "size"] },
|
||||
{ id: "nanobanana-pro", name: "NanoBanana Pro", type: "image", params: ["n", "size"] },
|
||||
],
|
||||
sdwebui: [
|
||||
{ id: "stable-diffusion-v1-5", name: "Stable Diffusion v1.5", type: "image", params: ["n", "size"] },
|
||||
{ id: "sdxl-base-1.0", name: "SDXL Base 1.0", type: "image", params: ["n", "size"] },
|
||||
],
|
||||
comfyui: [
|
||||
{ id: "flux-dev", name: "FLUX Dev", type: "image", params: ["n", "size"] },
|
||||
{ id: "sdxl", name: "SDXL", type: "image", params: ["n", "size"] },
|
||||
],
|
||||
huggingface: [
|
||||
{ id: "black-forest-labs/FLUX.1-schnell", name: "FLUX.1 Schnell", type: "image", params: [] },
|
||||
{ id: "stabilityai/stable-diffusion-xl-base-1.0", name: "SDXL Base 1.0", type: "image", params: [] },
|
||||
// STT models
|
||||
{ id: "openai/whisper-large-v3", name: "Whisper Large v3 (HF)", type: "stt", params: ["language"] },
|
||||
{ id: "openai/whisper-small", name: "Whisper Small (HF)", type: "stt", params: ["language"] },
|
||||
],
|
||||
|
||||
// === Free-tier providers (synced from OmniRoute) ===
|
||||
agentrouter: [
|
||||
{ id: "claude-opus-4-6", name: "Claude 4.6 Opus" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude 4.5 Haiku" },
|
||||
{ id: "glm-5.1", name: "GLM 5.1" },
|
||||
{ id: "deepseek-v3.2", name: "DeepSeek V3.2" },
|
||||
],
|
||||
aimlapi: [
|
||||
{ id: "gpt-4o", name: "GPT-4o" },
|
||||
{ id: "gpt-4o-mini", name: "GPT-4o Mini" },
|
||||
{ id: "claude-3-5-sonnet-20241022", name: "Claude 3.5 Sonnet" },
|
||||
{ id: "gemini-2.0-flash-exp", name: "Gemini 2.0 Flash" },
|
||||
{ id: "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo", name: "Llama 3.1 70B" },
|
||||
],
|
||||
novita: [
|
||||
{ id: "deepseek/deepseek-r1", name: "DeepSeek R1" },
|
||||
{ id: "deepseek/deepseek-v3", name: "DeepSeek V3" },
|
||||
{ id: "meta-llama/llama-3.3-70b-instruct", name: "Llama 3.3 70B" },
|
||||
{ id: "qwen/qwen-2.5-72b-instruct", name: "Qwen 2.5 72B" },
|
||||
],
|
||||
modal: [
|
||||
{ id: "auto", name: "Auto (User-hosted)" },
|
||||
],
|
||||
reka: [
|
||||
{ id: "reka-flash-3", name: "Reka Flash 3" },
|
||||
{ id: "reka-edge-2603", name: "Reka Edge 2603" },
|
||||
],
|
||||
nlpcloud: [
|
||||
{ id: "chatdolphin", name: "ChatDolphin" },
|
||||
{ id: "dolphin", name: "Dolphin" },
|
||||
{ id: "finetuned-llama-3-70b", name: "Llama 3 70B (Finetuned)" },
|
||||
],
|
||||
bazaarlink: [
|
||||
{ id: "auto:free", name: "Auto Free (Zero Cost)" },
|
||||
{ id: "auto", name: "Auto (Best Model)" },
|
||||
],
|
||||
completions: [
|
||||
{ id: "claude-opus-4", name: "Claude Opus 4" },
|
||||
{ id: "claude-sonnet-4", name: "Claude Sonnet 4" },
|
||||
{ id: "gpt-4o", name: "GPT-4o" },
|
||||
{ id: "gemini-2.0-flash", name: "Gemini 2.0 Flash" },
|
||||
],
|
||||
enally: [
|
||||
{ id: "gpt-4o", name: "GPT-4o" },
|
||||
{ id: "gpt-4o-mini", name: "GPT-4o Mini" },
|
||||
{ id: "claude-3-5-sonnet", name: "Claude 3.5 Sonnet" },
|
||||
],
|
||||
freetheai: [
|
||||
{ id: "gpt-4o", name: "GPT-4o" },
|
||||
{ id: "claude-3-5-sonnet", name: "Claude 3.5 Sonnet" },
|
||||
{ id: "gemini-1.5-pro", name: "Gemini 1.5 Pro" },
|
||||
{ id: "deepseek-chat", name: "DeepSeek Chat" },
|
||||
],
|
||||
llm7: [
|
||||
{ id: "gpt-4o-mini", name: "GPT-4o Mini" },
|
||||
{ id: "gpt-4.1-mini", name: "GPT-4.1 Mini" },
|
||||
{ id: "gemini-1.5-flash", name: "Gemini 1.5 Flash" },
|
||||
],
|
||||
lepton: [
|
||||
{ id: "llama3-1-405b", name: "Llama 3.1 405B" },
|
||||
{ id: "llama3-1-70b", name: "Llama 3.1 70B" },
|
||||
{ id: "llama3-1-8b", name: "Llama 3.1 8B" },
|
||||
{ id: "mixtral-8x7b", name: "Mixtral 8x7B" },
|
||||
],
|
||||
kluster: [
|
||||
{ id: "deepseek-ai/DeepSeek-R1", name: "DeepSeek R1" },
|
||||
{ id: "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", name: "Llama 4 Maverick" },
|
||||
{ id: "meta-llama/Llama-4-Scout-17B-16E-Instruct", name: "Llama 4 Scout" },
|
||||
{ id: "Qwen/Qwen3-235B-A22B-Instruct", name: "Qwen3 235B" },
|
||||
],
|
||||
ai21: [
|
||||
{ id: "jamba-large", name: "Jamba 1.5 Large" },
|
||||
{ id: "jamba-mini", name: "Jamba 1.5 Mini" },
|
||||
],
|
||||
"inference-net": [
|
||||
{ id: "meta-llama/llama-3.3-70b-instruct/fp-16", name: "Llama 3.3 70B" },
|
||||
{ id: "deepseek/deepseek-v3-0324", name: "DeepSeek V3" },
|
||||
{ id: "mistralai/mistral-nemo-12b-instruct/fp-16", name: "Mistral Nemo 12B" },
|
||||
],
|
||||
predibase: [
|
||||
{ id: "llama-3-2-3b-instruct", name: "Llama 3.2 3B" },
|
||||
{ id: "llama-3-1-8b-instruct", name: "Llama 3.1 8B" },
|
||||
{ id: "qwen2-5-7b-instruct", name: "Qwen 2.5 7B" },
|
||||
],
|
||||
bytez: [
|
||||
{ id: "meta-llama/Llama-3.3-70B-Instruct", name: "Llama 3.3 70B" },
|
||||
{ id: "mistralai/Mistral-7B-Instruct-v0.3", name: "Mistral 7B v0.3" },
|
||||
{ id: "Qwen/Qwen2.5-72B-Instruct", name: "Qwen 2.5 72B" },
|
||||
],
|
||||
morph: [
|
||||
{ id: "morph-v3-large", name: "Morph V3 Large" },
|
||||
{ id: "morph-v3-fast", name: "Morph V3 Fast" },
|
||||
],
|
||||
longcat: [
|
||||
{ id: "LongCat-Flash-Chat", name: "LongCat Flash Chat" },
|
||||
{ id: "LongCat-Flash-Thinking", name: "LongCat Flash Thinking" },
|
||||
{ id: "LongCat-Flash-Lite", name: "LongCat Flash Lite" },
|
||||
],
|
||||
puter: [
|
||||
{ id: "gpt-5", name: "GPT-5" },
|
||||
{ id: "claude-opus-4", name: "Claude Opus 4" },
|
||||
{ id: "gemini-3-pro-preview", name: "Gemini 3 Pro" },
|
||||
{ id: "grok-4", name: "Grok 4" },
|
||||
{ id: "deepseek-chat", name: "DeepSeek V3" },
|
||||
],
|
||||
uncloseai: [
|
||||
{ id: "auto", name: "Auto (Free)" },
|
||||
{ id: "gpt-4o-mini", name: "GPT-4o Mini" },
|
||||
],
|
||||
scaleway: [
|
||||
{ id: "qwen3-235b-a22b-instruct-2507", name: "Qwen3 235B" },
|
||||
{ id: "llama-3.3-70b-instruct", name: "Llama 3.3 70B" },
|
||||
{ id: "mistral-small-3.1-24b-instruct-2503", name: "Mistral Small 3.1" },
|
||||
],
|
||||
deepinfra: [
|
||||
{ id: "meta-llama/Meta-Llama-3.1-70B-Instruct", name: "Llama 3.1 70B" },
|
||||
{ id: "deepseek-ai/DeepSeek-V3", name: "DeepSeek V3" },
|
||||
{ id: "Qwen/Qwen2.5-72B-Instruct", name: "Qwen 2.5 72B" },
|
||||
],
|
||||
sambanova: [
|
||||
{ id: "Meta-Llama-3.1-405B-Instruct", name: "Llama 3.1 405B" },
|
||||
{ id: "Meta-Llama-3.1-70B-Instruct", name: "Llama 3.1 70B" },
|
||||
{ id: "Meta-Llama-3.1-8B-Instruct", name: "Llama 3.1 8B" },
|
||||
],
|
||||
nscale: [
|
||||
{ id: "meta-llama/Llama-3.3-70B-Instruct", name: "Llama 3.3 70B" },
|
||||
{ id: "Qwen/Qwen2.5-Coder-32B-Instruct", name: "Qwen 2.5 Coder 32B" },
|
||||
],
|
||||
baseten: [
|
||||
{ id: "deepseek-ai/DeepSeek-R1", name: "DeepSeek R1" },
|
||||
{ id: "meta-llama/Llama-3.3-70B-Instruct", name: "Llama 3.3 70B" },
|
||||
],
|
||||
publicai: [
|
||||
{ id: "auto", name: "Auto (Community)" },
|
||||
],
|
||||
"nous-research": [
|
||||
{ id: "Hermes-4-405B", name: "Hermes 4 405B" },
|
||||
{ id: "Hermes-4-70B", name: "Hermes 4 70B" },
|
||||
],
|
||||
glhf: [
|
||||
{ id: "hf:meta-llama/Meta-Llama-3.1-405B-Instruct", name: "Llama 3.1 405B" },
|
||||
{ id: "hf:meta-llama/Meta-Llama-3.1-70B-Instruct", name: "Llama 3.1 70B" },
|
||||
{ id: "hf:Qwen/Qwen2.5-72B-Instruct", name: "Qwen 2.5 72B" },
|
||||
],
|
||||
|
||||
deepgram: [
|
||||
{ id: "nova-3", name: "Nova 3", type: "stt", params: ["language"] },
|
||||
{ id: "nova-2", name: "Nova 2", type: "stt", params: ["language"] },
|
||||
{ id: "whisper-large", name: "Whisper Large", type: "stt", params: ["language"] },
|
||||
],
|
||||
assemblyai: [
|
||||
{ id: "universal-3-pro", name: "Universal 3 Pro", type: "stt", params: ["language"] },
|
||||
{ id: "universal-2", name: "Universal 2", type: "stt", params: ["language"] },
|
||||
],
|
||||
"fal-ai": [
|
||||
{ id: "fal-ai/flux/schnell", name: "FLUX Schnell", type: "image", params: ["n", "size"] },
|
||||
{ id: "fal-ai/flux/dev", name: "FLUX Dev", type: "image", params: ["n", "size"] },
|
||||
{ id: "fal-ai/flux-pro/v1.1", name: "FLUX Pro v1.1", type: "image", params: ["n", "size"] },
|
||||
{ id: "fal-ai/flux-pro/v1.1-ultra", name: "FLUX Pro v1.1 Ultra", type: "image", params: ["n", "size"] },
|
||||
{ id: "fal-ai/recraft-v3", name: "Recraft V3", type: "image", params: ["n", "size", "style"] },
|
||||
{ id: "fal-ai/ideogram/v2", name: "Ideogram V2", type: "image", params: ["n", "size", "style"] },
|
||||
{ id: "fal-ai/stable-diffusion-v35-large", name: "SD 3.5 Large", type: "image", params: ["n", "size"] },
|
||||
],
|
||||
"stability-ai": [
|
||||
{ id: "stable-image-ultra", name: "Stable Image Ultra", type: "image", params: ["size"] },
|
||||
{ id: "stable-image-core", name: "Stable Image Core", type: "image", params: ["size", "style"] },
|
||||
{ id: "sd3.5-large", name: "Stable Diffusion 3.5 Large", type: "image", params: ["size"] },
|
||||
{ id: "sd3.5-large-turbo", name: "Stable Diffusion 3.5 Large Turbo", type: "image", params: ["size"] },
|
||||
{ id: "sd3.5-medium", name: "Stable Diffusion 3.5 Medium", type: "image", params: ["size"] },
|
||||
],
|
||||
"black-forest-labs": [
|
||||
{ id: "flux-pro-1.1", name: "FLUX Pro 1.1", type: "image", params: ["n", "size"] },
|
||||
{ id: "flux-pro-1.1-ultra", name: "FLUX Pro 1.1 Ultra", type: "image", params: ["size"] },
|
||||
{ id: "flux-pro", name: "FLUX Pro", type: "image", params: ["n", "size"] },
|
||||
{ id: "flux-dev", name: "FLUX Dev", type: "image", params: ["n", "size"] },
|
||||
{ id: "flux-kontext-pro", name: "FLUX Kontext Pro (Edit)", type: "image", params: ["size"], capabilities: ["edit"] },
|
||||
{ id: "flux-kontext-max", name: "FLUX Kontext Max (Edit)", type: "image", params: ["size"], capabilities: ["edit"] },
|
||||
],
|
||||
recraft: [
|
||||
{ id: "recraftv3", name: "Recraft V3", type: "image", params: ["n", "size", "style"] },
|
||||
{ id: "recraftv2", name: "Recraft V2", type: "image", params: ["n", "size", "style"] },
|
||||
],
|
||||
runwayml: [
|
||||
{ id: "gen4_image", name: "Gen-4 Image", type: "image", params: ["size"] },
|
||||
{ id: "gen4_image_turbo", name: "Gen-4 Image Turbo", type: "image", params: ["size"] },
|
||||
{ id: "gen4_turbo", name: "Gen-4 Turbo", type: "video", params: [] },
|
||||
{ id: "gen3a_turbo", name: "Gen-3 Alpha Turbo", type: "video", params: [] },
|
||||
],
|
||||
};
|
||||
|
||||
// Helper functions
|
||||
export function getProviderModels(aliasOrId) {
|
||||
|
||||
@@ -1,426 +1,5 @@
|
||||
import { platform, arch } from "os";
|
||||
|
||||
// === OS/Arch helpers ===
|
||||
function mapStainlessOs() {
|
||||
switch (platform()) {
|
||||
case "darwin": return "MacOS";
|
||||
case "win32": return "Windows";
|
||||
case "linux": return "Linux";
|
||||
case "freebsd": return "FreeBSD";
|
||||
default: return `Other::${platform()}`;
|
||||
}
|
||||
}
|
||||
|
||||
function mapStainlessArch() {
|
||||
switch (arch()) {
|
||||
case "x64": return "x64";
|
||||
case "arm64": return "arm64";
|
||||
case "ia32": return "x86";
|
||||
default: return `other::${arch()}`;
|
||||
}
|
||||
}
|
||||
|
||||
// Shared Claude-compatible API headers (reused across claude-format providers)
|
||||
const CLAUDE_API_HEADERS = {
|
||||
"Anthropic-Version": "2023-06-01",
|
||||
"Anthropic-Beta": "claude-code-20250219,interleaved-thinking-2025-05-14"
|
||||
};
|
||||
|
||||
// Full Claude CLI fingerprint — required by providers that gate on client identity (e.g. agentrouter)
|
||||
const CLAUDE_CLI_SPOOF_HEADERS = {
|
||||
"Anthropic-Version": "2023-06-01",
|
||||
"Anthropic-Beta": "claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28",
|
||||
"Anthropic-Dangerous-Direct-Browser-Access": "true",
|
||||
"User-Agent": "claude-cli/2.1.92 (external, sdk-cli)",
|
||||
"X-App": "cli",
|
||||
"X-Stainless-Helper-Method": "stream",
|
||||
"X-Stainless-Retry-Count": "0",
|
||||
"X-Stainless-Runtime-Version": "v24.14.0",
|
||||
"X-Stainless-Package-Version": "0.80.0",
|
||||
"X-Stainless-Runtime": "node",
|
||||
"X-Stainless-Lang": "js",
|
||||
"X-Stainless-Arch": mapStainlessArch(),
|
||||
"X-Stainless-Os": mapStainlessOs(),
|
||||
"X-Stainless-Timeout": "600"
|
||||
};
|
||||
|
||||
// Shared baseUrls
|
||||
const KIMI_CODING_BASE_URL = "https://api.kimi.com/coding/v1/messages";
|
||||
|
||||
// Apply shared transport defaults without changing output shape
|
||||
function defineProviders(raw) {
|
||||
const out = {};
|
||||
for (const [id, cfg] of Object.entries(raw)) {
|
||||
out[id] = { ...cfg };
|
||||
if (!out[id].format) out[id].format = "openai";
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
export const PROVIDERS = defineProviders({
|
||||
claude: {
|
||||
baseUrl: "https://api.anthropic.com/v1/messages",
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_CLI_SPOOF_HEADERS },
|
||||
clientId: "9d1c250a-e61b-44d9-88ed-5944d1962f5e",
|
||||
tokenUrl: "https://api.anthropic.com/v1/oauth/token"
|
||||
},
|
||||
gemini: {
|
||||
baseUrl: "https://generativelanguage.googleapis.com/v1beta/models",
|
||||
format: "gemini",
|
||||
clientId: "681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",
|
||||
clientSecret: "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"
|
||||
},
|
||||
"gemini-cli": {
|
||||
baseUrl: "https://cloudcode-pa.googleapis.com/v1internal",
|
||||
format: "gemini-cli",
|
||||
clientId: "681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",
|
||||
clientSecret: "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"
|
||||
},
|
||||
codex: {
|
||||
baseUrl: "https://chatgpt.com/backend-api/codex/responses",
|
||||
format: "openai-responses",
|
||||
headers: {
|
||||
"originator": "codex_cli_rs",
|
||||
"User-Agent": "codex_cli_rs/0.136.0"
|
||||
},
|
||||
clientId: "app_EMoamEEZ73f0CkXaXp7hrann",
|
||||
tokenUrl: "https://auth.openai.com/oauth/token"
|
||||
},
|
||||
qwen: {
|
||||
baseUrl: "https://portal.qwen.ai/v1/chat/completions",
|
||||
clientId: "f0304373b74a44d2b584a3fb70ca9e56",
|
||||
tokenUrl: "https://chat.qwen.ai/api/v1/oauth2/token",
|
||||
authUrl: "https://chat.qwen.ai/api/v1/oauth2/device/code"
|
||||
},
|
||||
iflow: {
|
||||
baseUrl: "https://apis.iflow.cn/v1/chat/completions",
|
||||
headers: { "User-Agent": "iFlow-Cli" },
|
||||
clientId: "10009311001",
|
||||
clientSecret: "4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",
|
||||
tokenUrl: "https://iflow.cn/oauth/token",
|
||||
authUrl: "https://iflow.cn/oauth"
|
||||
},
|
||||
qoder: {
|
||||
// The qoder executor builds the full URL itself (it has to append
|
||||
// ?Encode=1 + sigPath query params and bypass any provider-level URL
|
||||
// rewriting). baseUrl is kept for compatibility with introspection
|
||||
// helpers but the executor ignores it.
|
||||
baseUrl: "https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",
|
||||
headers: {},
|
||||
// Reasoning models think long before first byte; raise both timeouts.
|
||||
timeoutMs: 120000,
|
||||
stallTimeoutMs: 120000,
|
||||
},
|
||||
antigravity: {
|
||||
baseUrls: [
|
||||
"https://daily-cloudcode-pa.googleapis.com",
|
||||
"https://daily-cloudcode-pa.sandbox.googleapis.com",
|
||||
],
|
||||
format: "antigravity",
|
||||
headers: { "User-Agent": `antigravity/1.107.0 ${platform()}/${arch()}` },
|
||||
clientId: "1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",
|
||||
clientSecret: "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"
|
||||
},
|
||||
openrouter: {
|
||||
baseUrl: "https://openrouter.ai/api/v1/chat/completions",
|
||||
headers: {
|
||||
"HTTP-Referer": "https://endpoint-proxy.local",
|
||||
"X-Title": "Endpoint Proxy"
|
||||
}
|
||||
},
|
||||
openai: {
|
||||
baseUrl: "https://api.openai.com/v1/chat/completions",
|
||||
},
|
||||
"vercel-ai-gateway": {
|
||||
baseUrl: "https://ai-gateway.vercel.sh/v1/chat/completions",
|
||||
retry: { 429: 2 }
|
||||
},
|
||||
glm: {
|
||||
baseUrl: "https://api.z.ai/api/anthropic/v1/messages",
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS }
|
||||
},
|
||||
"glm-cn": {
|
||||
baseUrl: "https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",
|
||||
headers: {}
|
||||
},
|
||||
kimi: {
|
||||
baseUrl: KIMI_CODING_BASE_URL,
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS }
|
||||
},
|
||||
minimax: {
|
||||
baseUrl: "https://api.minimax.io/anthropic/v1/messages",
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS }
|
||||
},
|
||||
"minimax-cn": {
|
||||
baseUrl: "https://api.minimaxi.com/anthropic/v1/messages",
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS }
|
||||
},
|
||||
alicode: {
|
||||
baseUrl: "https://coding.dashscope.aliyuncs.com/v1/chat/completions",
|
||||
headers: {}
|
||||
},
|
||||
"alicode-intl": {
|
||||
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",
|
||||
headers: {}
|
||||
},
|
||||
"volcengine-ark": {
|
||||
baseUrl: "https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",
|
||||
headers: {}
|
||||
},
|
||||
byteplus: {
|
||||
baseUrl: "https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",
|
||||
headers: {}
|
||||
},
|
||||
github: {
|
||||
baseUrl: "https://api.githubcopilot.com/chat/completions",
|
||||
responsesUrl: "https://api.githubcopilot.com/responses",
|
||||
headers: {
|
||||
"copilot-integration-id": "vscode-chat",
|
||||
"editor-version": "vscode/1.110.0",
|
||||
"editor-plugin-version": "copilot-chat/0.38.0",
|
||||
"user-agent": "GitHubCopilotChat/0.38.0",
|
||||
"openai-intent": "conversation-panel",
|
||||
"x-github-api-version": "2025-04-01",
|
||||
"x-vscode-user-agent-library-version": "electron-fetch",
|
||||
"X-Initiator": "user",
|
||||
"Accept": "application/json",
|
||||
"Content-Type": "application/json"
|
||||
},
|
||||
clientId: "Iv1.b507a08c87ecfe98"
|
||||
},
|
||||
kiro: {
|
||||
// All three hosts resolve to the same regional CodeWhisperer streaming service
|
||||
// (GenerateAssistantResponse). They are alternate DNS surfaces, NOT separate quota
|
||||
// buckets — AWS throttles per authenticated identity (token + profileArn), not per
|
||||
// hostname. Listing them enables edge-level failover (5xx / connect timeout / a
|
||||
// degraded surface); it does NOT multiply 429 headroom. To actually spread 429 load,
|
||||
// add multiple Kiro accounts — account rotation in sse/handlers/chat.js handles that.
|
||||
// Order: newest Kiro IDE endpoint first, legacy AWS domains as fallback.
|
||||
baseUrl: "https://runtime.us-east-1.kiro.dev/generateAssistantResponse",
|
||||
baseUrls: [
|
||||
"https://runtime.us-east-1.kiro.dev/generateAssistantResponse",
|
||||
"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",
|
||||
"https://q.us-east-1.amazonaws.com/generateAssistantResponse",
|
||||
],
|
||||
format: "kiro",
|
||||
// 429 = identity-level throttle; retrying the same identity only spams AWS.
|
||||
// Rotate across the 3 host surfaces once each (shouldRetry) without per-host retries.
|
||||
retry: { 429: 0 },
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/vnd.amazon.eventstream",
|
||||
"X-Amz-Target": "AmazonCodeWhispererStreamingService.GenerateAssistantResponse",
|
||||
"User-Agent": "AWS-SDK-JS/3.0.0 kiro-ide/1.0.0",
|
||||
"X-Amz-User-Agent": "aws-sdk-js/3.0.0 kiro-ide/1.0.0"
|
||||
},
|
||||
tokenUrl: "https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",
|
||||
authUrl: "https://prod.us-east-1.auth.desktop.kiro.dev"
|
||||
},
|
||||
cursor: {
|
||||
baseUrl: "https://api2.cursor.sh",
|
||||
chatPath: "/aiserver.v1.ChatService/StreamUnifiedChatWithTools",
|
||||
format: "cursor",
|
||||
headers: {
|
||||
"connect-accept-encoding": "gzip",
|
||||
"connect-protocol-version": "1",
|
||||
"Content-Type": "application/connect+proto",
|
||||
"User-Agent": "connect-es/1.6.1"
|
||||
},
|
||||
clientVersion: "3.1.0"
|
||||
},
|
||||
"kimi-coding": {
|
||||
baseUrl: KIMI_CODING_BASE_URL,
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS },
|
||||
clientId: "17e5f671-d194-4dfb-9706-5516cb48c098",
|
||||
tokenUrl: "https://auth.kimi.com/api/oauth/token",
|
||||
refreshUrl: "https://auth.kimi.com/api/oauth/token"
|
||||
},
|
||||
kilocode: {
|
||||
baseUrl: "https://api.kilo.ai/api/openrouter/chat/completions",
|
||||
headers: {}
|
||||
},
|
||||
cline: {
|
||||
baseUrl: "https://api.cline.bot/api/v1/chat/completions",
|
||||
headers: {
|
||||
"HTTP-Referer": "https://cline.bot",
|
||||
"X-Title": "Cline"
|
||||
},
|
||||
tokenUrl: "https://api.cline.bot/api/v1/auth/token",
|
||||
refreshUrl: "https://api.cline.bot/api/v1/auth/refresh"
|
||||
},
|
||||
nvidia: {
|
||||
baseUrl: "https://integrate.api.nvidia.com/v1/chat/completions",
|
||||
},
|
||||
anthropic: {
|
||||
baseUrl: "https://api.anthropic.com/v1/messages",
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS }
|
||||
},
|
||||
deepseek: {
|
||||
baseUrl: "https://api.deepseek.com/chat/completions",
|
||||
},
|
||||
commandcode: {
|
||||
baseUrl: "https://api.commandcode.ai/alpha/generate",
|
||||
format: "commandcode",
|
||||
headers: {
|
||||
"x-command-code-version": "0.25.7",
|
||||
"x-cli-environment": "cli"
|
||||
}
|
||||
},
|
||||
groq: {
|
||||
baseUrl: "https://api.groq.com/openai/v1/chat/completions",
|
||||
},
|
||||
xai: {
|
||||
baseUrl: "https://api.x.ai/v1/chat/completions",
|
||||
responsesUrl: "https://api.x.ai/v1/responses",
|
||||
clientId: "b1a00492-073a-47ea-816f-4c329264a828",
|
||||
tokenUrl: "https://auth.x.ai/oauth2/token",
|
||||
refreshUrl: "https://auth.x.ai/oauth2/token"
|
||||
},
|
||||
mistral: {
|
||||
baseUrl: "https://api.mistral.ai/v1/chat/completions",
|
||||
},
|
||||
perplexity: {
|
||||
baseUrl: "https://api.perplexity.ai/chat/completions",
|
||||
},
|
||||
together: {
|
||||
baseUrl: "https://api.together.xyz/v1/chat/completions",
|
||||
},
|
||||
fireworks: {
|
||||
baseUrl: "https://api.fireworks.ai/inference/v1/chat/completions",
|
||||
},
|
||||
cerebras: {
|
||||
baseUrl: "https://api.cerebras.ai/v1/chat/completions",
|
||||
},
|
||||
cohere: {
|
||||
baseUrl: "https://api.cohere.ai/v1/chat/completions",
|
||||
},
|
||||
nebius: {
|
||||
baseUrl: "https://api.studio.nebius.ai/v1/chat/completions",
|
||||
},
|
||||
siliconflow: {
|
||||
baseUrl: "https://api.siliconflow.com/v1/chat/completions",
|
||||
},
|
||||
hyperbolic: {
|
||||
baseUrl: "https://api.hyperbolic.xyz/v1/chat/completions",
|
||||
},
|
||||
deepgram: {
|
||||
baseUrl: "https://api.deepgram.com/v1/listen",
|
||||
},
|
||||
assemblyai: {
|
||||
baseUrl: "https://api.assemblyai.com/v1/audio/transcriptions",
|
||||
},
|
||||
nanobanana: {
|
||||
baseUrl: "https://api.nanobananaapi.ai/v1/chat/completions",
|
||||
},
|
||||
chutes: {
|
||||
baseUrl: "https://llm.chutes.ai/v1/chat/completions",
|
||||
},
|
||||
ollama: {
|
||||
baseUrl: "https://ollama.com/api/chat",
|
||||
format: "ollama"
|
||||
},
|
||||
"ollama-local": {
|
||||
baseUrl: "http://localhost:11434/api/chat",
|
||||
format: "ollama"
|
||||
},
|
||||
// Vertex AI - Gemini models via Service Account JSON
|
||||
// baseUrl is not used; VertexExecutor.buildUrl() constructs it dynamically
|
||||
vertex: {
|
||||
baseUrl: "https://aiplatform.googleapis.com",
|
||||
format: "vertex"
|
||||
},
|
||||
// Vertex AI - Partner models (Claude, Llama, Mistral, GLM) via SA JSON
|
||||
// Uses OpenAI-compatible global endpoint (or rawPredict for Anthropic)
|
||||
"vertex-partner": {
|
||||
baseUrl: "https://aiplatform.googleapis.com",
|
||||
},
|
||||
// GitLab Duo - OpenAI-compatible chat endpoint
|
||||
gitlab: {
|
||||
baseUrl: "https://gitlab.com/api/v4/chat/completions",
|
||||
},
|
||||
// CodeBuddy (Tencent) - uses device_code polling auth, no chat completions baseUrl needed
|
||||
codebuddy: {
|
||||
baseUrl: "https://copilot.tencent.com/v1/chat/completions",
|
||||
},
|
||||
opencode: {
|
||||
baseUrl: "https://opencode.ai",
|
||||
headers: { "x-opencode-client": "desktop" },
|
||||
noAuth: true
|
||||
},
|
||||
"opencode-go": {
|
||||
baseUrl: "https://opencode.ai/zen/go/v1/chat/completions",
|
||||
headers: {}
|
||||
},
|
||||
"grok-web": {
|
||||
baseUrl: "https://grok.com/rest/app-chat/conversations/new",
|
||||
format: "grok-web",
|
||||
authType: "cookie"
|
||||
},
|
||||
"perplexity-web": {
|
||||
baseUrl: "https://www.perplexity.ai/rest/sse/perplexity_ask",
|
||||
format: "perplexity-web",
|
||||
authType: "cookie"
|
||||
},
|
||||
azure: {
|
||||
baseUrl: "",
|
||||
headers: {}
|
||||
},
|
||||
// Cloudflare Workers AI - {accountId} resolved from credentials.providerSpecificData.accountId
|
||||
"cloudflare-ai": {
|
||||
baseUrl: "https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",
|
||||
},
|
||||
"xiaomi-mimo": {
|
||||
baseUrl: "https://api.xiaomimimo.com/v1/chat/completions",
|
||||
},
|
||||
"mimo-free": { baseUrl: "https://api.xiaomimimo.com/api/free-ai/openai/chat", noAuth: true },
|
||||
mmf: { baseUrl: "https://api.xiaomimimo.com/api/free-ai/openai/chat", noAuth: true },
|
||||
"xiaomi-tokenplan": {
|
||||
baseUrl: "https://token-plan-sgp.xiaomimimo.com/v1/chat/completions",
|
||||
},
|
||||
// Region map for Xiaomi MiMo Token Plan (keys are cluster-specific)
|
||||
// Used by resolveXiaomiTokenplanBaseUrl below
|
||||
// === Free-tier providers (synced from OmniRoute) ===
|
||||
// Claude-format with Claude CLI header spoofing (auth: x-api-key)
|
||||
agentrouter: { baseUrl: "https://agentrouter.org/v1/messages", format: "claude", headers: { ...CLAUDE_CLI_SPOOF_HEADERS } },
|
||||
// OpenAI-compatible (auth: bearer)
|
||||
aimlapi: { baseUrl: "https://api.aimlapi.com/v1/chat/completions" },
|
||||
novita: { baseUrl: "https://api.novita.ai/v3/openai/chat/completions" },
|
||||
modal: { baseUrl: "https://api.modal.com/v1/chat/completions" },
|
||||
reka: { baseUrl: "https://api.reka.ai/v1/chat/completions" },
|
||||
nlpcloud: { baseUrl: "https://api.nlpcloud.io/v1/gpu/chatbot" },
|
||||
bazaarlink: { baseUrl: "https://bazaarlink.ai/api/v1/chat/completions" },
|
||||
completions: { baseUrl: "https://completions.me/api/v1/chat/completions" },
|
||||
// enally uses X-API-Key header (not bearer); handled in validate route
|
||||
enally: { baseUrl: "https://ai.enally.in/v1/chat/completions", authHeader: "x-api-key" },
|
||||
freetheai: { baseUrl: "https://api.freetheai.xyz/v1/chat/completions" },
|
||||
llm7: { baseUrl: "https://api.llm7.io/v1/chat/completions" },
|
||||
lepton: { baseUrl: "https://api.lepton.ai/api/v1/chat/completions" },
|
||||
kluster: { baseUrl: "https://api.kluster.ai/v1/chat/completions" },
|
||||
ai21: { baseUrl: "https://api.ai21.com/studio/v1/chat/completions" },
|
||||
"inference-net": { baseUrl: "https://api.inference.net/v1/chat/completions" },
|
||||
predibase: { baseUrl: "https://serving.app.predibase.com/v1/chat/completions" },
|
||||
bytez: { baseUrl: "https://api.bytez.com/models/v2" },
|
||||
morph: { baseUrl: "https://api.morphllm.com/v1/chat/completions" },
|
||||
longcat: { baseUrl: "https://api.longcat.chat/openai/v1/chat/completions" },
|
||||
puter: { baseUrl: "https://api.puter.com/puterai/openai/v1/chat/completions" },
|
||||
uncloseai: { baseUrl: "https://hermes.ai.unturf.com/v1/chat/completions", noAuth: true },
|
||||
scaleway: { baseUrl: "https://api.scaleway.ai/v1/chat/completions" },
|
||||
deepinfra: { baseUrl: "https://api.deepinfra.com/v1/openai/chat/completions" },
|
||||
sambanova: { baseUrl: "https://api.sambanova.ai/v1/chat/completions" },
|
||||
nscale: { baseUrl: "https://inference.api.nscale.com/v1/chat/completions" },
|
||||
baseten: { baseUrl: "https://inference.baseten.co/v1/chat/completions" },
|
||||
publicai: { baseUrl: "https://api.publicai.co/v1/chat/completions" },
|
||||
"nous-research": { baseUrl: "https://inference-api.nousresearch.com/v1/chat/completions" },
|
||||
glhf: { baseUrl: "https://glhf.chat/api/openai/v1/chat/completions" },
|
||||
blackbox: { baseUrl: "https://api.blackbox.ai/chat/completions" },
|
||||
});
|
||||
// Barrel: PROVIDERS now built from providers/registry (transport co-located with models)
|
||||
export { PROVIDERS } from "../providers/index.js";
|
||||
|
||||
export const OLLAMA_LOCAL_DEFAULT_HOST = "http://localhost:11434";
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
// Single source: build PROVIDERS + PROVIDER_MODELS from registry/{id}.js (transport + models co-located).
|
||||
import REGISTRY from "./registry/index.js";
|
||||
import { PROVIDER_DEFAULTS } from "./schema.js";
|
||||
import { buildTtsProviderModels } from "../config/ttsModels.js";
|
||||
|
||||
// transport: re-apply shared default (format:"openai") like the old defineProviders()
|
||||
function buildTransport(transport) {
|
||||
const t = { ...transport };
|
||||
if (!t.format) t.format = PROVIDER_DEFAULTS.format;
|
||||
return t;
|
||||
}
|
||||
|
||||
export const PROVIDERS = {};
|
||||
export const PROVIDER_MODELS = {};
|
||||
for (const entry of REGISTRY) {
|
||||
if (entry.transport) PROVIDERS[entry.id] = buildTransport(entry.transport);
|
||||
// models omitted (undefined) → provider has no model list key; [] is a valid explicit empty list
|
||||
if (entry.models !== undefined) PROVIDER_MODELS[entry.alias] = entry.models;
|
||||
}
|
||||
|
||||
// TTS model/voice tables keyed by special names (openai-tts-models, ...), not provider ids
|
||||
Object.assign(PROVIDER_MODELS, buildTtsProviderModels());
|
||||
@@ -0,0 +1,20 @@
|
||||
// Codex auto-generates a "-review" variant for each llm model (review quota family)
|
||||
const CODEX_REVIEW_SUFFIX = "-review";
|
||||
|
||||
export function withCodexReviewModels(models) {
|
||||
return models.flatMap((model) => {
|
||||
if ((model.type || "llm") !== "llm" || model.id.endsWith(CODEX_REVIEW_SUFFIX)) {
|
||||
return [model];
|
||||
}
|
||||
return [
|
||||
model,
|
||||
{
|
||||
...model,
|
||||
id: `${model.id}${CODEX_REVIEW_SUFFIX}`,
|
||||
name: `${model.name} Review`,
|
||||
upstreamModelId: model.upstreamModelId || model.id,
|
||||
quotaFamily: "review"
|
||||
}
|
||||
];
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import { CLAUDE_CLI_SPOOF_HEADERS } from "../shared.js";
|
||||
|
||||
export default {
|
||||
id: "agentrouter",
|
||||
alias: "agentrouter",
|
||||
transport: {
|
||||
baseUrl: "https://agentrouter.org/v1/messages",
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_CLI_SPOOF_HEADERS }
|
||||
},
|
||||
models: [
|
||||
{ id: "claude-opus-4-6", name: "Claude 4.6 Opus" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude 4.5 Haiku" },
|
||||
{ id: "glm-5.1", name: "GLM 5.1" },
|
||||
{ id: "deepseek-v3.2", name: "DeepSeek V3.2" }
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
export default {
|
||||
"id": "ai21",
|
||||
"alias": "ai21",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.ai21.com/studio/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "jamba-large",
|
||||
"name": "Jamba 1.5 Large"
|
||||
},
|
||||
{
|
||||
"id": "jamba-mini",
|
||||
"name": "Jamba 1.5 Mini"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,29 @@
|
||||
export default {
|
||||
"id": "aimlapi",
|
||||
"alias": "aimlapi",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.aimlapi.com/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gpt-4o",
|
||||
"name": "GPT-4o"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o-mini",
|
||||
"name": "GPT-4o Mini"
|
||||
},
|
||||
{
|
||||
"id": "claude-3-5-sonnet-20241022",
|
||||
"name": "Claude 3.5 Sonnet"
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.0-flash-exp",
|
||||
"name": "Gemini 2.0 Flash"
|
||||
},
|
||||
{
|
||||
"id": "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",
|
||||
"name": "Llama 3.1 70B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,38 @@
|
||||
export default {
|
||||
"id": "alicode-intl",
|
||||
"alias": "alicode-intl",
|
||||
"transport": {
|
||||
"baseUrl": "https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",
|
||||
"headers": {}
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "qwen3.5-plus",
|
||||
"name": "Qwen3.5 Plus"
|
||||
},
|
||||
{
|
||||
"id": "kimi-k2.5",
|
||||
"name": "Kimi K2.5"
|
||||
},
|
||||
{
|
||||
"id": "glm-5",
|
||||
"name": "GLM 5"
|
||||
},
|
||||
{
|
||||
"id": "MiniMax-M2.5",
|
||||
"name": "MiniMax M2.5"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-coder-next",
|
||||
"name": "Qwen3 Coder Next"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-coder-plus",
|
||||
"name": "Qwen3 Coder Plus"
|
||||
},
|
||||
{
|
||||
"id": "glm-4.7",
|
||||
"name": "GLM 4.7"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,42 @@
|
||||
export default {
|
||||
"id": "alicode",
|
||||
"alias": "alicode",
|
||||
"transport": {
|
||||
"baseUrl": "https://coding.dashscope.aliyuncs.com/v1/chat/completions",
|
||||
"headers": {}
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "qwen3.5-plus",
|
||||
"name": "Qwen3.5 Plus"
|
||||
},
|
||||
{
|
||||
"id": "kimi-k2.5",
|
||||
"name": "Kimi K2.5"
|
||||
},
|
||||
{
|
||||
"id": "glm-5",
|
||||
"name": "GLM 5"
|
||||
},
|
||||
{
|
||||
"id": "MiniMax-M2.5",
|
||||
"name": "MiniMax M2.5"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-max-2026-01-23",
|
||||
"name": "Qwen3 Max"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-coder-next",
|
||||
"name": "Qwen3 Coder Next"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-coder-plus",
|
||||
"name": "Qwen3 Coder Plus"
|
||||
},
|
||||
{
|
||||
"id": "glm-4.7",
|
||||
"name": "GLM 4.7"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,16 @@
|
||||
import { CLAUDE_API_HEADERS } from "../shared.js";
|
||||
|
||||
export default {
|
||||
id: "anthropic",
|
||||
alias: "anthropic",
|
||||
transport: {
|
||||
baseUrl: "https://api.anthropic.com/v1/messages",
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS }
|
||||
},
|
||||
models: [
|
||||
{ id: "claude-sonnet-4-20250514", name: "Claude Sonnet 4" },
|
||||
{ id: "claude-opus-4-20250514", name: "Claude Opus 4" },
|
||||
{ id: "claude-3-5-sonnet-20241022", name: "Claude 3.5 Sonnet" }
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,27 @@
|
||||
import { platform, arch } from "os";
|
||||
|
||||
export default {
|
||||
id: "antigravity",
|
||||
alias: "ag",
|
||||
transport: {
|
||||
baseUrls: [
|
||||
"https://daily-cloudcode-pa.googleapis.com",
|
||||
"https://daily-cloudcode-pa.sandbox.googleapis.com"
|
||||
],
|
||||
format: "antigravity",
|
||||
headers: { "User-Agent": `antigravity/1.107.0 ${platform()}/${arch()}` },
|
||||
clientId: "1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",
|
||||
clientSecret: "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"
|
||||
},
|
||||
models: [
|
||||
{ id: "gemini-3-flash-agent", name: "Gemini 3.5 Flash (High)" },
|
||||
{ id: "gemini-3.5-flash-low", name: "Gemini 3.5 Flash (Medium)" },
|
||||
{ id: "gemini-3.5-flash-extra-low", name: "Gemini 3.5 Flash (Low)" },
|
||||
{ id: "gemini-pro-agent", name: "Gemini 3.1 Pro (High)" },
|
||||
{ id: "gemini-3.1-pro-low", name: "Gemini 3.1 Pro (Low)" },
|
||||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6 (Thinking)" },
|
||||
{ id: "claude-opus-4-6-thinking", name: "Claude Opus 4.6 (Thinking)" },
|
||||
{ id: "gpt-oss-120b-medium", name: "GPT-OSS 120B (Medium)" },
|
||||
{ id: "gemini-3-flash", name: "Gemini 3 Flash", thinking: false }
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
"id": "assemblyai",
|
||||
"alias": "assemblyai",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.assemblyai.com/v1/audio/transcriptions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "universal-3-pro",
|
||||
"name": "Universal 3 Pro",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "universal-2",
|
||||
"name": "Universal 2",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
export default {
|
||||
"id": "azure",
|
||||
"alias": "azure",
|
||||
"transport": {
|
||||
"baseUrl": "",
|
||||
"headers": {}
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
export default {
|
||||
"id": "baseten",
|
||||
"alias": "baseten",
|
||||
"transport": {
|
||||
"baseUrl": "https://inference.baseten.co/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-R1",
|
||||
"name": "DeepSeek R1"
|
||||
},
|
||||
{
|
||||
"id": "meta-llama/Llama-3.3-70B-Instruct",
|
||||
"name": "Llama 3.3 70B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
export default {
|
||||
"id": "bazaarlink",
|
||||
"alias": "bazaarlink",
|
||||
"transport": {
|
||||
"baseUrl": "https://bazaarlink.ai/api/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "auto:free",
|
||||
"name": "Auto Free (Zero Cost)"
|
||||
},
|
||||
{
|
||||
"id": "auto",
|
||||
"name": "Auto (Best Model)"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,64 @@
|
||||
export default {
|
||||
"id": "black-forest-labs",
|
||||
"alias": "black-forest-labs",
|
||||
"transport": null,
|
||||
"models": [
|
||||
{
|
||||
"id": "flux-pro-1.1",
|
||||
"name": "FLUX Pro 1.1",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "flux-pro-1.1-ultra",
|
||||
"name": "FLUX Pro 1.1 Ultra",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "flux-pro",
|
||||
"name": "FLUX Pro",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "flux-dev",
|
||||
"name": "FLUX Dev",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "flux-kontext-pro",
|
||||
"name": "FLUX Kontext Pro (Edit)",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
],
|
||||
"capabilities": [
|
||||
"edit"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "flux-kontext-max",
|
||||
"name": "FLUX Kontext Max (Edit)",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
],
|
||||
"capabilities": [
|
||||
"edit"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,77 @@
|
||||
export default {
|
||||
"id": "blackbox",
|
||||
"alias": "blackbox",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.blackbox.ai/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gpt-4o",
|
||||
"name": "GPT-4o"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o-mini",
|
||||
"name": "GPT-4o mini"
|
||||
},
|
||||
{
|
||||
"id": "claude-sonnet-4.6",
|
||||
"name": "Claude Sonnet 4.6"
|
||||
},
|
||||
{
|
||||
"id": "claude-sonnet-4.5",
|
||||
"name": "Claude Sonnet 4.5"
|
||||
},
|
||||
{
|
||||
"id": "claude-opus-4.6",
|
||||
"name": "Claude Opus 4.6"
|
||||
},
|
||||
{
|
||||
"id": "claude-sonnet-4-6",
|
||||
"name": "Claude Sonnet 4.6 (Legacy)"
|
||||
},
|
||||
{
|
||||
"id": "claude-opus-4-6",
|
||||
"name": "Claude Opus 4.6 (Legacy)"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-chat",
|
||||
"name": "DeepSeek Chat"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v3-671b",
|
||||
"name": "DeepSeek V3 671B"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-r1",
|
||||
"name": "DeepSeek R1"
|
||||
},
|
||||
{
|
||||
"id": "o1",
|
||||
"name": "OpenAI o1"
|
||||
},
|
||||
{
|
||||
"id": "o3-mini",
|
||||
"name": "OpenAI o3-mini"
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.5-flash",
|
||||
"name": "Gemini 2.5 Flash"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3-flash-preview",
|
||||
"name": "Gemini 3 Flash Preview"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-coder-plus",
|
||||
"name": "Qwen3 Coder Plus"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-max",
|
||||
"name": "Qwen3 Max"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-vl-plus",
|
||||
"name": "Qwen3 VL Plus"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,38 @@
|
||||
export default {
|
||||
"id": "byteplus",
|
||||
"alias": "byteplus",
|
||||
"transport": {
|
||||
"baseUrl": "https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",
|
||||
"headers": {}
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "seed-2-0-pro-260328",
|
||||
"name": "Seed 2.0 Pro"
|
||||
},
|
||||
{
|
||||
"id": "seed-2-0-code-preview-260328",
|
||||
"name": "Seed 2.0 Code Preview"
|
||||
},
|
||||
{
|
||||
"id": "seed-2-0-mini-260215",
|
||||
"name": "Seed 2.0 Mini"
|
||||
},
|
||||
{
|
||||
"id": "seed-2-0-lite-260228",
|
||||
"name": "Seed 2.0 Lite"
|
||||
},
|
||||
{
|
||||
"id": "kimi-k2-thinking-251104",
|
||||
"name": "Kimi K2 Thinking"
|
||||
},
|
||||
{
|
||||
"id": "glm-4-7-251222",
|
||||
"name": "GLM 4.7"
|
||||
},
|
||||
{
|
||||
"id": "gpt-oss-120b-250805",
|
||||
"name": "GPT-OSS-120B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
"id": "bytez",
|
||||
"alias": "bytez",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.bytez.com/models/v2"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "meta-llama/Llama-3.3-70B-Instruct",
|
||||
"name": "Llama 3.3 70B"
|
||||
},
|
||||
{
|
||||
"id": "mistralai/Mistral-7B-Instruct-v0.3",
|
||||
"name": "Mistral 7B v0.3"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen2.5-72B-Instruct",
|
||||
"name": "Qwen 2.5 72B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
export default {
|
||||
"id": "cerebras",
|
||||
"alias": "cerebras",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.cerebras.ai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gpt-oss-120b",
|
||||
"name": "GPT OSS 120B"
|
||||
},
|
||||
{
|
||||
"id": "zai-glm-4.7",
|
||||
"name": "ZAI GLM 4.7"
|
||||
},
|
||||
{
|
||||
"id": "llama-3.3-70b",
|
||||
"name": "Llama 3.3 70B"
|
||||
},
|
||||
{
|
||||
"id": "llama-4-scout-17b-16e-instruct",
|
||||
"name": "Llama 4 Scout"
|
||||
},
|
||||
{
|
||||
"id": "qwen-3-235b-a22b-instruct-2507",
|
||||
"name": "Qwen3 235B A22B"
|
||||
},
|
||||
{
|
||||
"id": "qwen-3-32b",
|
||||
"name": "Qwen3 32B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,7 @@
|
||||
export default {
|
||||
"id": "chutes",
|
||||
"alias": "chutes",
|
||||
"transport": {
|
||||
"baseUrl": "https://llm.chutes.ai/v1/chat/completions"
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,22 @@
|
||||
import { CLAUDE_CLI_SPOOF_HEADERS } from "../shared.js";
|
||||
|
||||
export default {
|
||||
id: "claude",
|
||||
alias: "cc",
|
||||
transport: {
|
||||
baseUrl: "https://api.anthropic.com/v1/messages",
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_CLI_SPOOF_HEADERS },
|
||||
clientId: "9d1c250a-e61b-44d9-88ed-5944d1962f5e",
|
||||
tokenUrl: "https://api.anthropic.com/v1/oauth/token"
|
||||
},
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-4-7", name: "Claude Opus 4.7" },
|
||||
{ id: "claude-opus-4-6", name: "Claude Opus 4.6" },
|
||||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||||
{ id: "claude-opus-4-5-20251101", name: "Claude 4.5 Opus" },
|
||||
{ id: "claude-sonnet-4-5-20250929", name: "Claude 4.5 Sonnet" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude 4.5 Haiku" }
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,47 @@
|
||||
export default {
|
||||
"id": "cline",
|
||||
"alias": "cl",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.cline.bot/api/v1/chat/completions",
|
||||
"headers": {
|
||||
"HTTP-Referer": "https://cline.bot",
|
||||
"X-Title": "Cline"
|
||||
},
|
||||
"tokenUrl": "https://api.cline.bot/api/v1/auth/token",
|
||||
"refreshUrl": "https://api.cline.bot/api/v1/auth/refresh"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "anthropic/claude-opus-4.7",
|
||||
"name": "Claude Opus 4.7"
|
||||
},
|
||||
{
|
||||
"id": "anthropic/claude-sonnet-4.6",
|
||||
"name": "Claude Sonnet 4.6"
|
||||
},
|
||||
{
|
||||
"id": "anthropic/claude-opus-4.6",
|
||||
"name": "Claude Opus 4.6"
|
||||
},
|
||||
{
|
||||
"id": "openai/gpt-5.3-codex",
|
||||
"name": "GPT-5.3 Codex"
|
||||
},
|
||||
{
|
||||
"id": "openai/gpt-5.4",
|
||||
"name": "GPT-5.4"
|
||||
},
|
||||
{
|
||||
"id": "google/gemini-3.1-pro-preview",
|
||||
"name": "Gemini 3.1 Pro Preview"
|
||||
},
|
||||
{
|
||||
"id": "google/gemini-3.1-flash-lite-preview",
|
||||
"name": "Gemini 3.1 Flash Lite Preview"
|
||||
},
|
||||
{
|
||||
"id": "kwaipilot/kat-coder-pro",
|
||||
"name": "KAT Coder Pro"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,156 @@
|
||||
export default {
|
||||
"id": "cloudflare-ai",
|
||||
"alias": "cloudflare-ai",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "@cf/meta/llama-3.2-1b-instruct",
|
||||
"name": "Llama 3.2 1B Instruct"
|
||||
},
|
||||
{
|
||||
"id": "@cf/meta/llama-3.2-3b-instruct",
|
||||
"name": "Llama 3.2 3B Instruct"
|
||||
},
|
||||
{
|
||||
"id": "@cf/meta/llama-3.1-8b-instruct-fp8-fast",
|
||||
"name": "Llama 3.1 8B Instruct FP8 Fast"
|
||||
},
|
||||
{
|
||||
"id": "@cf/meta/llama-3.1-8b-instruct-awq",
|
||||
"name": "Llama 3.1 8B Instruct AWQ"
|
||||
},
|
||||
{
|
||||
"id": "@cf/mistralai/mistral-small-3.1-24b-instruct",
|
||||
"name": "Mistral Small 3.1 24B Instruct"
|
||||
},
|
||||
{
|
||||
"id": "@cf/meta/llama-3.1-70b-instruct-fp8-fast",
|
||||
"name": "Llama 3.1 70B Instruct FP8 Fast"
|
||||
},
|
||||
{
|
||||
"id": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
|
||||
"name": "Llama 3.3 70B Instruct FP8 Fast"
|
||||
},
|
||||
{
|
||||
"id": "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",
|
||||
"name": "DeepSeek R1 Distill Qwen 32B"
|
||||
},
|
||||
{
|
||||
"id": "@cf/moonshotai/kimi-k2.5",
|
||||
"name": "Kimi K2.5"
|
||||
},
|
||||
{
|
||||
"id": "@cf/moonshotai/kimi-k2.6",
|
||||
"name": "Kimi K2.6"
|
||||
},
|
||||
{
|
||||
"id": "@cf/zai-org/glm-4.7-flash",
|
||||
"name": "GLM 4.7 Flash"
|
||||
},
|
||||
{
|
||||
"id": "@cf/qwen/qwq-32b",
|
||||
"name": "QwQ 32B"
|
||||
},
|
||||
{
|
||||
"id": "@cf/qwen/qwen2.5-coder-32b-instruct",
|
||||
"name": "Qwen 2.5 Coder 32B Instruct"
|
||||
},
|
||||
{
|
||||
"id": "@cf/black-forest-labs/flux-2-klein-9b",
|
||||
"name": "FLUX.2 Klein 9B",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "@cf/black-forest-labs/flux-2-klein-4b",
|
||||
"name": "FLUX.2 Klein 4B",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "@cf/black-forest-labs/flux-2-dev",
|
||||
"name": "FLUX.2 Dev",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "@cf/leonardo/lucid-origin",
|
||||
"name": "Lucid Origin",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "@cf/leonardo/phoenix-1.0",
|
||||
"name": "Phoenix 1.0",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "@cf/black-forest-labs/flux-1-schnell",
|
||||
"name": "FLUX.1 Schnell",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "@cf/bytedance/stable-diffusion-xl-lightning",
|
||||
"name": "SDXL Lightning",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "@cf/lykon/dreamshaper-8-lcm",
|
||||
"name": "DreamShaper 8 LCM",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "@cf/runwayml/stable-diffusion-v1-5-img2img",
|
||||
"name": "Stable Diffusion v1.5 Img2Img",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
],
|
||||
"capabilities": [
|
||||
"edit"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "@cf/runwayml/stable-diffusion-v1-5-inpainting",
|
||||
"name": "Stable Diffusion v1.5 Inpainting",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
],
|
||||
"capabilities": [
|
||||
"edit",
|
||||
"mask"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "@cf/stabilityai/stable-diffusion-xl-base-1.0",
|
||||
"name": "SDXL Base 1.0",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,7 @@
|
||||
export default {
|
||||
"id": "codebuddy",
|
||||
"alias": "codebuddy",
|
||||
"transport": {
|
||||
"baseUrl": "https://copilot.tencent.com/v1/chat/completions"
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,30 @@
|
||||
import { withCodexReviewModels } from "../models/helpers.js";
|
||||
|
||||
export default {
|
||||
id: "codex",
|
||||
alias: "cx",
|
||||
transport: {
|
||||
baseUrl: "https://chatgpt.com/backend-api/codex/responses",
|
||||
format: "openai-responses",
|
||||
headers: {
|
||||
"originator": "codex_cli_rs",
|
||||
"User-Agent": "codex_cli_rs/0.136.0"
|
||||
},
|
||||
clientId: "app_EMoamEEZ73f0CkXaXp7hrann",
|
||||
tokenUrl: "https://auth.openai.com/oauth/token"
|
||||
},
|
||||
models: withCodexReviewModels([
|
||||
{ id: "gpt-5.5", name: "GPT 5.5" },
|
||||
{ id: "gpt-5.4", name: "GPT 5.4" },
|
||||
{ id: "gpt-5.4-mini", name: "GPT 5.4 Mini" },
|
||||
{ id: "gpt-5.3-codex", name: "GPT 5.3 Codex" },
|
||||
{ id: "gpt-5.3-codex-xhigh", name: "GPT 5.3 Codex (xHigh)" },
|
||||
{ id: "gpt-5.3-codex-high", name: "GPT 5.3 Codex (High)" },
|
||||
{ id: "gpt-5.3-codex-low", name: "GPT 5.3 Codex (Low)" },
|
||||
{ id: "gpt-5.3-codex-none", name: "GPT 5.3 Codex (None)" },
|
||||
{ id: "gpt-5.3-codex-spark", name: "GPT 5.3 Codex Spark" },
|
||||
{ id: "gpt-5.5-image", name: "GPT 5.5 Image", type: "image", capabilities: ["text2img", "edit"], params: ["size", "quality", "background", "image_detail", "output_format"] },
|
||||
{ id: "gpt-5.4-image", name: "GPT 5.4 Image", type: "image", capabilities: ["text2img", "edit"], params: ["size", "quality", "background", "image_detail", "output_format"] },
|
||||
{ id: "gpt-5.3-image", name: "GPT 5.3 Image", type: "image", capabilities: ["text2img", "edit"], params: ["size", "quality", "background", "image_detail", "output_format"] }
|
||||
])
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
"id": "cohere",
|
||||
"alias": "cohere",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.cohere.ai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "command-r-plus-08-2024",
|
||||
"name": "Command R+ (Aug 2024)"
|
||||
},
|
||||
{
|
||||
"id": "command-r-08-2024",
|
||||
"name": "Command R (Aug 2024)"
|
||||
},
|
||||
{
|
||||
"id": "command-a-03-2025",
|
||||
"name": "Command A (Mar 2025)"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
"id": "comfyui",
|
||||
"alias": "comfyui",
|
||||
"transport": null,
|
||||
"models": [
|
||||
{
|
||||
"id": "flux-dev",
|
||||
"name": "FLUX Dev",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "sdxl",
|
||||
"name": "SDXL",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,58 @@
|
||||
export default {
|
||||
"id": "commandcode",
|
||||
"alias": "commandcode",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.commandcode.ai/alpha/generate",
|
||||
"format": "commandcode",
|
||||
"headers": {
|
||||
"x-command-code-version": "0.25.7",
|
||||
"x-cli-environment": "cli"
|
||||
}
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "deepseek/deepseek-v4-pro",
|
||||
"name": "DeepSeek V4 Pro"
|
||||
},
|
||||
{
|
||||
"id": "deepseek/deepseek-v4-flash",
|
||||
"name": "DeepSeek V4 Flash"
|
||||
},
|
||||
{
|
||||
"id": "moonshotai/Kimi-K2.6",
|
||||
"name": "Kimi K2.6"
|
||||
},
|
||||
{
|
||||
"id": "moonshotai/Kimi-K2.5",
|
||||
"name": "Kimi K2.5"
|
||||
},
|
||||
{
|
||||
"id": "zai-org/GLM-5.1",
|
||||
"name": "GLM 5.1"
|
||||
},
|
||||
{
|
||||
"id": "zai-org/GLM-5",
|
||||
"name": "GLM 5"
|
||||
},
|
||||
{
|
||||
"id": "MiniMaxAI/MiniMax-M2.7",
|
||||
"name": "MiniMax M2.7"
|
||||
},
|
||||
{
|
||||
"id": "MiniMaxAI/MiniMax-M2.5",
|
||||
"name": "MiniMax M2.5"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen3.6-Max-Preview",
|
||||
"name": "Qwen 3.6 Max Preview"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen3.6-Plus",
|
||||
"name": "Qwen 3.6 Plus"
|
||||
},
|
||||
{
|
||||
"id": "stepfun/Step-3.5-Flash",
|
||||
"name": "Step 3.5 Flash"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
"id": "completions",
|
||||
"alias": "completions",
|
||||
"transport": {
|
||||
"baseUrl": "https://completions.me/api/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "claude-opus-4",
|
||||
"name": "Claude Opus 4"
|
||||
},
|
||||
{
|
||||
"id": "claude-sonnet-4",
|
||||
"name": "Claude Sonnet 4"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o",
|
||||
"name": "GPT-4o"
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.0-flash",
|
||||
"name": "Gemini 2.0 Flash"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,74 @@
|
||||
export default {
|
||||
"id": "cursor",
|
||||
"alias": "cu",
|
||||
"transport": {
|
||||
"baseUrl": "https://api2.cursor.sh",
|
||||
"chatPath": "/aiserver.v1.ChatService/StreamUnifiedChatWithTools",
|
||||
"format": "cursor",
|
||||
"headers": {
|
||||
"connect-accept-encoding": "gzip",
|
||||
"connect-protocol-version": "1",
|
||||
"Content-Type": "application/connect+proto",
|
||||
"User-Agent": "connect-es/1.6.1"
|
||||
},
|
||||
"clientVersion": "3.1.0"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "default",
|
||||
"name": "Auto (Server Picks)"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-opus-high-thinking",
|
||||
"name": "Claude 4.5 Opus High Thinking"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-opus-high",
|
||||
"name": "Claude 4.5 Opus High"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-sonnet-thinking",
|
||||
"name": "Claude 4.5 Sonnet Thinking"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-sonnet",
|
||||
"name": "Claude 4.5 Sonnet"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-haiku",
|
||||
"name": "Claude 4.5 Haiku"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-opus",
|
||||
"name": "Claude 4.5 Opus"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.2-codex",
|
||||
"name": "GPT 5.2 Codex"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.6-opus-max",
|
||||
"name": "Claude 4.6 Opus Max"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.6-sonnet-medium-thinking",
|
||||
"name": "Claude 4.6 Sonnet Medium Thinking"
|
||||
},
|
||||
{
|
||||
"id": "kimi-k2.5",
|
||||
"name": "Kimi K2.5"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3-flash-preview",
|
||||
"name": "Gemini 3 Flash Preview"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.2",
|
||||
"name": "GPT 5.2"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.3-codex",
|
||||
"name": "GPT 5.3 Codex"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
export default {
|
||||
"id": "deepgram",
|
||||
"alias": "deepgram",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.deepgram.com/v1/listen"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "nova-3",
|
||||
"name": "Nova 3",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "nova-2",
|
||||
"name": "Nova 2",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "whisper-large",
|
||||
"name": "Whisper Large",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
"id": "deepinfra",
|
||||
"alias": "deepinfra",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.deepinfra.com/v1/openai/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "meta-llama/Meta-Llama-3.1-70B-Instruct",
|
||||
"name": "Llama 3.1 70B"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-V3",
|
||||
"name": "DeepSeek V3"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen2.5-72B-Instruct",
|
||||
"name": "Qwen 2.5 72B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"id": "deepseek",
|
||||
"alias": "deepseek",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.deepseek.com/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "deepseek-v4-pro",
|
||||
"name": "DeepSeek V4 Pro"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v4-pro-max",
|
||||
"name": "DeepSeek V4 Pro Max",
|
||||
"upstreamModelId": "deepseek-v4-pro"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v4-pro-none",
|
||||
"name": "DeepSeek V4 Pro No Thinking",
|
||||
"upstreamModelId": "deepseek-v4-pro"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v4-flash",
|
||||
"name": "DeepSeek V4 Flash"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-chat",
|
||||
"name": "DeepSeek V3.2 Chat"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-reasoner",
|
||||
"name": "DeepSeek V3.2 Reasoner"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,22 @@
|
||||
export default {
|
||||
"id": "enally",
|
||||
"alias": "enally",
|
||||
"transport": {
|
||||
"baseUrl": "https://ai.enally.in/v1/chat/completions",
|
||||
"authHeader": "x-api-key"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gpt-4o",
|
||||
"name": "GPT-4o"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o-mini",
|
||||
"name": "GPT-4o Mini"
|
||||
},
|
||||
{
|
||||
"id": "claude-3-5-sonnet",
|
||||
"name": "Claude 3.5 Sonnet"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,72 @@
|
||||
export default {
|
||||
"id": "fal-ai",
|
||||
"alias": "fal-ai",
|
||||
"transport": null,
|
||||
"models": [
|
||||
{
|
||||
"id": "fal-ai/flux/schnell",
|
||||
"name": "FLUX Schnell",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fal-ai/flux/dev",
|
||||
"name": "FLUX Dev",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fal-ai/flux-pro/v1.1",
|
||||
"name": "FLUX Pro v1.1",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fal-ai/flux-pro/v1.1-ultra",
|
||||
"name": "FLUX Pro v1.1 Ultra",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fal-ai/recraft-v3",
|
||||
"name": "Recraft V3",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size",
|
||||
"style"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fal-ai/ideogram/v2",
|
||||
"name": "Ideogram V2",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size",
|
||||
"style"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fal-ai/stable-diffusion-v35-large",
|
||||
"name": "SD 3.5 Large",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
export default {
|
||||
"id": "fireworks",
|
||||
"alias": "fireworks",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.fireworks.ai/inference/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "accounts/fireworks/models/deepseek-v3p1",
|
||||
"name": "DeepSeek V3.1"
|
||||
},
|
||||
{
|
||||
"id": "accounts/fireworks/models/llama-v3p3-70b-instruct",
|
||||
"name": "Llama 3.3 70B"
|
||||
},
|
||||
{
|
||||
"id": "accounts/fireworks/models/qwen3-235b-a22b",
|
||||
"name": "Qwen3 235B"
|
||||
},
|
||||
{
|
||||
"id": "nomic-ai/nomic-embed-text-v1.5",
|
||||
"name": "Nomic Embed Text v1.5",
|
||||
"type": "embedding"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
"id": "freetheai",
|
||||
"alias": "freetheai",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.freetheai.xyz/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gpt-4o",
|
||||
"name": "GPT-4o"
|
||||
},
|
||||
{
|
||||
"id": "claude-3-5-sonnet",
|
||||
"name": "Claude 3.5 Sonnet"
|
||||
},
|
||||
{
|
||||
"id": "gemini-1.5-pro",
|
||||
"name": "Gemini 1.5 Pro"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-chat",
|
||||
"name": "DeepSeek Chat"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,20 @@
|
||||
export default {
|
||||
"id": "gemini-cli",
|
||||
"alias": "gc",
|
||||
"transport": {
|
||||
"baseUrl": "https://cloudcode-pa.googleapis.com/v1internal",
|
||||
"format": "gemini-cli",
|
||||
"clientId": "681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",
|
||||
"clientSecret": "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"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gemini-3-flash-preview",
|
||||
"name": "Gemini 3 Flash Preview"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3-pro-preview",
|
||||
"name": "Gemini 3 Pro Preview"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,122 @@
|
||||
export default {
|
||||
"id": "gemini",
|
||||
"alias": "gemini",
|
||||
"transport": {
|
||||
"baseUrl": "https://generativelanguage.googleapis.com/v1beta/models",
|
||||
"format": "gemini",
|
||||
"clientId": "681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",
|
||||
"clientSecret": "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"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gemini-3.1-pro-preview",
|
||||
"name": "Gemini 3.1 Pro Preview"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3.1-flash-lite-preview",
|
||||
"name": "Gemini 3.1 Flash Lite Preview"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3-flash-preview",
|
||||
"name": "Gemini 3 Flash Preview"
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.5-pro",
|
||||
"name": "Gemini 2.5 Pro"
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.5-flash",
|
||||
"name": "Gemini 2.5 Flash"
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.5-flash-lite",
|
||||
"name": "Gemini 2.5 Flash Lite"
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.0-flash",
|
||||
"name": "Gemini 2.0 Flash"
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.0-flash-lite",
|
||||
"name": "Gemini 2.0 Flash Lite"
|
||||
},
|
||||
{
|
||||
"id": "gemma-4-31b-it",
|
||||
"name": "Gemma 4 31B IT"
|
||||
},
|
||||
{
|
||||
"id": "gemini-embedding-2-preview",
|
||||
"name": "Gemini Embedding 2 Preview",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "gemini-embedding-001",
|
||||
"name": "Gemini Embedding 001",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "text-embedding-005",
|
||||
"name": "Text Embedding 005",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "text-embedding-004",
|
||||
"name": "Text Embedding 004 (Legacy)",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3.1-flash-image-preview",
|
||||
"name": "Gemini 3.1 Flash Image (Nano Banana 2)",
|
||||
"type": "image",
|
||||
"params": []
|
||||
},
|
||||
{
|
||||
"id": "gemini-3-pro-image-preview",
|
||||
"name": "Gemini 3 Pro Image (Nano Banana Pro)",
|
||||
"type": "image",
|
||||
"params": []
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.5-flash-image",
|
||||
"name": "Gemini 2.5 Flash Image (Nano Banana)",
|
||||
"type": "image",
|
||||
"params": []
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.5-pro",
|
||||
"name": "Gemini 2.5 Pro (Best)",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language",
|
||||
"prompt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.5-flash",
|
||||
"name": "Gemini 2.5 Flash",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language",
|
||||
"prompt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.5-flash-lite",
|
||||
"name": "Gemini 2.5 Flash Lite (Cheapest)",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language",
|
||||
"prompt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.0-flash",
|
||||
"name": "Gemini 2.0 Flash",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language",
|
||||
"prompt"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,129 @@
|
||||
export default {
|
||||
"id": "github",
|
||||
"alias": "gh",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.githubcopilot.com/chat/completions",
|
||||
"responsesUrl": "https://api.githubcopilot.com/responses",
|
||||
"headers": {
|
||||
"copilot-integration-id": "vscode-chat",
|
||||
"editor-version": "vscode/1.110.0",
|
||||
"editor-plugin-version": "copilot-chat/0.38.0",
|
||||
"user-agent": "GitHubCopilotChat/0.38.0",
|
||||
"openai-intent": "conversation-panel",
|
||||
"x-github-api-version": "2025-04-01",
|
||||
"x-vscode-user-agent-library-version": "electron-fetch",
|
||||
"X-Initiator": "user",
|
||||
"Accept": "application/json",
|
||||
"Content-Type": "application/json"
|
||||
},
|
||||
"clientId": "Iv1.b507a08c87ecfe98"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gpt-3.5-turbo",
|
||||
"name": "GPT-3.5 Turbo"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4",
|
||||
"name": "GPT-4"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o",
|
||||
"name": "GPT-4o"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o-mini",
|
||||
"name": "GPT-4o mini"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4.1",
|
||||
"name": "GPT-4.1"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5-mini",
|
||||
"name": "GPT-5 Mini"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.2",
|
||||
"name": "GPT-5.2"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.2-codex",
|
||||
"name": "GPT-5.2 Codex"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.3-codex",
|
||||
"name": "GPT-5.3 Codex"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.4",
|
||||
"name": "GPT-5.4"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.4-mini",
|
||||
"name": "GPT-5.4 Mini"
|
||||
},
|
||||
{
|
||||
"id": "claude-haiku-4.5",
|
||||
"name": "Claude Haiku 4.5"
|
||||
},
|
||||
{
|
||||
"id": "claude-opus-4.5",
|
||||
"name": "Claude Opus 4.5"
|
||||
},
|
||||
{
|
||||
"id": "claude-sonnet-4",
|
||||
"name": "Claude Sonnet 4"
|
||||
},
|
||||
{
|
||||
"id": "claude-sonnet-4.5",
|
||||
"name": "Claude Sonnet 4.5"
|
||||
},
|
||||
{
|
||||
"id": "claude-sonnet-4.6",
|
||||
"name": "Claude Sonnet 4.6"
|
||||
},
|
||||
{
|
||||
"id": "claude-opus-4.6",
|
||||
"name": "Claude Opus 4.6"
|
||||
},
|
||||
{
|
||||
"id": "claude-opus-4.7",
|
||||
"name": "Claude Opus 4.7"
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.5-pro",
|
||||
"name": "Gemini 2.5 Pro"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3-flash-preview",
|
||||
"name": "Gemini 3 Flash"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3.1-pro-preview",
|
||||
"name": "Gemini 3.1 Pro"
|
||||
},
|
||||
{
|
||||
"id": "grok-code-fast-1",
|
||||
"name": "Grok Code Fast 1"
|
||||
},
|
||||
{
|
||||
"id": "oswe-vscode-prime",
|
||||
"name": "Raptor Mini"
|
||||
},
|
||||
{
|
||||
"id": "goldeneye-free-auto",
|
||||
"name": "GoldenEye"
|
||||
},
|
||||
{
|
||||
"id": "text-embedding-3-small",
|
||||
"name": "Text Embedding 3 Small (GitHub)",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "text-embedding-3-large",
|
||||
"name": "Text Embedding 3 Large (GitHub)",
|
||||
"type": "embedding"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,7 @@
|
||||
export default {
|
||||
"id": "gitlab",
|
||||
"alias": "gitlab",
|
||||
"transport": {
|
||||
"baseUrl": "https://gitlab.com/api/v4/chat/completions"
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
"id": "glhf",
|
||||
"alias": "glhf",
|
||||
"transport": {
|
||||
"baseUrl": "https://glhf.chat/api/openai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "hf:meta-llama/Meta-Llama-3.1-405B-Instruct",
|
||||
"name": "Llama 3.1 405B"
|
||||
},
|
||||
{
|
||||
"id": "hf:meta-llama/Meta-Llama-3.1-70B-Instruct",
|
||||
"name": "Llama 3.1 70B"
|
||||
},
|
||||
{
|
||||
"id": "hf:Qwen/Qwen2.5-72B-Instruct",
|
||||
"name": "Qwen 2.5 72B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,30 @@
|
||||
export default {
|
||||
"id": "glm-cn",
|
||||
"alias": "glm-cn",
|
||||
"transport": {
|
||||
"baseUrl": "https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",
|
||||
"headers": {}
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "glm-5.1",
|
||||
"name": "GLM 5.1"
|
||||
},
|
||||
{
|
||||
"id": "glm-5",
|
||||
"name": "GLM 5"
|
||||
},
|
||||
{
|
||||
"id": "glm-4.7",
|
||||
"name": "GLM-4.7"
|
||||
},
|
||||
{
|
||||
"id": "glm-4.6",
|
||||
"name": "GLM-4.6"
|
||||
},
|
||||
{
|
||||
"id": "glm-4.5-air",
|
||||
"name": "GLM-4.5-Air"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
import { CLAUDE_API_HEADERS } from "../shared.js";
|
||||
|
||||
export default {
|
||||
id: "glm",
|
||||
alias: "glm",
|
||||
transport: {
|
||||
baseUrl: "https://api.z.ai/api/anthropic/v1/messages",
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS }
|
||||
},
|
||||
models: [
|
||||
{ id: "glm-5.1", name: "GLM 5.1" },
|
||||
{ id: "glm-5", name: "GLM 5" },
|
||||
{ id: "glm-4.7", name: "GLM 4.7" },
|
||||
{ id: "glm-4.6v", name: "GLM 4.6V (Vision)" }
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,59 @@
|
||||
export default {
|
||||
"id": "grok-web",
|
||||
"alias": "grok-web",
|
||||
"transport": {
|
||||
"baseUrl": "https://grok.com/rest/app-chat/conversations/new",
|
||||
"format": "grok-web",
|
||||
"authType": "cookie"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "grok-3",
|
||||
"name": "Grok 3"
|
||||
},
|
||||
{
|
||||
"id": "grok-3-mini",
|
||||
"name": "Grok 3 Mini (Thinking)"
|
||||
},
|
||||
{
|
||||
"id": "grok-3-thinking",
|
||||
"name": "Grok 3 Thinking"
|
||||
},
|
||||
{
|
||||
"id": "grok-4",
|
||||
"name": "Grok 4"
|
||||
},
|
||||
{
|
||||
"id": "grok-4-mini",
|
||||
"name": "Grok 4 Mini (Thinking)"
|
||||
},
|
||||
{
|
||||
"id": "grok-4-thinking",
|
||||
"name": "Grok 4 Thinking"
|
||||
},
|
||||
{
|
||||
"id": "grok-4-heavy",
|
||||
"name": "Grok 4 Heavy (SuperGrok)"
|
||||
},
|
||||
{
|
||||
"id": "grok-4.1-mini",
|
||||
"name": "Grok 4.1 Mini (Thinking)"
|
||||
},
|
||||
{
|
||||
"id": "grok-4.1-fast",
|
||||
"name": "Grok 4.1 Fast"
|
||||
},
|
||||
{
|
||||
"id": "grok-4.1-expert",
|
||||
"name": "Grok 4.1 Expert"
|
||||
},
|
||||
{
|
||||
"id": "grok-4.1-thinking",
|
||||
"name": "Grok 4.1 Thinking"
|
||||
},
|
||||
{
|
||||
"id": "grok-4.2",
|
||||
"name": "Grok 4.2 (4.20 Beta)"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,58 @@
|
||||
export default {
|
||||
"id": "groq",
|
||||
"alias": "groq",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.groq.com/openai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "llama-3.3-70b-versatile",
|
||||
"name": "Llama 3.3 70B"
|
||||
},
|
||||
{
|
||||
"id": "meta-llama/llama-4-maverick-17b-128e-instruct",
|
||||
"name": "Llama 4 Maverick"
|
||||
},
|
||||
{
|
||||
"id": "qwen/qwen3-32b",
|
||||
"name": "Qwen3 32B"
|
||||
},
|
||||
{
|
||||
"id": "openai/gpt-oss-120b",
|
||||
"name": "GPT-OSS 120B"
|
||||
},
|
||||
{
|
||||
"id": "whisper-large-v3",
|
||||
"name": "Whisper Large v3",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language",
|
||||
"response_format",
|
||||
"temperature",
|
||||
"prompt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "whisper-large-v3-turbo",
|
||||
"name": "Whisper Large v3 Turbo",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language",
|
||||
"response_format",
|
||||
"temperature",
|
||||
"prompt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "distil-whisper-large-v3-en",
|
||||
"name": "Distil Whisper Large v3 EN",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language",
|
||||
"response_format",
|
||||
"temperature",
|
||||
"prompt"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"id": "huggingface",
|
||||
"alias": "huggingface",
|
||||
"transport": null,
|
||||
"models": [
|
||||
{
|
||||
"id": "black-forest-labs/FLUX.1-schnell",
|
||||
"name": "FLUX.1 Schnell",
|
||||
"type": "image",
|
||||
"params": []
|
||||
},
|
||||
{
|
||||
"id": "stabilityai/stable-diffusion-xl-base-1.0",
|
||||
"name": "SDXL Base 1.0",
|
||||
"type": "image",
|
||||
"params": []
|
||||
},
|
||||
{
|
||||
"id": "openai/whisper-large-v3",
|
||||
"name": "Whisper Large v3 (HF)",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "openai/whisper-small",
|
||||
"name": "Whisper Small (HF)",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,41 @@
|
||||
export default {
|
||||
"id": "hyperbolic",
|
||||
"alias": "hyperbolic",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.hyperbolic.xyz/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "Qwen/QwQ-32B",
|
||||
"name": "QwQ 32B"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-R1",
|
||||
"name": "DeepSeek R1"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-V3",
|
||||
"name": "DeepSeek V3"
|
||||
},
|
||||
{
|
||||
"id": "meta-llama/Llama-3.3-70B-Instruct",
|
||||
"name": "Llama 3.3 70B"
|
||||
},
|
||||
{
|
||||
"id": "meta-llama/Llama-3.2-3B-Instruct",
|
||||
"name": "Llama 3.2 3B"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen2.5-72B-Instruct",
|
||||
"name": "Qwen 2.5 72B"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen2.5-Coder-32B-Instruct",
|
||||
"name": "Qwen 2.5 Coder 32B"
|
||||
},
|
||||
{
|
||||
"id": "NousResearch/Hermes-3-Llama-3.1-70B",
|
||||
"name": "Hermes 3 70B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,76 @@
|
||||
export default {
|
||||
"id": "iflow",
|
||||
"alias": "if",
|
||||
"transport": {
|
||||
"baseUrl": "https://apis.iflow.cn/v1/chat/completions",
|
||||
"headers": {
|
||||
"User-Agent": "iFlow-Cli"
|
||||
},
|
||||
"clientId": "10009311001",
|
||||
"clientSecret": "4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",
|
||||
"tokenUrl": "https://iflow.cn/oauth/token",
|
||||
"authUrl": "https://iflow.cn/oauth"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "qwen3-coder-plus",
|
||||
"name": "Qwen3 Coder Plus"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-max",
|
||||
"name": "Qwen3 Max"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-vl-plus",
|
||||
"name": "Qwen3 VL Plus"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-max-preview",
|
||||
"name": "Qwen3 Max Preview"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-235b",
|
||||
"name": "Qwen3 235B A22B"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-235b-a22b-instruct",
|
||||
"name": "Qwen3 235B A22B Instruct"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-235b-a22b-thinking-2507",
|
||||
"name": "Qwen3 235B A22B Thinking"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-32b",
|
||||
"name": "Qwen3 32B"
|
||||
},
|
||||
{
|
||||
"id": "kimi-k2",
|
||||
"name": "Kimi K2"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v3.2",
|
||||
"name": "DeepSeek V3.2 Exp"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v3.1",
|
||||
"name": "DeepSeek V3.1 Terminus"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-v3",
|
||||
"name": "DeepSeek V3 671B"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-r1",
|
||||
"name": "DeepSeek R1"
|
||||
},
|
||||
{
|
||||
"id": "glm-4.7",
|
||||
"name": "GLM 4.7"
|
||||
},
|
||||
{
|
||||
"id": "iflow-rome-30ba3b",
|
||||
"name": "iFlow ROME"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,204 @@
|
||||
// Auto-generated: static imports of all registry entries
|
||||
import p0 from './agentrouter.js';
|
||||
import p1 from './ai21.js';
|
||||
import p2 from './aimlapi.js';
|
||||
import p3 from './alicode-intl.js';
|
||||
import p4 from './alicode.js';
|
||||
import p5 from './anthropic.js';
|
||||
import p6 from './antigravity.js';
|
||||
import p7 from './assemblyai.js';
|
||||
import p8 from './azure.js';
|
||||
import p9 from './baseten.js';
|
||||
import p10 from './bazaarlink.js';
|
||||
import p11 from './black-forest-labs.js';
|
||||
import p12 from './blackbox.js';
|
||||
import p13 from './byteplus.js';
|
||||
import p14 from './bytez.js';
|
||||
import p15 from './cerebras.js';
|
||||
import p16 from './chutes.js';
|
||||
import p17 from './claude.js';
|
||||
import p18 from './cline.js';
|
||||
import p19 from './cloudflare-ai.js';
|
||||
import p20 from './codebuddy.js';
|
||||
import p21 from './codex.js';
|
||||
import p22 from './cohere.js';
|
||||
import p23 from './comfyui.js';
|
||||
import p24 from './commandcode.js';
|
||||
import p25 from './completions.js';
|
||||
import p26 from './cursor.js';
|
||||
import p27 from './deepgram.js';
|
||||
import p28 from './deepinfra.js';
|
||||
import p29 from './deepseek.js';
|
||||
import p30 from './enally.js';
|
||||
import p31 from './fal-ai.js';
|
||||
import p32 from './fireworks.js';
|
||||
import p33 from './freetheai.js';
|
||||
import p34 from './gemini-cli.js';
|
||||
import p35 from './gemini.js';
|
||||
import p36 from './github.js';
|
||||
import p37 from './gitlab.js';
|
||||
import p38 from './glhf.js';
|
||||
import p39 from './glm-cn.js';
|
||||
import p40 from './glm.js';
|
||||
import p41 from './grok-web.js';
|
||||
import p42 from './groq.js';
|
||||
import p43 from './huggingface.js';
|
||||
import p44 from './hyperbolic.js';
|
||||
import p45 from './iflow.js';
|
||||
import p46 from './inference-net.js';
|
||||
import p47 from './kilocode.js';
|
||||
import p48 from './kimi-coding.js';
|
||||
import p49 from './kimi.js';
|
||||
import p50 from './kiro.js';
|
||||
import p51 from './kluster.js';
|
||||
import p52 from './lepton.js';
|
||||
import p53 from './llm7.js';
|
||||
import p54 from './longcat.js';
|
||||
import p55 from './mimo-free.js';
|
||||
import p56 from './minimax-cn.js';
|
||||
import p57 from './minimax.js';
|
||||
import p58 from './mistral.js';
|
||||
import p59 from './mmf.js';
|
||||
import p60 from './modal.js';
|
||||
import p61 from './morph.js';
|
||||
import p62 from './nanobanana.js';
|
||||
import p63 from './nebius.js';
|
||||
import p64 from './nlpcloud.js';
|
||||
import p65 from './nous-research.js';
|
||||
import p66 from './novita.js';
|
||||
import p67 from './nscale.js';
|
||||
import p68 from './nvidia.js';
|
||||
import p69 from './ollama-local.js';
|
||||
import p70 from './ollama.js';
|
||||
import p71 from './openai.js';
|
||||
import p72 from './opencode-go.js';
|
||||
import p73 from './opencode.js';
|
||||
import p74 from './openrouter.js';
|
||||
import p75 from './perplexity-web.js';
|
||||
import p76 from './perplexity.js';
|
||||
import p77 from './predibase.js';
|
||||
import p78 from './publicai.js';
|
||||
import p79 from './puter.js';
|
||||
import p80 from './qoder.js';
|
||||
import p81 from './qwen.js';
|
||||
import p82 from './recraft.js';
|
||||
import p83 from './reka.js';
|
||||
import p84 from './runwayml.js';
|
||||
import p85 from './sambanova.js';
|
||||
import p86 from './scaleway.js';
|
||||
import p87 from './sdwebui.js';
|
||||
import p88 from './siliconflow.js';
|
||||
import p89 from './stability-ai.js';
|
||||
import p90 from './together.js';
|
||||
import p91 from './uncloseai.js';
|
||||
import p92 from './vercel-ai-gateway.js';
|
||||
import p93 from './vertex-partner.js';
|
||||
import p94 from './vertex.js';
|
||||
import p95 from './volcengine-ark.js';
|
||||
import p96 from './voyage-ai.js';
|
||||
import p97 from './xai.js';
|
||||
import p98 from './xiaomi-mimo.js';
|
||||
import p99 from './xiaomi-tokenplan.js';
|
||||
|
||||
export default [
|
||||
p0,
|
||||
p1,
|
||||
p2,
|
||||
p3,
|
||||
p4,
|
||||
p5,
|
||||
p6,
|
||||
p7,
|
||||
p8,
|
||||
p9,
|
||||
p10,
|
||||
p11,
|
||||
p12,
|
||||
p13,
|
||||
p14,
|
||||
p15,
|
||||
p16,
|
||||
p17,
|
||||
p18,
|
||||
p19,
|
||||
p20,
|
||||
p21,
|
||||
p22,
|
||||
p23,
|
||||
p24,
|
||||
p25,
|
||||
p26,
|
||||
p27,
|
||||
p28,
|
||||
p29,
|
||||
p30,
|
||||
p31,
|
||||
p32,
|
||||
p33,
|
||||
p34,
|
||||
p35,
|
||||
p36,
|
||||
p37,
|
||||
p38,
|
||||
p39,
|
||||
p40,
|
||||
p41,
|
||||
p42,
|
||||
p43,
|
||||
p44,
|
||||
p45,
|
||||
p46,
|
||||
p47,
|
||||
p48,
|
||||
p49,
|
||||
p50,
|
||||
p51,
|
||||
p52,
|
||||
p53,
|
||||
p54,
|
||||
p55,
|
||||
p56,
|
||||
p57,
|
||||
p58,
|
||||
p59,
|
||||
p60,
|
||||
p61,
|
||||
p62,
|
||||
p63,
|
||||
p64,
|
||||
p65,
|
||||
p66,
|
||||
p67,
|
||||
p68,
|
||||
p69,
|
||||
p70,
|
||||
p71,
|
||||
p72,
|
||||
p73,
|
||||
p74,
|
||||
p75,
|
||||
p76,
|
||||
p77,
|
||||
p78,
|
||||
p79,
|
||||
p80,
|
||||
p81,
|
||||
p82,
|
||||
p83,
|
||||
p84,
|
||||
p85,
|
||||
p86,
|
||||
p87,
|
||||
p88,
|
||||
p89,
|
||||
p90,
|
||||
p91,
|
||||
p92,
|
||||
p93,
|
||||
p94,
|
||||
p95,
|
||||
p96,
|
||||
p97,
|
||||
p98,
|
||||
p99
|
||||
];
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
"id": "inference-net",
|
||||
"alias": "inference-net",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.inference.net/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "meta-llama/llama-3.3-70b-instruct/fp-16",
|
||||
"name": "Llama 3.3 70B"
|
||||
},
|
||||
{
|
||||
"id": "deepseek/deepseek-v3-0324",
|
||||
"name": "DeepSeek V3"
|
||||
},
|
||||
{
|
||||
"id": "mistralai/mistral-nemo-12b-instruct/fp-16",
|
||||
"name": "Mistral Nemo 12B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,42 @@
|
||||
export default {
|
||||
"id": "kilocode",
|
||||
"alias": "kc",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.kilo.ai/api/openrouter/chat/completions",
|
||||
"headers": {}
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "anthropic/claude-sonnet-4-20250514",
|
||||
"name": "Claude Sonnet 4"
|
||||
},
|
||||
{
|
||||
"id": "anthropic/claude-opus-4-20250514",
|
||||
"name": "Claude Opus 4"
|
||||
},
|
||||
{
|
||||
"id": "google/gemini-2.5-pro",
|
||||
"name": "Gemini 2.5 Pro"
|
||||
},
|
||||
{
|
||||
"id": "google/gemini-2.5-flash",
|
||||
"name": "Gemini 2.5 Flash"
|
||||
},
|
||||
{
|
||||
"id": "openai/gpt-4.1",
|
||||
"name": "GPT-4.1"
|
||||
},
|
||||
{
|
||||
"id": "openai/o3",
|
||||
"name": "o3"
|
||||
},
|
||||
{
|
||||
"id": "deepseek/deepseek-chat",
|
||||
"name": "DeepSeek Chat"
|
||||
},
|
||||
{
|
||||
"id": "deepseek/deepseek-reasoner",
|
||||
"name": "DeepSeek Reasoner"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,20 @@
|
||||
import { CLAUDE_API_HEADERS, KIMI_CODING_BASE_URL } from "../shared.js";
|
||||
|
||||
export default {
|
||||
id: "kimi-coding",
|
||||
alias: "kmc",
|
||||
transport: {
|
||||
baseUrl: KIMI_CODING_BASE_URL,
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS },
|
||||
clientId: "17e5f671-d194-4dfb-9706-5516cb48c098",
|
||||
tokenUrl: "https://auth.kimi.com/api/oauth/token",
|
||||
refreshUrl: "https://auth.kimi.com/api/oauth/token"
|
||||
},
|
||||
models: [
|
||||
{ id: "kimi-k2.6", name: "Kimi K2.6" },
|
||||
{ id: "kimi-k2.5", name: "Kimi K2.5" },
|
||||
{ id: "kimi-k2.5-thinking", name: "Kimi K2.5 Thinking" },
|
||||
{ id: "kimi-latest", name: "Kimi Latest" }
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
import { CLAUDE_API_HEADERS, KIMI_CODING_BASE_URL } from "../shared.js";
|
||||
|
||||
export default {
|
||||
id: "kimi",
|
||||
alias: "kimi",
|
||||
transport: {
|
||||
baseUrl: KIMI_CODING_BASE_URL,
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS }
|
||||
},
|
||||
models: [
|
||||
{ id: "kimi-k2.6", name: "Kimi K2.6" },
|
||||
{ id: "kimi-k2.5", name: "Kimi K2.5" },
|
||||
{ id: "kimi-k2.5-thinking", name: "Kimi K2.5 Thinking" },
|
||||
{ id: "kimi-latest", name: "Kimi Latest" }
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,83 @@
|
||||
export default {
|
||||
"id": "kiro",
|
||||
"alias": "kr",
|
||||
"transport": {
|
||||
"baseUrl": "https://runtime.us-east-1.kiro.dev/generateAssistantResponse",
|
||||
"baseUrls": [
|
||||
"https://runtime.us-east-1.kiro.dev/generateAssistantResponse",
|
||||
"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",
|
||||
"https://q.us-east-1.amazonaws.com/generateAssistantResponse"
|
||||
],
|
||||
"format": "kiro",
|
||||
"retry": {
|
||||
"429": 0
|
||||
},
|
||||
"headers": {
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/vnd.amazon.eventstream",
|
||||
"X-Amz-Target": "AmazonCodeWhispererStreamingService.GenerateAssistantResponse",
|
||||
"User-Agent": "AWS-SDK-JS/3.0.0 kiro-ide/1.0.0",
|
||||
"X-Amz-User-Agent": "aws-sdk-js/3.0.0 kiro-ide/1.0.0"
|
||||
},
|
||||
"tokenUrl": "https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",
|
||||
"authUrl": "https://prod.us-east-1.auth.desktop.kiro.dev"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "claude-sonnet-4.5",
|
||||
"name": "Claude Sonnet 4.5"
|
||||
},
|
||||
{
|
||||
"id": "claude-haiku-4.5",
|
||||
"name": "Claude Haiku 4.5"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-3.2",
|
||||
"name": "DeepSeek 3.2",
|
||||
"strip": [
|
||||
"image",
|
||||
"audio"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "qwen3-coder-next",
|
||||
"name": "Qwen3 Coder Next",
|
||||
"strip": [
|
||||
"image",
|
||||
"audio"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "glm-5",
|
||||
"name": "GLM 5"
|
||||
},
|
||||
{
|
||||
"id": "MiniMax-M2.5",
|
||||
"name": "MiniMax M2.5"
|
||||
},
|
||||
{
|
||||
"id": "claude-sonnet-4.5-thinking",
|
||||
"name": "Claude Sonnet 4.5 (Thinking)"
|
||||
},
|
||||
{
|
||||
"id": "claude-haiku-4.5-thinking",
|
||||
"name": "Claude Haiku 4.5 (Thinking)"
|
||||
},
|
||||
{
|
||||
"id": "claude-sonnet-4.5-agentic",
|
||||
"name": "Claude Sonnet 4.5 (Agentic)"
|
||||
},
|
||||
{
|
||||
"id": "claude-haiku-4.5-agentic",
|
||||
"name": "Claude Haiku 4.5 (Agentic)"
|
||||
},
|
||||
{
|
||||
"id": "claude-sonnet-4.5-thinking-agentic",
|
||||
"name": "Claude Sonnet 4.5 (Thinking + Agentic)"
|
||||
},
|
||||
{
|
||||
"id": "claude-haiku-4.5-thinking-agentic",
|
||||
"name": "Claude Haiku 4.5 (Thinking + Agentic)"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
"id": "kluster",
|
||||
"alias": "kluster",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.kluster.ai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-R1",
|
||||
"name": "DeepSeek R1"
|
||||
},
|
||||
{
|
||||
"id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
|
||||
"name": "Llama 4 Maverick"
|
||||
},
|
||||
{
|
||||
"id": "meta-llama/Llama-4-Scout-17B-16E-Instruct",
|
||||
"name": "Llama 4 Scout"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen3-235B-A22B-Instruct",
|
||||
"name": "Qwen3 235B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
"id": "lepton",
|
||||
"alias": "lepton",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.lepton.ai/api/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "llama3-1-405b",
|
||||
"name": "Llama 3.1 405B"
|
||||
},
|
||||
{
|
||||
"id": "llama3-1-70b",
|
||||
"name": "Llama 3.1 70B"
|
||||
},
|
||||
{
|
||||
"id": "llama3-1-8b",
|
||||
"name": "Llama 3.1 8B"
|
||||
},
|
||||
{
|
||||
"id": "mixtral-8x7b",
|
||||
"name": "Mixtral 8x7B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
"id": "llm7",
|
||||
"alias": "llm7",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.llm7.io/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gpt-4o-mini",
|
||||
"name": "GPT-4o Mini"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4.1-mini",
|
||||
"name": "GPT-4.1 Mini"
|
||||
},
|
||||
{
|
||||
"id": "gemini-1.5-flash",
|
||||
"name": "Gemini 1.5 Flash"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
"id": "longcat",
|
||||
"alias": "longcat",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.longcat.chat/openai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "LongCat-Flash-Chat",
|
||||
"name": "LongCat Flash Chat"
|
||||
},
|
||||
{
|
||||
"id": "LongCat-Flash-Thinking",
|
||||
"name": "LongCat Flash Thinking"
|
||||
},
|
||||
{
|
||||
"id": "LongCat-Flash-Lite",
|
||||
"name": "LongCat Flash Lite"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,14 @@
|
||||
export default {
|
||||
"id": "mimo-free",
|
||||
"alias": "mmf",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.xiaomimimo.com/api/free-ai/openai/chat",
|
||||
"noAuth": true
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "mimo-auto",
|
||||
"name": "MiMo Auto"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
import { CLAUDE_API_HEADERS } from "../shared.js";
|
||||
|
||||
export default {
|
||||
id: "minimax-cn",
|
||||
alias: "minimax-cn",
|
||||
transport: {
|
||||
baseUrl: "https://api.minimaxi.com/anthropic/v1/messages",
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS }
|
||||
},
|
||||
models: [
|
||||
{ id: "MiniMax-M3", name: "MiniMax M3", targetFormat: "claude" },
|
||||
{ id: "MiniMax-M2.7", name: "MiniMax M2.7" },
|
||||
{ id: "MiniMax-M2.5", name: "MiniMax M2.5" },
|
||||
{ id: "MiniMax-M2.1", name: "MiniMax M2.1" }
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,18 @@
|
||||
import { CLAUDE_API_HEADERS } from "../shared.js";
|
||||
|
||||
export default {
|
||||
id: "minimax",
|
||||
alias: "minimax",
|
||||
transport: {
|
||||
baseUrl: "https://api.minimax.io/anthropic/v1/messages",
|
||||
format: "claude",
|
||||
headers: { ...CLAUDE_API_HEADERS }
|
||||
},
|
||||
models: [
|
||||
{ id: "MiniMax-M3", name: "MiniMax M3", targetFormat: "claude" },
|
||||
{ id: "MiniMax-M2.7", name: "MiniMax M2.7" },
|
||||
{ id: "MiniMax-M2.5", name: "MiniMax M2.5" },
|
||||
{ id: "MiniMax-M2.1", name: "MiniMax M2.1" },
|
||||
{ id: "minimax-image-01", name: "MiniMax Image 01", type: "image", params: ["n", "size", "response_format"] }
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
export default {
|
||||
"id": "mistral",
|
||||
"alias": "mistral",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.mistral.ai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "mistral-large-latest",
|
||||
"name": "Mistral Large 3"
|
||||
},
|
||||
{
|
||||
"id": "codestral-latest",
|
||||
"name": "Codestral"
|
||||
},
|
||||
{
|
||||
"id": "mistral-medium-latest",
|
||||
"name": "Mistral Medium 3"
|
||||
},
|
||||
{
|
||||
"id": "mistral-embed",
|
||||
"name": "Mistral Embed",
|
||||
"type": "embedding"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,14 @@
|
||||
export default {
|
||||
"id": "mmf",
|
||||
"alias": "mmf",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.xiaomimimo.com/api/free-ai/openai/chat",
|
||||
"noAuth": true
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "mimo-auto",
|
||||
"name": "MiMo Auto"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,13 @@
|
||||
export default {
|
||||
"id": "modal",
|
||||
"alias": "modal",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.modal.com/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "auto",
|
||||
"name": "Auto (User-hosted)"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
export default {
|
||||
"id": "morph",
|
||||
"alias": "morph",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.morphllm.com/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "morph-v3-large",
|
||||
"name": "Morph V3 Large"
|
||||
},
|
||||
{
|
||||
"id": "morph-v3-fast",
|
||||
"name": "Morph V3 Fast"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,27 @@
|
||||
export default {
|
||||
"id": "nanobanana",
|
||||
"alias": "nanobanana",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.nanobananaapi.ai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "nanobanana-flash",
|
||||
"name": "NanoBanana Flash",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "nanobanana-pro",
|
||||
"name": "NanoBanana Pro",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,18 @@
|
||||
export default {
|
||||
"id": "nebius",
|
||||
"alias": "nebius",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.studio.nebius.ai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "meta-llama/Llama-3.3-70B-Instruct",
|
||||
"name": "Llama 3.3 70B Instruct"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen3-Embedding-8B",
|
||||
"name": "Qwen3 Embedding 8B",
|
||||
"type": "embedding"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
"id": "nlpcloud",
|
||||
"alias": "nlpcloud",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.nlpcloud.io/v1/gpu/chatbot"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "chatdolphin",
|
||||
"name": "ChatDolphin"
|
||||
},
|
||||
{
|
||||
"id": "dolphin",
|
||||
"name": "Dolphin"
|
||||
},
|
||||
{
|
||||
"id": "finetuned-llama-3-70b",
|
||||
"name": "Llama 3 70B (Finetuned)"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
export default {
|
||||
"id": "nous-research",
|
||||
"alias": "nous-research",
|
||||
"transport": {
|
||||
"baseUrl": "https://inference-api.nousresearch.com/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "Hermes-4-405B",
|
||||
"name": "Hermes 4 405B"
|
||||
},
|
||||
{
|
||||
"id": "Hermes-4-70B",
|
||||
"name": "Hermes 4 70B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
"id": "novita",
|
||||
"alias": "novita",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.novita.ai/v3/openai/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "deepseek/deepseek-r1",
|
||||
"name": "DeepSeek R1"
|
||||
},
|
||||
{
|
||||
"id": "deepseek/deepseek-v3",
|
||||
"name": "DeepSeek V3"
|
||||
},
|
||||
{
|
||||
"id": "meta-llama/llama-3.3-70b-instruct",
|
||||
"name": "Llama 3.3 70B"
|
||||
},
|
||||
{
|
||||
"id": "qwen/qwen-2.5-72b-instruct",
|
||||
"name": "Qwen 2.5 72B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
export default {
|
||||
"id": "nscale",
|
||||
"alias": "nscale",
|
||||
"transport": {
|
||||
"baseUrl": "https://inference.api.nscale.com/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "meta-llama/Llama-3.3-70B-Instruct",
|
||||
"name": "Llama 3.3 70B"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen2.5-Coder-32B-Instruct",
|
||||
"name": "Qwen 2.5 Coder 32B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,30 @@
|
||||
export default {
|
||||
"id": "nvidia",
|
||||
"alias": "nvidia",
|
||||
"transport": {
|
||||
"baseUrl": "https://integrate.api.nvidia.com/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "minimaxai/minimax-m2.7",
|
||||
"name": "Minimax M2.7"
|
||||
},
|
||||
{
|
||||
"id": "z-ai/glm4.7",
|
||||
"name": "GLM 4.7"
|
||||
},
|
||||
{
|
||||
"id": "nvidia/nv-embedqa-e5-v5",
|
||||
"name": "NV EmbedQA E5 v5",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "nvidia/parakeet-ctc-1.1b-asr",
|
||||
"name": "Parakeet CTC 1.1B",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
export default {
|
||||
"id": "ollama-local",
|
||||
"alias": "ollama-local",
|
||||
"transport": {
|
||||
"baseUrl": "http://localhost:11434/api/chat",
|
||||
"format": "ollama"
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,34 @@
|
||||
export default {
|
||||
"id": "ollama",
|
||||
"alias": "ollama",
|
||||
"transport": {
|
||||
"baseUrl": "https://ollama.com/api/chat",
|
||||
"format": "ollama"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gpt-oss:120b",
|
||||
"name": "GPT OSS 120B"
|
||||
},
|
||||
{
|
||||
"id": "kimi-k2.5",
|
||||
"name": "Kimi K2.5"
|
||||
},
|
||||
{
|
||||
"id": "glm-5",
|
||||
"name": "GLM 5"
|
||||
},
|
||||
{
|
||||
"id": "minimax-m2.5",
|
||||
"name": "MiniMax M2.5"
|
||||
},
|
||||
{
|
||||
"id": "glm-4.7-flash",
|
||||
"name": "GLM 4.7 Flash"
|
||||
},
|
||||
{
|
||||
"id": "qwen3.5",
|
||||
"name": "Qwen3.5"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,184 @@
|
||||
export default {
|
||||
"id": "openai",
|
||||
"alias": "openai",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.openai.com/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gpt-5.4",
|
||||
"name": "GPT-5.4"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.4-mini",
|
||||
"name": "GPT-5.4 Mini"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.4-nano",
|
||||
"name": "GPT-5.4 Nano"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.2",
|
||||
"name": "GPT-5.2"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.1",
|
||||
"name": "GPT-5.1"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5",
|
||||
"name": "GPT-5"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5-mini",
|
||||
"name": "GPT-5 Mini"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5-nano",
|
||||
"name": "GPT-5 Nano"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o",
|
||||
"name": "GPT-4o"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o-mini",
|
||||
"name": "GPT-4o Mini"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4-turbo",
|
||||
"name": "GPT-4 Turbo"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4.1",
|
||||
"name": "GPT-4.1"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4.1-mini",
|
||||
"name": "GPT-4.1 Mini"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4.1-nano",
|
||||
"name": "GPT-4.1 Nano"
|
||||
},
|
||||
{
|
||||
"id": "o3",
|
||||
"name": "O3"
|
||||
},
|
||||
{
|
||||
"id": "o3-mini",
|
||||
"name": "O3 Mini"
|
||||
},
|
||||
{
|
||||
"id": "o3-pro",
|
||||
"name": "O3 Pro"
|
||||
},
|
||||
{
|
||||
"id": "o4-mini",
|
||||
"name": "O4 Mini"
|
||||
},
|
||||
{
|
||||
"id": "o1",
|
||||
"name": "O1"
|
||||
},
|
||||
{
|
||||
"id": "o1-mini",
|
||||
"name": "O1 Mini"
|
||||
},
|
||||
{
|
||||
"id": "text-embedding-3-large",
|
||||
"name": "Text Embedding 3 Large",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "text-embedding-3-small",
|
||||
"name": "Text Embedding 3 Small",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "text-embedding-ada-002",
|
||||
"name": "Text Embedding Ada 002",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "tts-1",
|
||||
"name": "TTS-1",
|
||||
"type": "tts"
|
||||
},
|
||||
{
|
||||
"id": "tts-1-hd",
|
||||
"name": "TTS-1 HD",
|
||||
"type": "tts"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o-mini-tts",
|
||||
"name": "GPT-4o Mini TTS",
|
||||
"type": "tts"
|
||||
},
|
||||
{
|
||||
"id": "whisper-1",
|
||||
"name": "Whisper 1",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language",
|
||||
"response_format",
|
||||
"temperature",
|
||||
"prompt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o-transcribe",
|
||||
"name": "GPT-4o Transcribe",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language",
|
||||
"response_format",
|
||||
"temperature",
|
||||
"prompt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o-mini-transcribe",
|
||||
"name": "GPT-4o Mini Transcribe",
|
||||
"type": "stt",
|
||||
"params": [
|
||||
"language",
|
||||
"response_format",
|
||||
"temperature",
|
||||
"prompt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "gpt-image-1",
|
||||
"name": "GPT Image 1",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size",
|
||||
"quality",
|
||||
"response_format"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dall-e-3",
|
||||
"name": "DALL-E 3",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size",
|
||||
"quality",
|
||||
"style",
|
||||
"response_format"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dall-e-2",
|
||||
"name": "DALL-E 2",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size",
|
||||
"response_format"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,52 @@
|
||||
export default {
|
||||
"id": "opencode-go",
|
||||
"alias": "opencode-go",
|
||||
"transport": {
|
||||
"baseUrl": "https://opencode.ai/zen/go/v1/chat/completions",
|
||||
"headers": {}
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "kimi-k2.6",
|
||||
"name": "Kimi K2.6"
|
||||
},
|
||||
{
|
||||
"id": "kimi-k2.5",
|
||||
"name": "Kimi K2.5"
|
||||
},
|
||||
{
|
||||
"id": "glm-5.1",
|
||||
"name": "GLM 5.1"
|
||||
},
|
||||
{
|
||||
"id": "glm-5",
|
||||
"name": "GLM 5"
|
||||
},
|
||||
{
|
||||
"id": "qwen3.5-plus",
|
||||
"name": "Qwen 3.5 Plus"
|
||||
},
|
||||
{
|
||||
"id": "qwen3.6-plus",
|
||||
"name": "Qwen 3.6 Plus"
|
||||
},
|
||||
{
|
||||
"id": "mimo-v2-pro",
|
||||
"name": "MiMo V2 Pro"
|
||||
},
|
||||
{
|
||||
"id": "mimo-v2-omni",
|
||||
"name": "MiMo V2 Omni"
|
||||
},
|
||||
{
|
||||
"id": "minimax-m2.7",
|
||||
"name": "MiniMax M2.7",
|
||||
"targetFormat": "claude"
|
||||
},
|
||||
{
|
||||
"id": "minimax-m2.5",
|
||||
"name": "MiniMax M2.5",
|
||||
"targetFormat": "claude"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
export default {
|
||||
"id": "opencode",
|
||||
"alias": "oc",
|
||||
"transport": {
|
||||
"baseUrl": "https://opencode.ai",
|
||||
"headers": {
|
||||
"x-opencode-client": "desktop"
|
||||
},
|
||||
"noAuth": true
|
||||
},
|
||||
"models": []
|
||||
};
|
||||
@@ -0,0 +1,103 @@
|
||||
export default {
|
||||
"id": "openrouter",
|
||||
"alias": "openrouter",
|
||||
"transport": {
|
||||
"baseUrl": "https://openrouter.ai/api/v1/chat/completions",
|
||||
"headers": {
|
||||
"HTTP-Referer": "https://endpoint-proxy.local",
|
||||
"X-Title": "Endpoint Proxy"
|
||||
}
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "openai/text-embedding-3-large",
|
||||
"name": "OpenAI Text Embedding 3 Large",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "openai/text-embedding-3-small",
|
||||
"name": "OpenAI Text Embedding 3 Small",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "openai/text-embedding-ada-002",
|
||||
"name": "OpenAI Text Embedding Ada 002",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "qwen/qwen3-embedding-8b",
|
||||
"name": "Qwen3 Embedding 8B",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "perplexity/pplx-embed-v1-4b",
|
||||
"name": "Perplexity Embed V1 4B",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "perplexity/pplx-embed-v1-0.6b",
|
||||
"name": "Perplexity Embed V1 0.6B",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "nvidia/llama-nemotron-embed-vl-1b-v2:free",
|
||||
"name": "NVIDIA Nemotron Embed VL 1B V2 (Free)",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "openai/gpt-4o-mini-tts",
|
||||
"name": "GPT-4o Mini TTS",
|
||||
"type": "tts"
|
||||
},
|
||||
{
|
||||
"id": "openai/tts-1-hd",
|
||||
"name": "TTS-1 HD",
|
||||
"type": "tts"
|
||||
},
|
||||
{
|
||||
"id": "openai/tts-1",
|
||||
"name": "TTS-1",
|
||||
"type": "tts"
|
||||
},
|
||||
{
|
||||
"id": "openai/dall-e-3",
|
||||
"name": "DALL-E 3 (via OpenRouter)",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size",
|
||||
"quality",
|
||||
"style",
|
||||
"response_format"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "openai/gpt-image-1",
|
||||
"name": "GPT Image 1 (via OpenRouter)",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size",
|
||||
"quality",
|
||||
"response_format"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "google/imagen-3.0-generate-002",
|
||||
"name": "Imagen 3 (via OpenRouter)",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "black-forest-labs/FLUX.1-schnell",
|
||||
"name": "FLUX.1 Schnell (via OpenRouter)",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,39 @@
|
||||
export default {
|
||||
"id": "perplexity-web",
|
||||
"alias": "perplexity-web",
|
||||
"transport": {
|
||||
"baseUrl": "https://www.perplexity.ai/rest/sse/perplexity_ask",
|
||||
"format": "perplexity-web",
|
||||
"authType": "cookie"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "pplx-auto",
|
||||
"name": "Perplexity Auto (Free)"
|
||||
},
|
||||
{
|
||||
"id": "pplx-sonar",
|
||||
"name": "Perplexity Sonar"
|
||||
},
|
||||
{
|
||||
"id": "pplx-gpt",
|
||||
"name": "GPT-5.4 (via Perplexity)"
|
||||
},
|
||||
{
|
||||
"id": "pplx-gemini",
|
||||
"name": "Gemini 3.1 Pro (via Perplexity)"
|
||||
},
|
||||
{
|
||||
"id": "pplx-sonnet",
|
||||
"name": "Claude Sonnet 4.6 (via Perplexity)"
|
||||
},
|
||||
{
|
||||
"id": "pplx-opus",
|
||||
"name": "Claude Opus 4.6 (via Perplexity)"
|
||||
},
|
||||
{
|
||||
"id": "pplx-nemotron",
|
||||
"name": "Nemotron 3 Super (via Perplexity)"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
export default {
|
||||
"id": "perplexity",
|
||||
"alias": "perplexity",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.perplexity.ai/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "sonar-pro",
|
||||
"name": "Sonar Pro"
|
||||
},
|
||||
{
|
||||
"id": "sonar",
|
||||
"name": "Sonar"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
"id": "predibase",
|
||||
"alias": "predibase",
|
||||
"transport": {
|
||||
"baseUrl": "https://serving.app.predibase.com/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "llama-3-2-3b-instruct",
|
||||
"name": "Llama 3.2 3B"
|
||||
},
|
||||
{
|
||||
"id": "llama-3-1-8b-instruct",
|
||||
"name": "Llama 3.1 8B"
|
||||
},
|
||||
{
|
||||
"id": "qwen2-5-7b-instruct",
|
||||
"name": "Qwen 2.5 7B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,13 @@
|
||||
export default {
|
||||
"id": "publicai",
|
||||
"alias": "publicai",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.publicai.co/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "auto",
|
||||
"name": "Auto (Community)"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,29 @@
|
||||
export default {
|
||||
"id": "puter",
|
||||
"alias": "puter",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.puter.com/puterai/openai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gpt-5",
|
||||
"name": "GPT-5"
|
||||
},
|
||||
{
|
||||
"id": "claude-opus-4",
|
||||
"name": "Claude Opus 4"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3-pro-preview",
|
||||
"name": "Gemini 3 Pro"
|
||||
},
|
||||
{
|
||||
"id": "grok-4",
|
||||
"name": "Grok 4"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-chat",
|
||||
"name": "DeepSeek V3"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,60 @@
|
||||
export default {
|
||||
"id": "qoder",
|
||||
"alias": "qd",
|
||||
"transport": {
|
||||
"baseUrl": "https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",
|
||||
"headers": {},
|
||||
"timeoutMs": 120000,
|
||||
"stallTimeoutMs": 120000
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "auto",
|
||||
"name": "Qoder Auto"
|
||||
},
|
||||
{
|
||||
"id": "ultimate",
|
||||
"name": "Qoder Ultimate"
|
||||
},
|
||||
{
|
||||
"id": "performance",
|
||||
"name": "Qoder Performance"
|
||||
},
|
||||
{
|
||||
"id": "efficient",
|
||||
"name": "Qoder Efficient"
|
||||
},
|
||||
{
|
||||
"id": "lite",
|
||||
"name": "Qoder Lite"
|
||||
},
|
||||
{
|
||||
"id": "qmodel",
|
||||
"name": "Qwen 3.6 Plus (Qoder)"
|
||||
},
|
||||
{
|
||||
"id": "qmodel_latest",
|
||||
"name": "Qoder Qwen 3.7 Max"
|
||||
},
|
||||
{
|
||||
"id": "dmodel",
|
||||
"name": "DeepSeek V4 Pro (Qoder)"
|
||||
},
|
||||
{
|
||||
"id": "dfmodel",
|
||||
"name": "DeepSeek V4 Flash (Qoder)"
|
||||
},
|
||||
{
|
||||
"id": "gm51model",
|
||||
"name": "GLM 5.1 (Qoder)"
|
||||
},
|
||||
{
|
||||
"id": "kmodel",
|
||||
"name": "Kimi K2.6 (Qoder)"
|
||||
},
|
||||
{
|
||||
"id": "mmodel",
|
||||
"name": "MiniMax M2.7 (Qoder)"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,28 @@
|
||||
export default {
|
||||
"id": "qwen",
|
||||
"alias": "qw",
|
||||
"transport": {
|
||||
"baseUrl": "https://portal.qwen.ai/v1/chat/completions",
|
||||
"clientId": "f0304373b74a44d2b584a3fb70ca9e56",
|
||||
"tokenUrl": "https://chat.qwen.ai/api/v1/oauth2/token",
|
||||
"authUrl": "https://chat.qwen.ai/api/v1/oauth2/device/code"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "qwen3-coder-plus",
|
||||
"name": "Qwen3 Coder Plus"
|
||||
},
|
||||
{
|
||||
"id": "qwen3-coder-flash",
|
||||
"name": "Qwen3 Coder Flash"
|
||||
},
|
||||
{
|
||||
"id": "vision-model",
|
||||
"name": "Qwen3 Vision Model"
|
||||
},
|
||||
{
|
||||
"id": "coder-model",
|
||||
"name": "Qwen3.6 Coder Model"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,27 @@
|
||||
export default {
|
||||
"id": "recraft",
|
||||
"alias": "recraft",
|
||||
"transport": null,
|
||||
"models": [
|
||||
{
|
||||
"id": "recraftv3",
|
||||
"name": "Recraft V3",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size",
|
||||
"style"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "recraftv2",
|
||||
"name": "Recraft V2",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size",
|
||||
"style"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
export default {
|
||||
"id": "reka",
|
||||
"alias": "reka",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.reka.ai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "reka-flash-3",
|
||||
"name": "Reka Flash 3"
|
||||
},
|
||||
{
|
||||
"id": "reka-edge-2603",
|
||||
"name": "Reka Edge 2603"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"id": "runwayml",
|
||||
"alias": "runwayml",
|
||||
"transport": null,
|
||||
"models": [
|
||||
{
|
||||
"id": "gen4_image",
|
||||
"name": "Gen-4 Image",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "gen4_image_turbo",
|
||||
"name": "Gen-4 Image Turbo",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "gen4_turbo",
|
||||
"name": "Gen-4 Turbo",
|
||||
"type": "video",
|
||||
"params": []
|
||||
},
|
||||
{
|
||||
"id": "gen3a_turbo",
|
||||
"name": "Gen-3 Alpha Turbo",
|
||||
"type": "video",
|
||||
"params": []
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
"id": "sambanova",
|
||||
"alias": "sambanova",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.sambanova.ai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "Meta-Llama-3.1-405B-Instruct",
|
||||
"name": "Llama 3.1 405B"
|
||||
},
|
||||
{
|
||||
"id": "Meta-Llama-3.1-70B-Instruct",
|
||||
"name": "Llama 3.1 70B"
|
||||
},
|
||||
{
|
||||
"id": "Meta-Llama-3.1-8B-Instruct",
|
||||
"name": "Llama 3.1 8B"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
"id": "scaleway",
|
||||
"alias": "scaleway",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.scaleway.ai/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "qwen3-235b-a22b-instruct-2507",
|
||||
"name": "Qwen3 235B"
|
||||
},
|
||||
{
|
||||
"id": "llama-3.3-70b-instruct",
|
||||
"name": "Llama 3.3 70B"
|
||||
},
|
||||
{
|
||||
"id": "mistral-small-3.1-24b-instruct-2503",
|
||||
"name": "Mistral Small 3.1"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
"id": "sdwebui",
|
||||
"alias": "sdwebui",
|
||||
"transport": null,
|
||||
"models": [
|
||||
{
|
||||
"id": "stable-diffusion-v1-5",
|
||||
"name": "Stable Diffusion v1.5",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "sdxl-base-1.0",
|
||||
"name": "SDXL Base 1.0",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"n",
|
||||
"size"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,73 @@
|
||||
export default {
|
||||
"id": "siliconflow",
|
||||
"alias": "siliconflow",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.siliconflow.com/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-V4-Pro",
|
||||
"name": "DeepSeek V4 Pro"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-V4-Flash",
|
||||
"name": "DeepSeek V4 Flash"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-V3.2",
|
||||
"name": "DeepSeek V3.2"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-V3.2-Exp",
|
||||
"name": "DeepSeek V3.2 Exp"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-V3.1",
|
||||
"name": "DeepSeek V3.1"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-V3.1-Terminus",
|
||||
"name": "DeepSeek V3.1 Terminus"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-R1",
|
||||
"name": "DeepSeek R1"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen3.5-397B-A17B",
|
||||
"name": "Qwen 3.5 397B A17B"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen3.5-122B-A10B",
|
||||
"name": "Qwen 3.5 122B A10B"
|
||||
},
|
||||
{
|
||||
"id": "zai-org/GLM-5.1",
|
||||
"name": "GLM 5.1"
|
||||
},
|
||||
{
|
||||
"id": "zai-org/GLM-5",
|
||||
"name": "GLM 5"
|
||||
},
|
||||
{
|
||||
"id": "moonshotai/Kimi-K2.6",
|
||||
"name": "Kimi K2.6"
|
||||
},
|
||||
{
|
||||
"id": "moonshotai/Kimi-K2.5",
|
||||
"name": "Kimi K2.5"
|
||||
},
|
||||
{
|
||||
"id": "openai/gpt-oss-120b",
|
||||
"name": "GPT OSS 120B"
|
||||
},
|
||||
{
|
||||
"id": "MiniMaxAI/MiniMax-M2.5",
|
||||
"name": "MiniMax M2.5"
|
||||
},
|
||||
{
|
||||
"id": "inclusionAI/Ling-flash-2.0",
|
||||
"name": "Ling Flash 2.0"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,48 @@
|
||||
export default {
|
||||
"id": "stability-ai",
|
||||
"alias": "stability-ai",
|
||||
"transport": null,
|
||||
"models": [
|
||||
{
|
||||
"id": "stable-image-ultra",
|
||||
"name": "Stable Image Ultra",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "stable-image-core",
|
||||
"name": "Stable Image Core",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size",
|
||||
"style"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "sd3.5-large",
|
||||
"name": "Stable Diffusion 3.5 Large",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "sd3.5-large-turbo",
|
||||
"name": "Stable Diffusion 3.5 Large Turbo",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "sd3.5-medium",
|
||||
"name": "Stable Diffusion 3.5 Medium",
|
||||
"type": "image",
|
||||
"params": [
|
||||
"size"
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"id": "together",
|
||||
"alias": "together",
|
||||
"transport": {
|
||||
"baseUrl": "https://api.together.xyz/v1/chat/completions"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "meta-llama/Llama-3.3-70B-Instruct-Turbo",
|
||||
"name": "Llama 3.3 70B Turbo"
|
||||
},
|
||||
{
|
||||
"id": "deepseek-ai/DeepSeek-R1",
|
||||
"name": "DeepSeek R1"
|
||||
},
|
||||
{
|
||||
"id": "Qwen/Qwen3-235B-A22B",
|
||||
"name": "Qwen3 235B"
|
||||
},
|
||||
{
|
||||
"id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
|
||||
"name": "Llama 4 Maverick"
|
||||
},
|
||||
{
|
||||
"id": "BAAI/bge-large-en-v1.5",
|
||||
"name": "BGE Large EN v1.5",
|
||||
"type": "embedding"
|
||||
},
|
||||
{
|
||||
"id": "togethercomputer/m2-bert-80M-8k-retrieval",
|
||||
"name": "M2 BERT 80M 8K",
|
||||
"type": "embedding"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,18 @@
|
||||
export default {
|
||||
"id": "uncloseai",
|
||||
"alias": "uncloseai",
|
||||
"transport": {
|
||||
"baseUrl": "https://hermes.ai.unturf.com/v1/chat/completions",
|
||||
"noAuth": true
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "auto",
|
||||
"name": "Auto (Free)"
|
||||
},
|
||||
{
|
||||
"id": "gpt-4o-mini",
|
||||
"name": "GPT-4o Mini"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,10 @@
|
||||
export default {
|
||||
"id": "vercel-ai-gateway",
|
||||
"alias": "vercel-ai-gateway",
|
||||
"transport": {
|
||||
"baseUrl": "https://ai-gateway.vercel.sh/v1/chat/completions",
|
||||
"retry": {
|
||||
"429": 2
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
"id": "vertex-partner",
|
||||
"alias": "vertex-partner",
|
||||
"transport": {
|
||||
"baseUrl": "https://aiplatform.googleapis.com"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "deepseek-ai/deepseek-v3.2-maas",
|
||||
"name": "DeepSeek V3.2 (Vertex)"
|
||||
},
|
||||
{
|
||||
"id": "qwen/qwen3-next-80b-a3b-thinking-maas",
|
||||
"name": "Qwen3 Next 80B Thinking (Vertex)"
|
||||
},
|
||||
{
|
||||
"id": "qwen/qwen3-next-80b-a3b-instruct-maas",
|
||||
"name": "Qwen3 Next 80B Instruct (Vertex)"
|
||||
},
|
||||
{
|
||||
"id": "zai-org/glm-5-maas",
|
||||
"name": "GLM-5 (Vertex)"
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
export default {
|
||||
"id": "vertex",
|
||||
"alias": "vertex",
|
||||
"transport": {
|
||||
"baseUrl": "https://aiplatform.googleapis.com",
|
||||
"format": "vertex"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "gemini-3.1-pro-preview",
|
||||
"name": "Gemini 3.1 Pro Preview"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3.1-flash-lite-preview",
|
||||
"name": "Gemini 3.1 Flash Lite Preview"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3-flash-preview",
|
||||
"name": "Gemini 3 Flash Preview"
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.5-flash",
|
||||
"name": "Gemini 2.5 Flash"
|
||||
}
|
||||
]
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user