diff --git a/models/alibaba/qwen-2.5-72b-instruct.toml b/models/alibaba/qwen-2.5-72b-instruct.toml new file mode 100644 index 00000000000..22e74c74706 --- /dev/null +++ b/models/alibaba/qwen-2.5-72b-instruct.toml @@ -0,0 +1,24 @@ +# Sources: +# https://huggingface.co/Qwen/Qwen2.5-72B-Instruct (first-party weights card, 2024-09-19) +# https://openrouter.ai/qwen/qwen-2.5-72b-instruct (serving/pricing surface) + +name = "Qwen2.5 72B Instruct" +description = "Qwen instruction model for multilingual chat, reasoning, and tool use" +family = "qwen" +release_date = "2024-09-19" +last_updated = "2024-09-19" +attachment = false +reasoning = false +temperature = true +tool_call = true +structured_output = true +knowledge = "2024-06-30" +open_weights = true + +[limit] +context = 32_768 +output = 16_384 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/models/mistral/mistral-large-2407.toml b/models/mistral/mistral-large-2407.toml new file mode 100644 index 00000000000..2d3aa7bc775 --- /dev/null +++ b/models/mistral/mistral-large-2407.toml @@ -0,0 +1,25 @@ +# Sources: +# https://mistral.ai/news/mistral-large-2407 (first-party announcement, 2024-11-19) +# Weights are under the Mistral Research License (not open source) -> open_weights = false +# https://openrouter.ai/mistral/mistral-large-2407 (serving/pricing surface) + +name = "Mistral Large 2407" +description = "Flagship Mistral model for advanced reasoning, coding, and multilingual work" +family = "mistral-large" +release_date = "2024-11-19" +last_updated = "2024-11-19" +attachment = true +reasoning = false +temperature = true +tool_call = true +structured_output = true +knowledge = "2024-03-31" +open_weights = false + +[limit] +context = 131_072 +output = 104_857 + +[modalities] +input = ["text", "pdf"] +output = ["text"] diff --git a/models/mistral/mistral-medium-2508.toml b/models/mistral/mistral-medium-2508.toml new file mode 100644 index 00000000000..c71187c3142 --- /dev/null +++ b/models/mistral/mistral-medium-2508.toml @@ -0,0 +1,24 @@ +# Sources: +# https://mistral.ai/news/mistral-medium-3.1 +# https://openrouter.ai/mistralai/mistral-medium-3.1 + +name = "Mistral Medium 3.1" +description = "Mistral model for multilingual chat, reasoning, and tool-assisted workflows" +family = "mistral-medium" +release_date = "2025-08-13" +last_updated = "2025-08-13" +attachment = true +reasoning = false +temperature = true +tool_call = true +structured_output = true +knowledge = "2025-06-30" +open_weights = false + +[limit] +context = 262_144 +output = 262_144 + +[modalities] +input = ["text", "image", "pdf"] +output = ["text"] diff --git a/models/moonshotai/kimi-k2.toml b/models/moonshotai/kimi-k2.toml new file mode 100644 index 00000000000..8ec05ebfbfe --- /dev/null +++ b/models/moonshotai/kimi-k2.toml @@ -0,0 +1,24 @@ +# Sources: +# https://huggingface.co/moonshotai/Kimi-K2-Instruct (first-party weights card, 2025-07-11) +# https://openrouter.ai/moonshotai/kimi-k2 (serving/pricing surface) + +name = "Kimi K2 0711" +description = "Kimi model for long-context chat, coding, and agentic reasoning" +family = "kimi-k2" +release_date = "2025-07-11" +last_updated = "2025-07-11" +attachment = false +reasoning = false +temperature = true +tool_call = true +structured_output = false +knowledge = "2024-12-31" +open_weights = true + +[limit] +context = 131_072 +output = 98_304 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/topupsaja/logo.svg b/providers/topupsaja/logo.svg new file mode 100644 index 00000000000..3af86891b18 --- /dev/null +++ b/providers/topupsaja/logo.svg @@ -0,0 +1,3 @@ + + + diff --git a/providers/topupsaja/models/ts/claude-opus-4.7.toml b/providers/topupsaja/models/ts/claude-opus-4.7.toml new file mode 100644 index 00000000000..c63733f0ec8 --- /dev/null +++ b/providers/topupsaja/models/ts/claude-opus-4.7.toml @@ -0,0 +1,20 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "anthropic/claude-opus-4-7" + +structured_output = true + +[cost] +input = 25 +output = 125 +cache_read = 2.5 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high", "xhigh", "max"] diff --git a/providers/topupsaja/models/ts/claude-opus-4.8.toml b/providers/topupsaja/models/ts/claude-opus-4.8.toml new file mode 100644 index 00000000000..cfbe6be5a8a --- /dev/null +++ b/providers/topupsaja/models/ts/claude-opus-4.8.toml @@ -0,0 +1,21 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "anthropic/claude-opus-4-8" + +temperature = true +structured_output = true + +[cost] +input = 25 +output = 125 +cache_read = 2.5 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high", "xhigh", "max"] diff --git a/providers/topupsaja/models/ts/claude-sonnet-5.toml b/providers/topupsaja/models/ts/claude-sonnet-5.toml new file mode 100644 index 00000000000..00350a0486a --- /dev/null +++ b/providers/topupsaja/models/ts/claude-sonnet-5.toml @@ -0,0 +1,20 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "anthropic/claude-sonnet-5" + +structured_output = true + +[cost] +input = 12 +output = 60 +cache_read = 1.2 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high", "xhigh", "max"] diff --git a/providers/topupsaja/models/ts/claude-sonnet-latest.toml b/providers/topupsaja/models/ts/claude-sonnet-latest.toml new file mode 100644 index 00000000000..31e7f793354 --- /dev/null +++ b/providers/topupsaja/models/ts/claude-sonnet-latest.toml @@ -0,0 +1,22 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "anthropic/claude-sonnet-5" + +structured_output = true + +name = "Claude Sonnet Latest" + +[cost] +input = 12 +output = 60 +cache_read = 1.2 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high", "xhigh", "max"] diff --git a/providers/topupsaja/models/ts/deepseek-chat.toml b/providers/topupsaja/models/ts/deepseek-chat.toml new file mode 100644 index 00000000000..464467af1be --- /dev/null +++ b/providers/topupsaja/models/ts/deepseek-chat.toml @@ -0,0 +1,13 @@ +base_model = "deepseek/deepseek-chat" + +structured_output = true +attachment = false + +[cost] +input = 1.92 +output = 5.34 +cache_read = 0.96 + +[limit] +context = 163840 +output = 16384 diff --git a/providers/topupsaja/models/ts/deepseek-r1.toml b/providers/topupsaja/models/ts/deepseek-r1.toml new file mode 100644 index 00000000000..22161a2e30e --- /dev/null +++ b/providers/topupsaja/models/ts/deepseek-r1.toml @@ -0,0 +1,16 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "deepseek/deepseek-r1" + +reasoning_options = [] + +structured_output = false + +[cost] +input = 4.2 +output = 15 +cache_read = 2.1 + +[limit] +context = 64000 +output = 16000 diff --git a/providers/topupsaja/models/ts/deepseek-v4-flash-0731-batch.toml b/providers/topupsaja/models/ts/deepseek-v4-flash-0731-batch.toml new file mode 100644 index 00000000000..a15cf6401e8 --- /dev/null +++ b/providers/topupsaja/models/ts/deepseek-v4-flash-0731-batch.toml @@ -0,0 +1,24 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "deepseek/deepseek-v4-flash-0731" + +name = "DeepSeek: DeepSeek V4 Flash 0731 (batch)" + +[cost] +input = 0.77 +output = 2.31 +cache_read = 0.025 + +[limit] +context = 1048576 +output = 943718 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] diff --git a/providers/topupsaja/models/ts/deepseek-v4-flash-0731.toml b/providers/topupsaja/models/ts/deepseek-v4-flash-0731.toml new file mode 100644 index 00000000000..e317e16e9bd --- /dev/null +++ b/providers/topupsaja/models/ts/deepseek-v4-flash-0731.toml @@ -0,0 +1,22 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "deepseek/deepseek-v4-flash-0731" + +[cost] +input = 0.42 +output = 0.84 +cache_read = 0.084 + +[limit] +context = 1310720 +output = 943718 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] diff --git a/providers/topupsaja/models/ts/deepseek-v4-flash-latest.toml b/providers/topupsaja/models/ts/deepseek-v4-flash-latest.toml new file mode 100644 index 00000000000..f365a4a9866 --- /dev/null +++ b/providers/topupsaja/models/ts/deepseek-v4-flash-latest.toml @@ -0,0 +1,23 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "deepseek/deepseek-v4-flash-0731" + +name = "DeepSeek V4 Flash Latest" + +[cost] +input = 0.379 +output = 1.137 +cache_read = 0.012 + +[limit] +context = 1310720 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] diff --git a/providers/topupsaja/models/ts/deepseek-v4-flash-vision-exp-batch.toml b/providers/topupsaja/models/ts/deepseek-v4-flash-vision-exp-batch.toml new file mode 100644 index 00000000000..2c7ef13d4bf --- /dev/null +++ b/providers/topupsaja/models/ts/deepseek-v4-flash-vision-exp-batch.toml @@ -0,0 +1,24 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "deepseek/deepseek-v4-flash-vision-exp" + +name = "DeepSeek: DeepSeek V4 Flash Vision Exp (batch)" + +[cost] +input = 0.77 +output = 2.31 +cache_read = 0.025 + +[limit] +context = 1048576 +output = 943718 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] diff --git a/providers/topupsaja/models/ts/deepseek-v4-flash-vision-exp.toml b/providers/topupsaja/models/ts/deepseek-v4-flash-vision-exp.toml new file mode 100644 index 00000000000..e9259f66e9d --- /dev/null +++ b/providers/topupsaja/models/ts/deepseek-v4-flash-vision-exp.toml @@ -0,0 +1,22 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "deepseek/deepseek-v4-flash-vision-exp" + +[cost] +input = 1.509 +output = 4.528 +cache_read = 0.048 + +[limit] +context = 1048576 +output = 262144 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] diff --git a/providers/topupsaja/models/ts/deepseek-v4-pro-0813-batch.toml b/providers/topupsaja/models/ts/deepseek-v4-pro-0813-batch.toml new file mode 100644 index 00000000000..1a6e1641466 --- /dev/null +++ b/providers/topupsaja/models/ts/deepseek-v4-pro-0813-batch.toml @@ -0,0 +1,24 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "deepseek/deepseek-v4-pro-0813" + +name = "DeepSeek: DeepSeek V4 Pro 0813 (batch)" + +[cost] +input = 3.96 +output = 11.88 +cache_read = 0.132 + +[limit] +context = 1048576 +output = 943718 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] diff --git a/providers/topupsaja/models/ts/deepseek-v4-pro-0813.toml b/providers/topupsaja/models/ts/deepseek-v4-pro-0813.toml new file mode 100644 index 00000000000..f602b3266ed --- /dev/null +++ b/providers/topupsaja/models/ts/deepseek-v4-pro-0813.toml @@ -0,0 +1,22 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "deepseek/deepseek-v4-pro-0813" + +[cost] +input = 3.469 +output = 10.407 +cache_read = 0.11 + +[limit] +context = 1048576 +output = 393216 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] diff --git a/providers/topupsaja/models/ts/deepseek-v4-pro.toml b/providers/topupsaja/models/ts/deepseek-v4-pro.toml new file mode 100644 index 00000000000..c61a3510ad8 --- /dev/null +++ b/providers/topupsaja/models/ts/deepseek-v4-pro.toml @@ -0,0 +1,25 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "deepseek/deepseek-v4-pro" + +[cost] +input = 9.6 +output = 19.2 +cache_read = 0.81 + +[limit] +context = 1048576 +output = 393216 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["high", "xhigh"] + +[interleaved] +field = "reasoning_content" diff --git a/providers/topupsaja/models/ts/deepseek-v4.1-flash.toml b/providers/topupsaja/models/ts/deepseek-v4.1-flash.toml new file mode 100644 index 00000000000..aa148c94688 --- /dev/null +++ b/providers/topupsaja/models/ts/deepseek-v4.1-flash.toml @@ -0,0 +1,21 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "deepseek/deepseek-v4.1-flash" + +[cost] +input = 1.05 +output = 4.2 +cache_read = 0.021 + +[limit] +context = 1048576 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] diff --git a/providers/topupsaja/models/ts/gemini-3.5-flash-lite.toml b/providers/topupsaja/models/ts/gemini-3.5-flash-lite.toml new file mode 100644 index 00000000000..a94f275a95a --- /dev/null +++ b/providers/topupsaja/models/ts/gemini-3.5-flash-lite.toml @@ -0,0 +1,12 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "google/gemini-3.5-flash-lite" + +[cost] +input = 2.1 +output = 17.5 +cache_read = 0.21 + +[[reasoning_options]] +type = "effort" +values = ["minimal", "low", "medium", "high"] diff --git a/providers/topupsaja/models/ts/gemini-3.5-flash.toml b/providers/topupsaja/models/ts/gemini-3.5-flash.toml new file mode 100644 index 00000000000..396bcc6cdbc --- /dev/null +++ b/providers/topupsaja/models/ts/gemini-3.5-flash.toml @@ -0,0 +1,12 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "google/gemini-3.5-flash" + +[cost] +input = 9 +output = 54 +cache_read = 0.9 + +[[reasoning_options]] +type = "effort" +values = ["minimal", "low", "medium", "high"] diff --git a/providers/topupsaja/models/ts/gemini-3.6-flash-batch.toml b/providers/topupsaja/models/ts/gemini-3.6-flash-batch.toml new file mode 100644 index 00000000000..44cbe796408 --- /dev/null +++ b/providers/topupsaja/models/ts/gemini-3.6-flash-batch.toml @@ -0,0 +1,14 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "google/gemini-3.6-flash" + +name = "Google: Gemini 3.6 Flash (batch)" + +[cost] +input = 2.25 +output = 11.25 +cache_read = 0.225 + +[[reasoning_options]] +type = "effort" +values = ["minimal", "low", "medium", "high"] diff --git a/providers/topupsaja/models/ts/gemini-3.7-flash-batch.toml b/providers/topupsaja/models/ts/gemini-3.7-flash-batch.toml new file mode 100644 index 00000000000..70d9db355a7 --- /dev/null +++ b/providers/topupsaja/models/ts/gemini-3.7-flash-batch.toml @@ -0,0 +1,14 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "google/gemini-3.7-flash" + +name = "Google: Gemini 3.7 Flash (batch)" + +[cost] +input = 2.25 +output = 11.25 +cache_read = 0.225 + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] diff --git a/providers/topupsaja/models/ts/gemini-3.7-flash.toml b/providers/topupsaja/models/ts/gemini-3.7-flash.toml new file mode 100644 index 00000000000..4c6af7d479e --- /dev/null +++ b/providers/topupsaja/models/ts/gemini-3.7-flash.toml @@ -0,0 +1,12 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "google/gemini-3.7-flash" + +[cost] +input = 4.5 +output = 22.5 +cache_read = 0.45 + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] diff --git a/providers/topupsaja/models/ts/gemini-3.8-flash-batch.toml b/providers/topupsaja/models/ts/gemini-3.8-flash-batch.toml new file mode 100644 index 00000000000..6799b3506b2 --- /dev/null +++ b/providers/topupsaja/models/ts/gemini-3.8-flash-batch.toml @@ -0,0 +1,14 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "google/gemini-3.8-flash" + +name = "Google: Gemini 3.8 Flash (batch)" + +[cost] +input = 2.25 +output = 11.25 +cache_read = 0.225 + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] diff --git a/providers/topupsaja/models/ts/gemini-3.8-flash.toml b/providers/topupsaja/models/ts/gemini-3.8-flash.toml new file mode 100644 index 00000000000..c05153b777f --- /dev/null +++ b/providers/topupsaja/models/ts/gemini-3.8-flash.toml @@ -0,0 +1,12 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "google/gemini-3.8-flash" + +[cost] +input = 4.5 +output = 22.5 +cache_read = 0.45 + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] diff --git a/providers/topupsaja/models/ts/gemini-flash-latest.toml b/providers/topupsaja/models/ts/gemini-flash-latest.toml new file mode 100644 index 00000000000..1c2a7237544 --- /dev/null +++ b/providers/topupsaja/models/ts/gemini-flash-latest.toml @@ -0,0 +1,14 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "google/gemini-3.5-flash" + +name = "Gemini Flash Latest" + +[cost] +input = 4.5 +output = 22.5 +cache_read = 0.45 + +[[reasoning_options]] +type = "effort" +values = ["minimal", "low", "medium", "high"] diff --git a/providers/topupsaja/models/ts/gemini-pro-latest.toml b/providers/topupsaja/models/ts/gemini-pro-latest.toml new file mode 100644 index 00000000000..e77af4ae6f1 --- /dev/null +++ b/providers/topupsaja/models/ts/gemini-pro-latest.toml @@ -0,0 +1,17 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "google/gemini-3.1-pro-preview" + +name = "Gemini Pro Latest" + +[cost] +input = 12 +output = 72 +cache_read = 1.2 + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[interleaved] +field = "reasoning_details" diff --git a/providers/topupsaja/models/ts/glm-4.6.toml b/providers/topupsaja/models/ts/glm-4.6.toml new file mode 100644 index 00000000000..692b9125e21 --- /dev/null +++ b/providers/topupsaja/models/ts/glm-4.6.toml @@ -0,0 +1,19 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "zhipuai/glm-4.6" + +structured_output = true + +[cost] +input = 2.58 +output = 10.5 +cache_read = 0.48 + +[limit] +output = 16384 + +[[reasoning_options]] +type = "toggle" diff --git a/providers/topupsaja/models/ts/glm-5.3-flash-batch.toml b/providers/topupsaja/models/ts/glm-5.3-flash-batch.toml new file mode 100644 index 00000000000..d730f166627 --- /dev/null +++ b/providers/topupsaja/models/ts/glm-5.3-flash-batch.toml @@ -0,0 +1,21 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "zhipuai/glm-5.3-flash" + +name = "Z.ai: GLM 5.3 Flash (batch)" + +[cost] +input = 0.525 +output = 1.75 +cache_read = 0.105 + +[limit] +context = 1048576 +output = 943718 + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] + +[modalities] +input = ["text", "image", "video"] diff --git a/providers/topupsaja/models/ts/glm-flash-latest.toml b/providers/topupsaja/models/ts/glm-flash-latest.toml new file mode 100644 index 00000000000..b8e0e91c692 --- /dev/null +++ b/providers/topupsaja/models/ts/glm-flash-latest.toml @@ -0,0 +1,20 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "zhipuai/glm-5.3-flash" + +name = "GLM Flash Latest" + +[cost] +input = 0.525 +output = 1.75 +cache_read = 0.105 + +[limit] +context = 1310720 + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] + +[modalities] +input = ["text", "image", "video"] diff --git a/providers/topupsaja/models/ts/gpt-4.1-mini.toml b/providers/topupsaja/models/ts/gpt-4.1-mini.toml new file mode 100644 index 00000000000..b4561ec58a0 --- /dev/null +++ b/providers/topupsaja/models/ts/gpt-4.1-mini.toml @@ -0,0 +1,6 @@ +base_model = "openai/gpt-4.1-mini" + +[cost] +input = 2.4 +output = 9.6 +cache_read = 0.6 diff --git a/providers/topupsaja/models/ts/gpt-4.1-nano.toml b/providers/topupsaja/models/ts/gpt-4.1-nano.toml new file mode 100644 index 00000000000..8e87841b377 --- /dev/null +++ b/providers/topupsaja/models/ts/gpt-4.1-nano.toml @@ -0,0 +1,9 @@ +base_model = "openai/gpt-4.1-nano" + +[cost] +input = 0.7 +output = 2.8 +cache_read = 0.175 + +[modalities] +input = ["image", "text", "pdf"] diff --git a/providers/topupsaja/models/ts/gpt-4.1.toml b/providers/topupsaja/models/ts/gpt-4.1.toml new file mode 100644 index 00000000000..e464525c383 --- /dev/null +++ b/providers/topupsaja/models/ts/gpt-4.1.toml @@ -0,0 +1,6 @@ +base_model = "openai/gpt-4.1" + +[cost] +input = 12 +output = 48 +cache_read = 3 diff --git a/providers/topupsaja/models/ts/gpt-4o-mini.toml b/providers/topupsaja/models/ts/gpt-4o-mini.toml new file mode 100644 index 00000000000..7ba603f01ff --- /dev/null +++ b/providers/topupsaja/models/ts/gpt-4o-mini.toml @@ -0,0 +1,6 @@ +base_model = "openai/gpt-4o-mini" + +[cost] +input = 1.05 +output = 4.2 +cache_read = 0.525 diff --git a/providers/topupsaja/models/ts/gpt-4o.toml b/providers/topupsaja/models/ts/gpt-4o.toml new file mode 100644 index 00000000000..5df4b576f18 --- /dev/null +++ b/providers/topupsaja/models/ts/gpt-4o.toml @@ -0,0 +1,6 @@ +base_model = "openai/gpt-4o" + +[cost] +input = 15 +output = 60 +cache_read = 7.5 diff --git a/providers/topupsaja/models/ts/gpt-5.6-terra-pro.toml b/providers/topupsaja/models/ts/gpt-5.6-terra-pro.toml new file mode 100644 index 00000000000..ae31724abd5 --- /dev/null +++ b/providers/topupsaja/models/ts/gpt-5.6-terra-pro.toml @@ -0,0 +1,14 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "openai/gpt-5.6-terra" + +name = "GPT-5.6 Terra Pro" + +[cost] +input = 12 +output = 72 +cache_read = 1.2 + +[[reasoning_options]] +type = "effort" +values = ["none", "low", "medium", "high", "xhigh", "max"] diff --git a/providers/topupsaja/models/ts/gpt-5.6-terra.toml b/providers/topupsaja/models/ts/gpt-5.6-terra.toml new file mode 100644 index 00000000000..9ab043c6ebe --- /dev/null +++ b/providers/topupsaja/models/ts/gpt-5.6-terra.toml @@ -0,0 +1,12 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "openai/gpt-5.6-terra" + +[cost] +input = 12 +output = 72 +cache_read = 1.2 + +[[reasoning_options]] +type = "effort" +values = ["none", "low", "medium", "high", "xhigh", "max"] diff --git a/providers/topupsaja/models/ts/gpt-sol-latest.toml b/providers/topupsaja/models/ts/gpt-sol-latest.toml new file mode 100644 index 00000000000..3495b2ec2d1 --- /dev/null +++ b/providers/topupsaja/models/ts/gpt-sol-latest.toml @@ -0,0 +1,14 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "openai/gpt-5.6-sol" + +name = "GPT Sol Latest" + +[cost] +input = 12 +output = 60 +cache_read = 1.2 + +[[reasoning_options]] +type = "effort" +values = ["none", "low", "medium", "high", "xhigh", "max"] diff --git a/providers/topupsaja/models/ts/gpt-terra-latest.toml b/providers/topupsaja/models/ts/gpt-terra-latest.toml new file mode 100644 index 00000000000..54ca862db40 --- /dev/null +++ b/providers/topupsaja/models/ts/gpt-terra-latest.toml @@ -0,0 +1,14 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "openai/gpt-5.6-terra" + +name = "GPT Terra Latest" + +[cost] +input = 12 +output = 72 +cache_read = 1.2 + +[[reasoning_options]] +type = "effort" +values = ["none", "low", "medium", "high", "xhigh", "max"] diff --git a/providers/topupsaja/models/ts/grok-4.5.toml b/providers/topupsaja/models/ts/grok-4.5.toml new file mode 100644 index 00000000000..4c23b6f8a32 --- /dev/null +++ b/providers/topupsaja/models/ts/grok-4.5.toml @@ -0,0 +1,18 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "xai/grok-4.5" + +[cost] +input = 12 +output = 36 +cache_read = 1.8 + +[limit] +output = 450000 + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[modalities] +input = ["text", "image", "pdf"] diff --git a/providers/topupsaja/models/ts/grok-4.6.toml b/providers/topupsaja/models/ts/grok-4.6.toml new file mode 100644 index 00000000000..cc4572e46bc --- /dev/null +++ b/providers/topupsaja/models/ts/grok-4.6.toml @@ -0,0 +1,18 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "xai/grok-4.6" + +[cost] +input = 12 +output = 36 +cache_read = 3 + +[limit] +output = 450000 + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high", "xhigh"] + +[modalities] +input = ["text", "image", "pdf"] diff --git a/providers/topupsaja/models/ts/grok-build-0.1.toml b/providers/topupsaja/models/ts/grok-build-0.1.toml new file mode 100644 index 00000000000..1d73f7a89e2 --- /dev/null +++ b/providers/topupsaja/models/ts/grok-build-0.1.toml @@ -0,0 +1,13 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "xai/grok-build-0.1" + +reasoning_options = [] + +[cost] +input = 6 +output = 12 +cache_read = 1.2 + +[limit] +output = 230400 diff --git a/providers/topupsaja/models/ts/grok-latest.toml b/providers/topupsaja/models/ts/grok-latest.toml new file mode 100644 index 00000000000..f255ac38ed0 --- /dev/null +++ b/providers/topupsaja/models/ts/grok-latest.toml @@ -0,0 +1,20 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "xai/grok-4.6" + +name = "Grok Latest" + +[cost] +input = 12 +output = 36 +cache_read = 3 + +[limit] +output = 450000 + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high", "xhigh"] + +[modalities] +input = ["text", "image", "pdf"] diff --git a/providers/topupsaja/models/ts/hy4-preview.toml b/providers/topupsaja/models/ts/hy4-preview.toml new file mode 100644 index 00000000000..d38d1c0e566 --- /dev/null +++ b/providers/topupsaja/models/ts/hy4-preview.toml @@ -0,0 +1,17 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "tencent/hy4-preview" + +structured_output = true + +[cost] +input = 5.004 +output = 15.006 +cache_read = 0.252 + +[limit] +context = 1048576 + +[[reasoning_options]] +type = "effort" +values = ["none", "low", "high"] diff --git a/providers/topupsaja/models/ts/kimi-k2.5.toml b/providers/topupsaja/models/ts/kimi-k2.5.toml new file mode 100644 index 00000000000..1e85be47bba --- /dev/null +++ b/providers/topupsaja/models/ts/kimi-k2.5.toml @@ -0,0 +1,25 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "moonshotai/kimi-k2.5" + +temperature = true + +[cost] +input = 2.7 +output = 13.5 +cache_read = 0.42 + +[limit] +output = 235929 + +[[reasoning_options]] +type = "toggle" + +[modalities] +input = ["text", "image"] + +[interleaved] +field = "reasoning_details" diff --git a/providers/topupsaja/models/ts/kimi-k2.6.toml b/providers/topupsaja/models/ts/kimi-k2.6.toml new file mode 100644 index 00000000000..831bf9c86d0 --- /dev/null +++ b/providers/topupsaja/models/ts/kimi-k2.6.toml @@ -0,0 +1,23 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "moonshotai/kimi-k2.6" + +[cost] +input = 5.7 +output = 24 +cache_read = 0.96 + +[limit] +output = 235929 + +[[reasoning_options]] +type = "toggle" + +[modalities] +input = ["text", "image"] + +[interleaved] +field = "reasoning_details" diff --git a/providers/topupsaja/models/ts/kimi-k2.7-code.toml b/providers/topupsaja/models/ts/kimi-k2.7-code.toml new file mode 100644 index 00000000000..f442580ce3c --- /dev/null +++ b/providers/topupsaja/models/ts/kimi-k2.7-code.toml @@ -0,0 +1,18 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "moonshotai/kimi-k2.7-code" + +reasoning_options = [] + +temperature = true + +[cost] +input = 4.237 +output = 19.26 +cache_read = 1.08 + +[limit] +output = 235929 + +[modalities] +input = ["text", "image"] diff --git a/providers/topupsaja/models/ts/kimi-k2.toml b/providers/topupsaja/models/ts/kimi-k2.toml new file mode 100644 index 00000000000..244ebd9ddcc --- /dev/null +++ b/providers/topupsaja/models/ts/kimi-k2.toml @@ -0,0 +1,6 @@ +base_model = "moonshotai/kimi-k2" + +[cost] +input = 3.42 +output = 13.8 +cache_read = 1.71 diff --git a/providers/topupsaja/models/ts/kimi-k3-batch.toml b/providers/topupsaja/models/ts/kimi-k3-batch.toml new file mode 100644 index 00000000000..b46b246c6dd --- /dev/null +++ b/providers/topupsaja/models/ts/kimi-k3-batch.toml @@ -0,0 +1,25 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "moonshotai/kimi-k3" + +temperature = true + +name = "MoonshotAI: Kimi K3 (batch)" + +[cost] +input = 18 +output = 90 +cache_read = 1.8 + +[limit] +output = 943718 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] diff --git a/providers/topupsaja/models/ts/kimi-k3.toml b/providers/topupsaja/models/ts/kimi-k3.toml new file mode 100644 index 00000000000..abda963f72c --- /dev/null +++ b/providers/topupsaja/models/ts/kimi-k3.toml @@ -0,0 +1,23 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "moonshotai/kimi-k3" + +temperature = true + +[cost] +input = 11.7 +output = 65.52 +cache_read = 1.357 + +[limit] +output = 943718 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] diff --git a/providers/topupsaja/models/ts/kimi-latest.toml b/providers/topupsaja/models/ts/kimi-latest.toml new file mode 100644 index 00000000000..910fbdd0248 --- /dev/null +++ b/providers/topupsaja/models/ts/kimi-latest.toml @@ -0,0 +1,25 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "moonshotai/kimi-k3" + +temperature = true + +name = "Kimi Latest" + +[cost] +input = 11.7 +output = 65.52 +cache_read = 1.357 + +[limit] +output = 943718 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] diff --git a/providers/topupsaja/models/ts/llama-3.1-70b-instruct.toml b/providers/topupsaja/models/ts/llama-3.1-70b-instruct.toml new file mode 100644 index 00000000000..01d553a1b7e --- /dev/null +++ b/providers/topupsaja/models/ts/llama-3.1-70b-instruct.toml @@ -0,0 +1,12 @@ +base_model = "meta/llama-3.1-70b-instruct" + +structured_output = true + +[cost] +input = 2.4 +output = 2.4 +cache_read = 1.2 + +[limit] +context = 131072 +output = 16384 diff --git a/providers/topupsaja/models/ts/llama-3.3-70b-instruct.toml b/providers/topupsaja/models/ts/llama-3.3-70b-instruct.toml new file mode 100644 index 00000000000..9b27747e303 --- /dev/null +++ b/providers/topupsaja/models/ts/llama-3.3-70b-instruct.toml @@ -0,0 +1,12 @@ +base_model = "meta/llama-3.3-70b-instruct" + +structured_output = true + +[cost] +input = 0.7 +output = 2.24 +cache_read = 0.35 + +[limit] +context = 131072 +output = 16384 diff --git a/providers/topupsaja/models/ts/longcat-2.0.toml b/providers/topupsaja/models/ts/longcat-2.0.toml new file mode 100644 index 00000000000..cb727e00ca6 --- /dev/null +++ b/providers/topupsaja/models/ts/longcat-2.0.toml @@ -0,0 +1,24 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions +# Budget: reasoning.max_tokens = + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "meituan/longcat-2.0" + +structured_output = false + +[cost] +input = 2.1 +output = 8.4 +cache_read = 0.042 + +[limit] +context = 1048756 +output = 262144 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "budget_tokens" diff --git a/providers/topupsaja/models/ts/mimo-v2.5-pro.toml b/providers/topupsaja/models/ts/mimo-v2.5-pro.toml new file mode 100644 index 00000000000..05ffc772bd0 --- /dev/null +++ b/providers/topupsaja/models/ts/mimo-v2.5-pro.toml @@ -0,0 +1,22 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "xiaomi/mimo-v2.5-pro" + +structured_output = true + +[cost] +input = 2.61 +output = 5.22 +cache_read = 0.022 + +[limit] +context = 1050000 + +[[reasoning_options]] +type = "toggle" + +[interleaved] +field = "reasoning_content" diff --git a/providers/topupsaja/models/ts/mimo-v2.5.toml b/providers/topupsaja/models/ts/mimo-v2.5.toml new file mode 100644 index 00000000000..a3a8d403ba1 --- /dev/null +++ b/providers/topupsaja/models/ts/mimo-v2.5.toml @@ -0,0 +1,22 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "xiaomi/mimo-v2.5" + +structured_output = true + +[cost] +input = 0.98 +output = 1.96 +cache_read = 0.02 + +[limit] +context = 1050000 + +[[reasoning_options]] +type = "toggle" + +[interleaved] +field = "reasoning_details" diff --git a/providers/topupsaja/models/ts/minimax-m3-batch.toml b/providers/topupsaja/models/ts/minimax-m3-batch.toml new file mode 100644 index 00000000000..1903c256c02 --- /dev/null +++ b/providers/topupsaja/models/ts/minimax-m3-batch.toml @@ -0,0 +1,22 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "minimax/MiniMax-M3" + +structured_output = true + +name = "MiniMax: MiniMax M3 (batch)" + +[cost] +input = 2.1 +output = 8.4 +cache_read = 0.42 + +[limit] +context = 524288 +output = 471859 + +[[reasoning_options]] +type = "toggle" diff --git a/providers/topupsaja/models/ts/minimax-m3.toml b/providers/topupsaja/models/ts/minimax-m3.toml new file mode 100644 index 00000000000..6840e96082b --- /dev/null +++ b/providers/topupsaja/models/ts/minimax-m3.toml @@ -0,0 +1,16 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "minimax/MiniMax-M3" + +structured_output = true + +[cost] +input = 2.1 +output = 8.4 +cache_read = 0.42 + +[[reasoning_options]] +type = "toggle" diff --git a/providers/topupsaja/models/ts/mistral-large-2407.toml b/providers/topupsaja/models/ts/mistral-large-2407.toml new file mode 100644 index 00000000000..171807812fe --- /dev/null +++ b/providers/topupsaja/models/ts/mistral-large-2407.toml @@ -0,0 +1,6 @@ +base_model = "mistral/mistral-large-2407" + +[cost] +input = 12 +output = 36 +cache_read = 1.2 diff --git a/providers/topupsaja/models/ts/mistral-large-2512.toml b/providers/topupsaja/models/ts/mistral-large-2512.toml new file mode 100644 index 00000000000..8a96e8b6ba9 --- /dev/null +++ b/providers/topupsaja/models/ts/mistral-large-2512.toml @@ -0,0 +1,9 @@ +base_model = "mistral/mistral-large-2512" + +[cost] +input = 3.3 +output = 9.9 +cache_read = 0.33 + +[limit] +output = 209715 diff --git a/providers/topupsaja/models/ts/mistral-medium-3-5-batch.toml b/providers/topupsaja/models/ts/mistral-medium-3-5-batch.toml new file mode 100644 index 00000000000..41f5555e630 --- /dev/null +++ b/providers/topupsaja/models/ts/mistral-medium-3-5-batch.toml @@ -0,0 +1,20 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "mistral/mistral-medium-2604" + +name = "Mistral: Mistral Medium 3.5 (batch)" + +[cost] +input = 4.5 +output = 22.5 +cache_read = 2.25 + +[limit] +output = 209715 + +[[reasoning_options]] +type = "effort" +values = ["none", "high"] + +[modalities] +input = ["text", "image", "pdf"] diff --git a/providers/topupsaja/models/ts/mistral-medium-3-5.toml b/providers/topupsaja/models/ts/mistral-medium-3-5.toml new file mode 100644 index 00000000000..43bf1f245e4 --- /dev/null +++ b/providers/topupsaja/models/ts/mistral-medium-3-5.toml @@ -0,0 +1,18 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "mistral/mistral-medium-2604" + +[cost] +input = 9 +output = 45 +cache_read = 4.5 + +[limit] +output = 209715 + +[[reasoning_options]] +type = "effort" +values = ["none", "high"] + +[modalities] +input = ["text", "image", "pdf"] diff --git a/providers/topupsaja/models/ts/mistral-medium-3.1.toml b/providers/topupsaja/models/ts/mistral-medium-3.1.toml new file mode 100644 index 00000000000..c87212ffc4d --- /dev/null +++ b/providers/topupsaja/models/ts/mistral-medium-3.1.toml @@ -0,0 +1,10 @@ +base_model = "mistral/mistral-medium-2508" + +[cost] +input = 2.4 +output = 12 +cache_read = 0.24 + +[limit] +context = 131072 +output = 104857 diff --git a/providers/topupsaja/models/ts/mistral-medium-3.toml b/providers/topupsaja/models/ts/mistral-medium-3.toml new file mode 100644 index 00000000000..80d59c87df2 --- /dev/null +++ b/providers/topupsaja/models/ts/mistral-medium-3.toml @@ -0,0 +1,14 @@ +base_model = "mistral/mistral-medium-2505" + +structured_output = true + +[cost] +input = 2.4 +output = 12 +cache_read = 0.24 + +[limit] +output = 104857 + +[modalities] +input = ["text", "image", "pdf"] diff --git a/providers/topupsaja/models/ts/mistral-small-3.1-24b-instruct.toml b/providers/topupsaja/models/ts/mistral-small-3.1-24b-instruct.toml new file mode 100644 index 00000000000..c5a0a75ba37 --- /dev/null +++ b/providers/topupsaja/models/ts/mistral-small-3.1-24b-instruct.toml @@ -0,0 +1,12 @@ +base_model = "mistral/mistral-small-3-1-24b-instruct-2503" + +structured_output = false +tool_call = false + +[cost] +input = 2.106 +output = 3.33 +cache_read = 1.053 + +[limit] +output = 102400 diff --git a/providers/topupsaja/models/ts/mistral-small-3.2-24b-instruct.toml b/providers/topupsaja/models/ts/mistral-small-3.2-24b-instruct.toml new file mode 100644 index 00000000000..197c446986a --- /dev/null +++ b/providers/topupsaja/models/ts/mistral-small-3.2-24b-instruct.toml @@ -0,0 +1,15 @@ +base_model = "mistral/mistral-small-2506" + +structured_output = true +attachment = true + +[cost] +input = 0.656 +output = 1.75 +cache_read = 0.328 + +[limit] +context = 256000 + +[modalities] +input = ["image", "text"] diff --git a/providers/topupsaja/models/ts/muse-spark-1.3-contributor.toml b/providers/topupsaja/models/ts/muse-spark-1.3-contributor.toml new file mode 100644 index 00000000000..6785e2dbb71 --- /dev/null +++ b/providers/topupsaja/models/ts/muse-spark-1.3-contributor.toml @@ -0,0 +1,17 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "meta/muse-spark-1.3" + +name = "Meta: Muse Spark 1.3 Contributor" + +[cost] +input = 0.7 +output = 1.4 +cache_read = 0.014 + +[limit] +output = 943718 + +[[reasoning_options]] +type = "effort" +values = ["minimal", "low", "medium", "high", "xhigh"] diff --git a/providers/topupsaja/models/ts/muse-spark-1.3.toml b/providers/topupsaja/models/ts/muse-spark-1.3.toml new file mode 100644 index 00000000000..db9a395fd70 --- /dev/null +++ b/providers/topupsaja/models/ts/muse-spark-1.3.toml @@ -0,0 +1,15 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "meta/muse-spark-1.3" + +[cost] +input = 7.5 +output = 25.5 +cache_read = 0.9 + +[limit] +output = 943718 + +[[reasoning_options]] +type = "effort" +values = ["minimal", "low", "medium", "high", "xhigh", "max"] diff --git a/providers/topupsaja/models/ts/qwen-2.5-72b-instruct.toml b/providers/topupsaja/models/ts/qwen-2.5-72b-instruct.toml new file mode 100644 index 00000000000..0d2d7b42d57 --- /dev/null +++ b/providers/topupsaja/models/ts/qwen-2.5-72b-instruct.toml @@ -0,0 +1,6 @@ +base_model = "alibaba/qwen-2.5-72b-instruct" + +[cost] +input = 2.16 +output = 2.4 +cache_read = 1.08 diff --git a/providers/topupsaja/models/ts/qwen3.6-plus.toml b/providers/topupsaja/models/ts/qwen3.6-plus.toml new file mode 100644 index 00000000000..26d1f9d6c29 --- /dev/null +++ b/providers/topupsaja/models/ts/qwen3.6-plus.toml @@ -0,0 +1,16 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "alibaba/qwen3.6-plus" + +structured_output = true + +[cost] +input = 1.95 +output = 11.7 +cache_read = 0.975 + +[[reasoning_options]] +type = "toggle" diff --git a/providers/topupsaja/models/ts/qwen3.7-flash.toml b/providers/topupsaja/models/ts/qwen3.7-flash.toml new file mode 100644 index 00000000000..deaf068fc65 --- /dev/null +++ b/providers/topupsaja/models/ts/qwen3.7-flash.toml @@ -0,0 +1,20 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions +# Budget: reasoning.max_tokens = + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "alibaba/qwen3.7-flash" + +structured_output = false + +[cost] +input = 0.21 +output = 0.91 +cache_read = 0.042 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "budget_tokens" diff --git a/providers/topupsaja/models/ts/qwen3.7-max.toml b/providers/topupsaja/models/ts/qwen3.7-max.toml new file mode 100644 index 00000000000..26e1e0eeef9 --- /dev/null +++ b/providers/topupsaja/models/ts/qwen3.7-max.toml @@ -0,0 +1,19 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "alibaba/qwen3.7-max" + +structured_output = true + +[cost] +input = 8.85 +output = 26.55 +cache_read = 1.77 + +[limit] +output = 131072 + +[[reasoning_options]] +type = "toggle" diff --git a/providers/topupsaja/models/ts/qwen3.7-plus.toml b/providers/topupsaja/models/ts/qwen3.7-plus.toml new file mode 100644 index 00000000000..f8d0127c971 --- /dev/null +++ b/providers/topupsaja/models/ts/qwen3.7-plus.toml @@ -0,0 +1,22 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "alibaba/qwen3.7-plus" + +structured_output = true + +[cost] +input = 1.92 +output = 7.68 +cache_read = 0.384 + +[limit] +output = 131072 + +[[reasoning_options]] +type = "toggle" + +[modalities] +input = ["text", "image"] diff --git a/providers/topupsaja/models/ts/qwen3.8-2.4t-a95b-batch.toml b/providers/topupsaja/models/ts/qwen3.8-2.4t-a95b-batch.toml new file mode 100644 index 00000000000..056a66da9f3 --- /dev/null +++ b/providers/topupsaja/models/ts/qwen3.8-2.4t-a95b-batch.toml @@ -0,0 +1,18 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "alibaba/qwen3.8-2.4t-a95b" + +name = "Qwen: Qwen3.8 2.4T A95B (batch)" + +[cost] +input = 12 +output = 36 +cache_read = 1.5 + +[limit] +context = 1010000 +output = 909000 + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "xhigh"] diff --git a/providers/topupsaja/models/ts/qwen3.8-2.4t-a95b.toml b/providers/topupsaja/models/ts/qwen3.8-2.4t-a95b.toml new file mode 100644 index 00000000000..d6cb2abd9d0 --- /dev/null +++ b/providers/topupsaja/models/ts/qwen3.8-2.4t-a95b.toml @@ -0,0 +1,15 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "alibaba/qwen3.8-2.4t-a95b" + +[cost] +input = 12 +output = 36 +cache_read = 1.5 + +[limit] +context = 1048576 + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "xhigh"] diff --git a/providers/topupsaja/models/ts/qwen3.8-27b.toml b/providers/topupsaja/models/ts/qwen3.8-27b.toml new file mode 100644 index 00000000000..ec88a76390f --- /dev/null +++ b/providers/topupsaja/models/ts/qwen3.8-27b.toml @@ -0,0 +1,22 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "alibaba/qwen3.8-27b" + +[cost] +input = 1.498 +output = 17.85 +cache_read = 1.05 + +[limit] +context = 1000000 +output = 131072 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "xhigh"] diff --git a/providers/topupsaja/models/ts/qwen3.8-flash.toml b/providers/topupsaja/models/ts/qwen3.8-flash.toml new file mode 100644 index 00000000000..bedf39d3ecb --- /dev/null +++ b/providers/topupsaja/models/ts/qwen3.8-flash.toml @@ -0,0 +1,20 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions +# Budget: reasoning.max_tokens = + +# Toggle: reasoning.enabled = true|false +# https://openrouter.ai/docs/guides/best-practices/reasoning-tokens + +base_model = "alibaba/qwen3.8-flash" + +temperature = true + +[cost] +input = 1.05 +output = 3.29 +cache_read = 0.112 + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "budget_tokens" diff --git a/providers/topupsaja/models/ts/qwen3.8-max-0902.toml b/providers/topupsaja/models/ts/qwen3.8-max-0902.toml new file mode 100644 index 00000000000..e9150666d72 --- /dev/null +++ b/providers/topupsaja/models/ts/qwen3.8-max-0902.toml @@ -0,0 +1,17 @@ +# TopUpSaja relays request bodies verbatim to OpenRouter /chat/completions + +base_model = "alibaba/qwen3.8-max-0902" + +structured_output = true + +[cost] +input = 12 +output = 36 +cache_read = 1.5 + +[[reasoning_options]] +type = "effort" +values = ["minimal", "low", "medium", "high", "xhigh"] + +[modalities] +input = ["text", "image", "video"] diff --git a/providers/topupsaja/models/ts/voxtral-small-24b-2507.toml b/providers/topupsaja/models/ts/voxtral-small-24b-2507.toml new file mode 100644 index 00000000000..c80082281d4 --- /dev/null +++ b/providers/topupsaja/models/ts/voxtral-small-24b-2507.toml @@ -0,0 +1,14 @@ +base_model = "mistral/voxtral-small-24b-2507" + +structured_output = true + +[cost] +input = 0.7 +output = 2.1 +cache_read = 0.07 + +[limit] +output = 26214 + +[modalities] +input = ["text", "audio", "pdf"] diff --git a/providers/topupsaja/provider.toml b/providers/topupsaja/provider.toml new file mode 100644 index 00000000000..781ce3369d9 --- /dev/null +++ b/providers/topupsaja/provider.toml @@ -0,0 +1,5 @@ +name = "TopUpSaja" +npm = "@ai-sdk/openai-compatible" +api = "https://api.topupsaja.com/v1" +env = ["TOPUPSAJA_API_KEY"] +doc = "https://topupsaja.com/docs"