diff --git a/open-sse/config/providerRegistry.ts b/open-sse/config/providerRegistry.ts index cd0f2b7959..531c111c4b 100644 --- a/open-sse/config/providerRegistry.ts +++ b/open-sse/config/providerRegistry.ts @@ -919,6 +919,26 @@ export const REGISTRY: Record = { ], }, + synthetic: { + id: "synthetic", + alias: "synthetic", + format: "openai", + executor: "default", + baseUrl: "https://api.synthetic.new/openai/v1/chat/completions", + modelsUrl: "https://api.synthetic.new/openai/v1/models", + authType: "apikey", + authHeader: "bearer", + models: [ + { id: "hf:nvidia/Kimi-K2.5-NVFP4", name: "Kimi K2.5 (NVFP4)" }, + { id: "hf:MiniMaxAI/MiniMax-M2.5", name: "MiniMax M2.5" }, + { id: "hf:zai-org/GLM-4.7-Flash", name: "GLM 4.7 Flash" }, + { id: "hf:zai-org/GLM-4.7", name: "GLM 4.7" }, + { id: "hf:moonshotai/Kimi-K2.5", name: "Kimi K2.5" }, + { id: "hf:deepseek-ai/DeepSeek-V3.2", name: "DeepSeek V3.2" }, + ], + passthroughModels: true, + }, + vertex: { id: "vertex", alias: "vertex", diff --git a/src/app/api/providers/[id]/models/route.ts b/src/app/api/providers/[id]/models/route.ts index 64b35b1288..216bafd0bc 100644 --- a/src/app/api/providers/[id]/models/route.ts +++ b/src/app/api/providers/[id]/models/route.ts @@ -255,6 +255,14 @@ const PROVIDER_MODELS_CONFIG: Record = { authPrefix: "Bearer ", parseResponse: (data) => data.models || data.data || [], }, + synthetic: { + url: "https://api.synthetic.new/openai/v1/models", + method: "GET", + headers: { "Content-Type": "application/json" }, + authHeader: "Authorization", + authPrefix: "Bearer ", + parseResponse: (data) => data.data || data.models || [], + }, }; /** diff --git a/src/shared/constants/providers.ts b/src/shared/constants/providers.ts index dd6ca4dcb8..53871bc490 100644 --- a/src/shared/constants/providers.ts +++ b/src/shared/constants/providers.ts @@ -360,6 +360,16 @@ export const APIKEY_PROVIDERS = { hasFree: true, freeNote: "Free Inference API for thousands of models (Whisper, VITS, SDXL…)", }, + synthetic: { + id: "synthetic", + alias: "synthetic", + name: "Synthetic", + icon: "verified_user", + color: "#6366F1", + textIcon: "SY", + website: "https://synthetic.new", + passthroughModels: true, + }, vertex: { id: "vertex", alias: "vertex",