feat(providers): add Typhoon (Thailand) and Inception Mercury diffusion LLM (#8170)

* feat(providers): add Typhoon and Inception Mercury API-key providers

Two OpenAI-compatible API-key providers, each verified against a live
endpoint smoke test with a negative control before registration: an
unknown route answers 404 while /v1/chat/completions answers 401, which
rules out gateways that reply identically to every path.

- typhoon (SCB 10X, Thailand): first Thai-first provider in the catalog.
  /v1/models answers 200 unauthenticated and serves exactly one chat
  model, typhoon-v2.5-30b-a3b-instruct (128K ctx). The docs also list
  typhoon-v2.1-12b-instruct, but the live endpoint no longer serves it,
  so it is deliberately not registered. The typhoon-ocr* and typhoon-asr*
  entries are OCR and speech models, not chat, and are omitted.
- inception (Inception Labs): first diffusion LLM (dLLM) in the catalog.
  mercury-2 has a 128K context, 50K max output, and supports tools,
  json_mode and structured outputs. The mercury-coder models advertised
  on the vendor blog are no longer served by the live endpoint and are
  therefore not registered.

Both expose a working /v1/models catalog, so they are added to
NAMED_OPENAI_STYLE_PROVIDERS for discovery and key validation.

Free-tier metadata is claimed only where it is documented and durable:
Typhoon issues a free API key rate-limited to 5 req/s and 200 req/m, and
Inception grants 10M tokens on signup with no card, so both are
registered with hasFree: true.

Provider count moves from 280 to 282; README/AGENTS/CLAUDE counters were
stale at 278 and are resynced against docs/reference/PROVIDER_REFERENCE.md.

* fix(8170): union frontier-labs Inception+Writer, regen ref+golden

* fix(8170): close inception object + regen ref/golden

---------

Co-authored-by: Álvaro Ángel Molina <alvaretto@users.noreply.github.com>
Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
This commit is contained in:
Álvaro Ángel Molina
2026-07-23 06:18:16 -05:00
committed by GitHub
parent 7ca821aeee
commit 81ade9e122
12 changed files with 130 additions and 2 deletions

View File

@@ -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=<JWT> 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 <key>. 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) | — |

View File

@@ -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<string, RegistryEntry> = {
factory: factoryProvider,
databricks: databricksProvider,
reka: rekaProvider,
typhoon: typhoonProvider,
inception: inceptionProvider,
sarvam: sarvamProvider,
writer: writerProvider,
plamo: plamoProvider,

View File

@@ -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,
},
],
};

View File

@@ -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,
},
],
};

View File

@@ -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).

View File

@@ -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.",

View File

@@ -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.",

View File

@@ -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.",

View File

@@ -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",

View File

@@ -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.",
},
};

View File

@@ -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 <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"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 <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"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": {

View File

@@ -42,6 +42,8 @@ const CHAT_OPENAI_COMPAT_PROVIDER_IDS = [
"reka",
"byteplus",
"orcarouter",
"typhoon",
"inception",
"sarvam",
"writer",
"plamo",