An OpenAI- and Anthropic-compatible API in front of a curated set of frontier models. Point Claude Code, OpenCode, or any SDK at it — no signup, no key.
Available models
Click an ID to copy. Recommended defaults are f/fugu, f/gpt-4o, and m/deepseek-v4-pro.
loading live catalog…
Connect your tools
Claude Code speaks the Anthropic API. Point it at this gateway with two environment variables, then pick any model above.
// ~/.claude/settings.json — point Claude Code at taiwanAI { "env": { "ANTHROPIC_API_KEY": "rich", "ANTHROPIC_BASE_URL": "https://taiwanAI-production.up.railway.app", "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1", "ENABLE_TOOL_SEARCH": "true", "ANTHROPIC_MODEL": "h/sakana-fugu-ultra", "ANTHROPIC_DEFAULT_OPUS_MODEL": "h/sakana-fugu-ultra", "ANTHROPIC_DEFAULT_SONNET_MODEL": "u/claude-sonnet-5", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "h/sakana-namazu", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" } }
rich. This gateway doesn't
authenticate requests — the value isn't checked — but the tooling requires the variable
to be set, so use rich.Add taiwanAI as a provider in opencode.json.
It uses the OpenAI-compatible endpoint at .
// opencode.jsonc — add under "provider" "taiwanAI": { "npm": "@ai-sdk/openai-compatible", "name": "taiwanAI", "options": { "apiKey": "rich", "baseURL": "https://taiwanAI-production.up.railway.app/v1" }, "models": { // Sakana (fugu-ultra, fugu, namazu) "h/sakana-fugu-ultra": { "name": "Sakana Fugu Ultra" }, "h/sakana-fugu": { "name": "Sakana Fugu" }, "h/sakana-namazu": { "name": "Sakana Namazu" }, // Anthropic (use.ai) "u/claude-sonnet-5": { "name": "Claude Sonnet 5" }, "u/claude-3-7-sonnet-v2": { "name": "Claude 3.7 Sonnet v2" }, "u/claude-haiku-4-0": { "name": "Claude Haiku 4.0" }, // OpenAI (use.ai) "u/gpt-5-5": { "name": "GPT-5.5" }, "u/gpt-5-4": { "name": "GPT-5.4" }, "u/gpt-4o": { "name": "GPT-4o" }, // Google (use.ai) "u/gemini-3-1-pro": { "name": "Gemini 3.1 Pro" }, // DeepSeek (use.ai) "u/deepseek-v4-pro": { "name": "DeepSeek v4 Pro" }, "u/deepseek-v4-flash": { "name": "DeepSeek v4 Flash" }, // Cloudflare Workers AI "c/glm-5.2": { "name": "GLM 5.2" }, "c/glm-4.7-flash": { "name": "GLM 4.7 Flash" }, "c/kimi-k2.7-code": { "name": "Kimi K2.7 Code" } } }
Raw API
Both dialects are live. Anthropic at
/v1/messages, OpenAI at
/v1/chat/completions.
curl /v1/chat/completions \ -H 'Content-Type: application/json' \ -d '{"model":"h/sakana-fugu-ultra","messages":[{"role":"user","content":"hi"}]}'
from anthropic import Anthropic client = Anthropic(base_url="", api_key="rich") print(client.messages.create( model="h/sakana-fugu-ultra", max_tokens=1024, messages=[{"role": "user", "content": "hello"}], ).content[0].text)