From 31f17ba369ab78cbf46c3c35ba70a4bb5e65846a Mon Sep 17 00:00:00 2001 From: Evan Date: Sat, 21 Mar 2026 17:23:14 +0900 Subject: [PATCH] feat: add Qwen International provider with regional endpoints (#8) * feat: add Qwen International and US provider catalogs * refactor: merge qwen-us into qwen-intl with regions support * refactor: merge regional providers into single files with regions Merge qwen-intl.toml into qwen.toml with [provider.regions] for intl (Singapore) and us (Virginia) endpoints. Merge minimax-cn.toml into minimax.toml with [provider.regions.china] including separate api_key_env for China endpoint. Uses new RegionConfig table format instead of simple string URLs. --- providers/minimax-cn.toml | 113 -------------------------------------- providers/minimax.toml | 9 ++- providers/qwen.toml | 7 +++ 3 files changed, 14 insertions(+), 115 deletions(-) delete mode 100644 providers/minimax-cn.toml diff --git a/providers/minimax-cn.toml b/providers/minimax-cn.toml deleted file mode 100644 index 6bbade0..0000000 --- a/providers/minimax-cn.toml +++ /dev/null @@ -1,113 +0,0 @@ -# MiniMax (China) — https://minimaxi.com -# Models: 8 (same models as international, different endpoint) - -[provider] -id = "minimax-cn" -display_name = "MiniMax (China)" -api_key_env = "MINIMAX_CN_API_KEY" -base_url = "https://api.minimaxi.com/v1" -key_required = true - -[[models]] -id = "MiniMax-M2.7" -display_name = "MiniMax M2.7" -tier = "frontier" -context_window = 204800 -max_output_tokens = 131072 -input_cost_per_m = 0.30 -output_cost_per_m = 1.20 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "MiniMax-M2.7-highspeed" -display_name = "MiniMax M2.7 Highspeed" -tier = "smart" -context_window = 204800 -max_output_tokens = 131072 -input_cost_per_m = 0.30 -output_cost_per_m = 1.20 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "minimax-text-01" -display_name = "MiniMax Text 01" -tier = "smart" -context_window = 1048576 -max_output_tokens = 16384 -input_cost_per_m = 1.00 -output_cost_per_m = 3.00 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "MiniMax-M2.5" -display_name = "MiniMax M2.5" -tier = "frontier" -context_window = 1048576 -max_output_tokens = 16384 -input_cost_per_m = 1.10 -output_cost_per_m = 4.40 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = [] - -[[models]] -id = "MiniMax-M2.5-highspeed" -display_name = "MiniMax M2.5 Highspeed" -tier = "smart" -context_window = 1048576 -max_output_tokens = 16384 -input_cost_per_m = 0.80 -output_cost_per_m = 3.20 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = [] - -[[models]] -id = "MiniMax-M2.1" -display_name = "MiniMax M2.1" -tier = "smart" -context_window = 1048576 -max_output_tokens = 16384 -input_cost_per_m = 1.00 -output_cost_per_m = 3.00 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "abab6.5-chat" -display_name = "ABAB 6.5 Chat" -tier = "balanced" -context_window = 245760 -max_output_tokens = 8192 -input_cost_per_m = 0.50 -output_cost_per_m = 1.50 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "abab7-chat" -display_name = "ABAB 7 Chat" -tier = "smart" -context_window = 524288 -max_output_tokens = 16384 -input_cost_per_m = 0.80 -output_cost_per_m = 2.40 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = [] diff --git a/providers/minimax.toml b/providers/minimax.toml index 60b0563..883eb53 100644 --- a/providers/minimax.toml +++ b/providers/minimax.toml @@ -1,13 +1,18 @@ -# MiniMax (International) — https://minimax.io +# MiniMax — https://minimax.io # Models: 8 +# Regions: international (default), china (minimaxi.com) [provider] id = "minimax" -display_name = "MiniMax (International)" +display_name = "MiniMax" api_key_env = "MINIMAX_API_KEY" base_url = "https://api.minimax.io/v1" key_required = true +[provider.regions.china] +base_url = "https://api.minimaxi.com/v1" +api_key_env = "MINIMAX_CN_API_KEY" + [[models]] id = "MiniMax-M2.7" display_name = "MiniMax M2.7" diff --git a/providers/qwen.toml b/providers/qwen.toml index b21b7e5..06bf5d9 100644 --- a/providers/qwen.toml +++ b/providers/qwen.toml @@ -1,5 +1,6 @@ # Qwen / Alibaba — https://dashscope.aliyuncs.com # Models: 11 +# Regions: china (default), intl (Singapore), us (Virginia) [provider] id = "qwen" @@ -8,6 +9,12 @@ api_key_env = "DASHSCOPE_API_KEY" base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1" key_required = true +[provider.regions.intl] +base_url = "https://dashscope-intl.aliyuncs.com/compatible-mode/v1" + +[provider.regions.us] +base_url = "https://dashscope-us.aliyuncs.com/compatible-mode/v1" + [[models]] id = "qwen-max" display_name = "Qwen Max"