diff --git a/docs/reference/PROVIDER_REFERENCE.md b/docs/reference/PROVIDER_REFERENCE.md index baff60edfa..1d26623b94 100644 --- a/docs/reference/PROVIDER_REFERENCE.md +++ b/docs/reference/PROVIDER_REFERENCE.md @@ -10,7 +10,7 @@ lastUpdated: 2026-07-23 > Regenerate with: `npm run gen:provider-reference` > **Last generated:** 2026-07-23 -Total providers: **288**. See category breakdown below. +Total providers: **290**. See category breakdown below. ## Categories @@ -98,7 +98,7 @@ Use the dashboard at `/dashboard/providers` to enable, configure, and test each | `zai-web` | `zw` | Z.ai Web (Free) | Web cookie | [link](https://chat.z.ai) | Paste the full Cookie header from chat.z.ai (must include the token= cookie) | — | | `zenmux-free` | `zmf` | ZenMux Free (Web) | Web cookie | [link](https://zenmux.ai) | Login at zenmux.ai, then export all cookies using EditThisCookie or Cookie-Editor and paste the full Cookie header string here. Refresh every ~30 days. | — | -## API Key Providers (paid / paid-with-free-credits) (193) +## API Key Providers (paid / paid-with-free-credits) (195) | ID | Alias | Name | Tags | Website | Notes | |----|-------|------|------|---------|-------| @@ -188,6 +188,7 @@ Use the dashboard at `/dashboard/providers` to enable, configure, and test each | `hyperbolic` | `hyp` | Hyperbolic | API key | [link](https://hyperbolic.xyz) | $1-5 trial credits on signup for serverless inference | | `ideogram` | `ideo` | Ideogram | API key | [link](https://ideogram.ai) | Get API key at ideogram.ai/docs/api | | `iflytek` | `iflytek` | iFlytek Spark | API key | [link](https://xinghuo.xfyun.cn) | Get API key at console.xfyun.cn | +| `inception` | `inception` | Inception | API key | [link](https://docs.inceptionlabs.ai) | 10M free tokens on signup, no credit card required. | | `inference-net` | `inet` | Inference.net | API key | [link](https://inference.net) | $25 free credits on signup plus research grants available | | `internlm` | `internlm` | InternLM (Intern-S1) | API key | [link](https://internlm.intern-ai.org.cn/) | Free monthly quota ~1M input / 3M output tokens (~10 RPM) | | `jina-ai` | `jina` | Jina AI | API key, embed/rerank | [link](https://jina.ai) | Bearer API key for the Jina AI rerank API. | @@ -275,6 +276,7 @@ Use the dashboard at `/dashboard/providers` to enable, configure, and test each | `together` | `together` | Together AI | API key, video | [link](https://www.together.ai) | — | | `tokenrouter` | `trk` | TokenRouter | API key | [link](https://tokenrouter.com) | Use your TokenRouter API key in Authorization: Bearer . Fully OpenAI-compatible. API base URL: https://api.tokenrouter.com/v1. | | `topaz` | `topaz` | Topaz | API key, image | [link](https://topazlabs.com) | — | +| `typhoon` | `typhoon` | Typhoon | API key | [link](https://docs.opentyphoon.ai) | Free API key with a 5 req/s and 200 req/m rate limit. | | `udio` | `udio` | Udio | API key | [link](https://udio.com) | Paste session cookie from udio.com (Supabase auth) | | `uncloseai` | `unc` | UncloseAI | API key | [link](https://uncloseai.com) | No auth required. API accepts any non-empty string as key for identification. | | `upstage` | `upstage` | Upstage | API key | [link](https://www.upstage.ai) | — | diff --git a/open-sse/config/providers/index.ts b/open-sse/config/providers/index.ts index 1cb9c2a8ea..fb2e47545d 100644 --- a/open-sse/config/providers/index.ts +++ b/open-sse/config/providers/index.ts @@ -172,6 +172,8 @@ import { chenzkProvider } from "./registry/chenzk/index.ts"; import { factoryProvider } from "./registry/factory/index.ts"; import { databricksProvider } from "./registry/databricks/index.ts"; import { rekaProvider } from "./registry/reka/index.ts"; +import { typhoonProvider } from "./registry/typhoon/index.ts"; +import { inceptionProvider } from "./registry/inception/index.ts"; import { sarvamProvider } from "./registry/sarvam/index.ts"; import { writerProvider } from "./registry/writer/index.ts"; import { plamoProvider } from "./registry/plamo/index.ts"; @@ -389,6 +391,8 @@ export const REGISTRY: Record = { factory: factoryProvider, databricks: databricksProvider, reka: rekaProvider, + typhoon: typhoonProvider, + inception: inceptionProvider, sarvam: sarvamProvider, writer: writerProvider, plamo: plamoProvider, diff --git a/open-sse/config/providers/registry/inception/index.ts b/open-sse/config/providers/registry/inception/index.ts new file mode 100644 index 0000000000..9dbdf0e4de --- /dev/null +++ b/open-sse/config/providers/registry/inception/index.ts @@ -0,0 +1,19 @@ +import type { RegistryEntry } from "../../shared.ts"; + +export const inceptionProvider: RegistryEntry = { + id: "inception", + alias: "inception", + format: "openai", + executor: "default", + baseUrl: "https://api.inceptionlabs.ai/v1/chat/completions", + authType: "apikey", + authHeader: "bearer", + models: [ + { + id: "mercury-2", + name: "Mercury 2", + contextLength: 128000, + maxOutputTokens: 50000, + }, + ], +}; diff --git a/open-sse/config/providers/registry/typhoon/index.ts b/open-sse/config/providers/registry/typhoon/index.ts new file mode 100644 index 0000000000..83aa76d6f4 --- /dev/null +++ b/open-sse/config/providers/registry/typhoon/index.ts @@ -0,0 +1,18 @@ +import type { RegistryEntry } from "../../shared.ts"; + +export const typhoonProvider: RegistryEntry = { + id: "typhoon", + alias: "typhoon", + format: "openai", + executor: "default", + baseUrl: "https://api.opentyphoon.ai/v1/chat/completions", + authType: "apikey", + authHeader: "bearer", + models: [ + { + id: "typhoon-v2.5-30b-a3b-instruct", + name: "Typhoon v2.5 30B A3B Instruct", + contextLength: 131072, + }, + ], +}; diff --git a/src/app/api/providers/[id]/models/discovery/providerSets.ts b/src/app/api/providers/[id]/models/discovery/providerSets.ts index 0ede50b0db..498c50dca2 100644 --- a/src/app/api/providers/[id]/models/discovery/providerSets.ts +++ b/src/app/api/providers/[id]/models/discovery/providerSets.ts @@ -70,6 +70,11 @@ export const NAMED_OPENAI_STYLE_PROVIDERS = new Set([ // discovered live from https://api.openvecta.com/v1/models; the registry seed // (registry/openvecta) covers the most-used LLMs as the offline fallback. "openvecta", + // Typhoon (SCB 10X, Thailand) and Inception Labs (Mercury diffusion models) are + // OpenAI-compatible providers whose /v1/models endpoint exists and is used for + // catalog discovery/key validation (verified 2026-07-22). + "typhoon", + "inception", // Sarvam AI (India), Writer Palmyra, and PLaMo (Preferred Networks, Japan) are // OpenAI-compatible providers whose /v1/models endpoint exists and is used for // catalog discovery/key validation (verified 2026-07-22). diff --git a/src/i18n/messages/en.json b/src/i18n/messages/en.json index 3303fa01b8..392616d9f4 100644 --- a/src/i18n/messages/en.json +++ b/src/i18n/messages/en.json @@ -5789,6 +5789,7 @@ "watsonx": "The watsonx model gateway exposes OpenAI-compatible /chat/completions and /models under /ml/gateway/v1.", "ideogram": "Get API key at ideogram.ai/docs/api", "iflytek": "Get API key at console.xfyun.cn", + "inception": "Inception Labs is OpenAI-compatible at https://api.inceptionlabs.ai/v1. mercury-2 is the first diffusion LLM (dLLM) in the catalog — 5-10x faster generation than comparable autoregressive models, with tool calling, json_mode, and structured outputs.", "inference-net": "$25 free credits on signup plus research grants available", "internlm": "Free monthly quota ~1M input / 3M output tokens (~10 RPM)", "jina-ai": "Bearer API key for the Jina AI rerank API.", @@ -5866,6 +5867,7 @@ "together": "Connect Together AI with an API key.", "tokenrouter": "TokenRouter exposes an OpenAI-compatible chat completions endpoint at https://api.tokenrouter.com/v1/chat/completions, plus a working /v1/models catalog. OmniRoute uses the OpenAI protocol.", "topaz": "Connect Topaz with an API key.", + "typhoon": "Typhoon is OpenAI-compatible on /v1. Built by SCB 10X (Thailand); typhoon-v2.5-30b-a3b-instruct is a thai-first, multilingual model.", "udio": "Paste session cookie from udio.com (Supabase auth)", "uncloseai": "No auth required. API accepts any non-empty string as key for identification.", "upstage": "Connect Upstage with an API key.", diff --git a/src/i18n/messages/pt-BR.json b/src/i18n/messages/pt-BR.json index 572e317dc2..b9ca377e89 100644 --- a/src/i18n/messages/pt-BR.json +++ b/src/i18n/messages/pt-BR.json @@ -5788,6 +5788,7 @@ "watsonx": "O gateway de modelos do watsonx expõe /chat/completions e /models compatíveis com OpenAI sob /ml/gateway/v1.", "ideogram": "Obtenha a chave de API em ideogram.ai/docs/api", "iflytek": "Obtenha a chave de API em console.xfyun.cn", + "inception": "A Inception Labs é compatível com OpenAI em https://api.inceptionlabs.ai/v1. O mercury-2 é o primeiro LLM de difusão (dLLM) do catálogo — geração 5-10x mais rápida que modelos autoregressivos comparáveis, com chamadas de ferramentas, json_mode e saídas estruturadas.", "inference-net": "$25 em créditos grátis no cadastro, além de bolsas de pesquisa disponíveis", "internlm": "Cota mensal gratuita de ~1M tokens de entrada / 3M de saída (~10 RPM)", "jina-ai": "Chave de API Bearer para a API de rerank da Jina AI.", @@ -5865,6 +5866,7 @@ "together": "Conecte o Together AI com uma chave de API.", "tokenrouter": "O TokenRouter expõe um endpoint de chat completions compatível com OpenAI em https://api.tokenrouter.com/v1/chat/completions, além de um catálogo /v1/models funcional. O OmniRoute usa o protocolo OpenAI.", "topaz": "Conecte o Topaz com uma chave de API.", + "typhoon": "O Typhoon é compatível com OpenAI em /v1. Desenvolvido pela SCB 10X (Tailândia); o typhoon-v2.5-30b-a3b-instruct é um modelo multilíngue com foco no idioma tailandês.", "udio": "Cole o cookie de sessão do udio.com (autenticação Supabase)", "uncloseai": "Nenhuma autenticação necessária. A API aceita qualquer string não vazia como chave para identificação.", "upstage": "Conecte o Upstage com uma chave de API.", diff --git a/src/i18n/messages/vi.json b/src/i18n/messages/vi.json index fa77de2535..6cd5ba422a 100644 --- a/src/i18n/messages/vi.json +++ b/src/i18n/messages/vi.json @@ -5788,6 +5788,7 @@ "watsonx": "Cổng mô hình watsonx cung cấp /chat/completions và /models tương thích OpenAI trong /ml/gateway/v1.", "ideogram": "Lấy khóa API tại ideogram.ai/docs/api", "iflytek": "Lấy khóa API tại console.xfyun.cn", + "inception": "Inception Labs tương thích OpenAI tại https://api.inceptionlabs.ai/v1. mercury-2 là LLM khuếch tán (dLLM) đầu tiên trong danh mục — tạo sinh nhanh hơn 5-10 lần so với các mô hình tự hồi quy tương đương, hỗ trợ gọi công cụ, json_mode và đầu ra có cấu trúc.", "inference-net": "25 USD tín dụng miễn phí khi đăng ký và có các khoản tài trợ nghiên cứu", "internlm": "Hạn mức miễn phí hàng tháng ~1M token đầu vào / 3M token đầu ra (~10 RPM)", "jina-ai": "Khóa API Bearer cho API xếp hạng lại của Jina AI.", @@ -5865,6 +5866,7 @@ "together": "Kết nối Together AI bằng khóa API.", "tokenrouter": "TokenRouter cung cấp endpoint chat completions tương thích OpenAI tại https://api.tokenrouter.com/v1/chat/completions cùng danh mục /v1/models hoạt động. OmniRoute dùng giao thức OpenAI.", "topaz": "Kết nối Topaz bằng khóa API.", + "typhoon": "Typhoon tương thích OpenAI trên /v1. Được SCB 10X (Thái Lan) phát triển; typhoon-v2.5-30b-a3b-instruct là mô hình đa ngôn ngữ ưu tiên tiếng Thái.", "udio": "Dán cookie phiên từ udio.com (xác thực Supabase)", "uncloseai": "Không yêu cầu xác thực. API chấp nhận mọi chuỗi không rỗng làm khóa để nhận dạng.", "upstage": "Kết nối Upstage bằng khóa API.", diff --git a/src/shared/constants/providers/apikey/frontier-labs.ts b/src/shared/constants/providers/apikey/frontier-labs.ts index 827666008a..4223894f95 100644 --- a/src/shared/constants/providers/apikey/frontier-labs.ts +++ b/src/shared/constants/providers/apikey/frontier-labs.ts @@ -250,6 +250,19 @@ export const APIKEY_PROVIDERS_FRONTIER = { passthroughModels: true, authHint: "Get API key at liquid.ai", }, + inception: { + id: "inception", + alias: "inception", + name: "Inception", + icon: "auto_awesome", + color: "#F97316", + textIcon: "IN", + website: "https://docs.inceptionlabs.ai", + apiHint: + "Inception Labs is OpenAI-compatible at https://api.inceptionlabs.ai/v1. mercury-2 is the first diffusion LLM (dLLM) in the catalog — 5-10x faster generation than comparable autoregressive models, with tool calling, json_mode, and structured outputs.", + hasFree: true, + freeNote: "10M free tokens on signup, no credit card required.", + }, writer: { id: "writer", alias: "writer", diff --git a/src/shared/constants/providers/apikey/regional.ts b/src/shared/constants/providers/apikey/regional.ts index d236ac4893..8ceb096809 100644 --- a/src/shared/constants/providers/apikey/regional.ts +++ b/src/shared/constants/providers/apikey/regional.ts @@ -478,4 +478,17 @@ export const APIKEY_PROVIDERS_REGIONAL = { "PLaMo is OpenAI-compatible at https://api.platform.preferredai.jp/v1. Built by Preferred Networks and optimized for Japanese. Docs are primarily in Japanese.", hasFree: false, }, + typhoon: { + id: "typhoon", + alias: "typhoon", + name: "Typhoon", + icon: "public", + color: "#7C3AED", + textIcon: "TY", + website: "https://docs.opentyphoon.ai", + apiHint: + "Typhoon is OpenAI-compatible on /v1. Built by SCB 10X (Thailand); typhoon-v2.5-30b-a3b-instruct is a thai-first, multilingual model.", + hasFree: true, + freeNote: "Free API key with a 5 req/s and 200 req/m rate limit.", + }, }; diff --git a/tests/snapshots/provider/translate-path.json b/tests/snapshots/provider/translate-path.json index 001ff8f80b..a15831bafe 100644 --- a/tests/snapshots/provider/translate-path.json +++ b/tests/snapshots/provider/translate-path.json @@ -2647,6 +2647,29 @@ "stream": "https://spark-api-open.xf-yun.com/v1/chat/completions" } }, + "inception": { + "format": "openai", + "headers": { + "apiKey": { + "Accept": "text/event-stream", + "Authorization": "Bearer ", + "Content-Type": "application/json" + }, + "nonStream": { + "Authorization": "Bearer ", + "Content-Type": "application/json" + }, + "oauth": { + "Accept": "text/event-stream", + "Authorization": "Bearer ", + "Content-Type": "application/json" + } + }, + "url": { + "nonStream": "https://api.inceptionlabs.ai/v1/chat/completions", + "stream": "https://api.inceptionlabs.ai/v1/chat/completions" + } + }, "inference-net": { "format": "openai", "headers": { @@ -4740,6 +4763,29 @@ "stream": "https://core-normal.trae.ai/api/remote/v1" } }, + "typhoon": { + "format": "openai", + "headers": { + "apiKey": { + "Accept": "text/event-stream", + "Authorization": "Bearer ", + "Content-Type": "application/json" + }, + "nonStream": { + "Authorization": "Bearer ", + "Content-Type": "application/json" + }, + "oauth": { + "Accept": "text/event-stream", + "Authorization": "Bearer ", + "Content-Type": "application/json" + } + }, + "url": { + "nonStream": "https://api.opentyphoon.ai/v1/chat/completions", + "stream": "https://api.opentyphoon.ai/v1/chat/completions" + } + }, "udio": { "format": "openai", "headers": { diff --git a/tests/unit/chat-openai-compat-providers.test.ts b/tests/unit/chat-openai-compat-providers.test.ts index 4d111302a0..327ea4dffc 100644 --- a/tests/unit/chat-openai-compat-providers.test.ts +++ b/tests/unit/chat-openai-compat-providers.test.ts @@ -42,6 +42,8 @@ const CHAT_OPENAI_COMPAT_PROVIDER_IDS = [ "reka", "byteplus", "orcarouter", + "typhoon", + "inception", "sarvam", "writer", "plamo",