From 93712096ff049779ec7b8670a63bbeb8defed9cb Mon Sep 17 00:00:00 2001 From: Amolith Date: Tue, 3 Feb 2026 04:16:55 -0700 Subject: [PATCH] fix(synthetic): update pricing, add minimax-m2.1/gpt-oss meta (#165) * fix(synthetic): update k2.5 pricing * fix(synthetic): enable reasoning for gpt-oss-120b * fix(synthetic): add minimax-m2.1 override Synthetic stopped self-hosting MiniMax M2.1 and are now proxying it through Fireworks. Proxied models don't include the supported_features metadata, so we need overrides for tools and reasoning support. --- cmd/synthetic/main.go | 7 ++++-- internal/providers/configs/synthetic.json | 26 ++++++++++++++--------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/cmd/synthetic/main.go b/cmd/synthetic/main.go index 47d1c94b297f008e077fb396b62c6df98f3deaa2..a18d1d11bb4e734b2754ac9218cf8c161c8834b8 100644 --- a/cmd/synthetic/main.go +++ b/cmd/synthetic/main.go @@ -104,7 +104,7 @@ func applyModelOverrides(model *Model) { case strings.HasPrefix(model.ID, "hf:Qwen/Qwen3"): model.SupportedFeatures = []string{"tools"} - // Has correct metadata already, but the Kimi-K2 matcher (next) would + // Has correct metadata already, but the following k2 matchers would // override it to omit reasoning case strings.HasPrefix(model.ID, "hf:moonshotai/Kimi-K2-Thinking"): model.SupportedFeatures = []string{"tools", "reasoning"} @@ -119,7 +119,10 @@ func applyModelOverrides(model *Model) { model.SupportedFeatures = []string{"tools"} case strings.HasPrefix(model.ID, "hf:openai/gpt-oss"): - model.SupportedFeatures = []string{"tools"} + model.SupportedFeatures = []string{"tools", "reasoning"} + + case strings.HasPrefix(model.ID, "hf:MiniMaxAI/MiniMax-M2.1"): + model.SupportedFeatures = []string{"tools", "reasoning"} } } diff --git a/internal/providers/configs/synthetic.json b/internal/providers/configs/synthetic.json index f0c2a5d1285120fa3fa8185dcb898a89ee427ed5..a75d95526c3231e75d7755df6bda126208de196a 100644 --- a/internal/providers/configs/synthetic.json +++ b/internal/providers/configs/synthetic.json @@ -163,12 +163,12 @@ { "id": "hf:moonshotai/Kimi-K2.5", "name": "Kimi K2.5", - "cost_per_1m_in": 1.2, - "cost_per_1m_out": 1.2, - "cost_per_1m_in_cached": 1.2, - "cost_per_1m_out_cached": 1.2, + "cost_per_1m_in": 0.55, + "cost_per_1m_out": 2.1900000000000004, + "cost_per_1m_in_cached": 0.55, + "cost_per_1m_out_cached": 0.55, "context_window": 262144, - "default_max_tokens": 26214, + "default_max_tokens": 32768, "can_reason": true, "reasoning_levels": [ "low", @@ -195,10 +195,10 @@ { "id": "hf:MiniMaxAI/MiniMax-M2.1", "name": "MiniMax M2.1", - "cost_per_1m_in": 0.55, - "cost_per_1m_out": 2.1900000000000004, - "cost_per_1m_in_cached": 0.55, - "cost_per_1m_out_cached": 0.55, + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 1.2, + "cost_per_1m_in_cached": 0.3, + "cost_per_1m_out_cached": 0.3, "context_window": 196608, "default_max_tokens": 19660, "can_reason": true, @@ -284,7 +284,13 @@ "cost_per_1m_out_cached": 0.09999999999999999, "context_window": 131072, "default_max_tokens": 13107, - "can_reason": false, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", "supports_attachments": false, "options": {} }