fix: route OpenRouter-only providers through OpenRouter API (#38)

Providers without their own public API now use OpenRouter as their
base_url with OPENROUTER_API_KEY, making them testable and usable
when the user has an OpenRouter key configured.

- 20 OpenRouter-only providers: set base_url to openrouter.ai/api/v1
- morph: set correct official API (api.morphllm.com/v1)
- sync-pricing.py: default to OpenRouter routing for new providers
This commit is contained in:
Evan authored and GitHub committed 2026-04-02 23:41:25 +08:00
1 parent 2fa48bfdcb
commit aa5822992a
21 files changed
+66 -67

No files matched your search

+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "aion-labs"
display_name = "Aion Labs"
api_key_env = "AION_LABS_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "aion-1.0"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "allenai"
display_name = "Allenai"
api_key_env = "ALLENAI_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "olmo-2-0325-32b-instruct"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "deepcogito"
display_name = "Deepcogito"
api_key_env = "DEEPCOGITO_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "cogito-v2.1-671b"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "eleutherai"
display_name = "Eleutherai"
api_key_env = "ELEUTHERAI_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "llemma_7b"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "essentialai"
display_name = "Essentialai"
api_key_env = "ESSENTIALAI_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "rnj-1-instruct"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "ibm-granite"
display_name = "Ibm Granite"
api_key_env = "IBM_GRANITE_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "granite-4.0-h-micro"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "inflection"
display_name = "Inflection"
api_key_env = "INFLECTION_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "inflection-3-pi"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "kwaipilot"
display_name = "Kwaipilot"
api_key_env = "KWAIPILOT_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "kat-coder-pro"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "liquid"
display_name = "Liquid"
api_key_env = "LIQUID_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "lfm-2-24b-a2b"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "meituan"
display_name = "Meituan"
api_key_env = "MEITUAN_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "longcat-flash-chat"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "meta-llama"
display_name = "Meta Llama"
api_key_env = "META_LLAMA_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "llama-3-70b-instruct"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "microsoft"
display_name = "Microsoft"
api_key_env = "MICROSOFT_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "phi-4"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "nex-agi"
display_name = "Nex Agi"
api_key_env = "NEX_AGI_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "deepseek-v3.1-nex-n1"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "nousresearch"
display_name = "Nousresearch"
api_key_env = "NOUSRESEARCH_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "hermes-2-pro-llama-3-8b"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "prime-intellect"
display_name = "Prime Intellect"
api_key_env = "PRIME_INTELLECT_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "intellect-3"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "relace"
display_name = "Relace"
api_key_env = "RELACE_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "relace-apply-3"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "switchpoint"
display_name = "Switchpoint"
api_key_env = "SWITCHPOINT_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "router"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "tencent"
display_name = "Tencent"
api_key_env = "TENCENT_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "hunyuan-a13b-instruct"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "tngtech"
display_name = "Tngtech"
api_key_env = "TNGTECH_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "deepseek-r1t2-chimera"
+3 -3
View File
@@ -3,9 +3,9 @@
[provider]
id = "xiaomi"
display_name = "Xiaomi"
api_key_env = "XIAOMI_API_KEY"
base_url = ""
key_required = false
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
[[models]]
id = "mimo-v2-flash"