From 878320ae63452bdf807f05bea4ba60bf0624a412 Mon Sep 17 00:00:00 2001 From: "bingbing.chen" Date: Tue, 18 Aug 2026 20:09:04 +0800 Subject: [PATCH 1/3] feat: add token market provider --- providers/tokensmarket/logo.svg | 3 +++ .../tokensmarket/models/MiniMax-M2.1.toml | 11 ++++++++ .../tokensmarket/models/MiniMax-M2.5.toml | 11 ++++++++ .../tokensmarket/models/claude-fable-5.toml | 19 ++++++++++++++ .../tokensmarket/models/claude-haiku-4-5.toml | 20 ++++++++++++++ .../tokensmarket/models/claude-opus-4-8.toml | 19 ++++++++++++++ .../tokensmarket/models/claude-opus-5.toml | 21 +++++++++++++++ .../tokensmarket/models/claude-sonnet-5.toml | 22 ++++++++++++++++ .../models/deepseek-v4-flash.toml | 20 ++++++++++++++ .../tokensmarket/models/deepseek-v4-pro.toml | 20 ++++++++++++++ .../tokensmarket/models/gemini-3.5-flash.toml | 15 +++++++++++ providers/tokensmarket/models/glm-5.1.toml | 13 ++++++++++ providers/tokensmarket/models/glm-5.2.toml | 13 ++++++++++ .../tokensmarket/models/gpt-5.4-mini.toml | 10 +++++++ .../tokensmarket/models/gpt-5.4-nano.toml | 13 ++++++++++ providers/tokensmarket/models/gpt-5.5.toml | 16 ++++++++++++ .../tokensmarket/models/gpt-5.6-luna.toml | 16 ++++++++++++ .../tokensmarket/models/gpt-5.6-sol.toml | 16 ++++++++++++ .../tokensmarket/models/gpt-5.6-terra.toml | 16 ++++++++++++ .../tokensmarket/models/gpt-image-2.toml | 3 +++ .../models/happyhorse-1.0-video-edit.toml | 24 +++++++++++++++++ .../models/happyhorse-1.1-i2v.toml | 24 +++++++++++++++++ .../models/happyhorse-1.1-r2v.toml | 24 +++++++++++++++++ .../models/happyhorse-1.1-t2v.toml | 24 +++++++++++++++++ providers/tokensmarket/models/hy3.toml | 11 ++++++++ .../tokensmarket/models/kimi-k2.7-code.toml | 14 ++++++++++ providers/tokensmarket/models/kimi-k3.toml | 19 ++++++++++++++ .../tokensmarket/models/longcat-2.0.toml | 14 ++++++++++ .../tokensmarket/models/mimo-v2.5-pro.toml | 9 +++++++ .../models/qwen3-embedding-8b.toml | 26 +++++++++++++++++++ .../tokensmarket/models/qwen3-rerank.toml | 25 ++++++++++++++++++ .../tokensmarket/models/qwen3.7-max.toml | 14 ++++++++++ .../tokensmarket/models/qwen3.7-plus.toml | 16 ++++++++++++ .../models/qwen3.7-text-embedding.toml | 26 +++++++++++++++++++ .../tokensmarket/models/qwen3.8-max.toml | 23 ++++++++++++++++ .../models/seedance-2-0-fast.toml | 26 +++++++++++++++++++ .../models/seedance-2-0-mini.toml | 26 +++++++++++++++++++ .../tokensmarket/models/seedance-2-0.toml | 26 +++++++++++++++++++ .../tokensmarket/models/seedance-2-5.toml | 20 ++++++++++++++ .../tokensmarket/models/seedream-4-0.toml | 20 ++++++++++++++ .../tokensmarket/models/seedream-4-5.toml | 20 ++++++++++++++ .../models/seedream-5-0-lite.toml | 20 ++++++++++++++ .../tokensmarket/models/seedream-5.0-pro.toml | 20 ++++++++++++++ providers/tokensmarket/provider.toml | 24 +++++++++++++++++ 44 files changed, 792 insertions(+) create mode 100644 providers/tokensmarket/logo.svg create mode 100644 providers/tokensmarket/models/MiniMax-M2.1.toml create mode 100644 providers/tokensmarket/models/MiniMax-M2.5.toml create mode 100644 providers/tokensmarket/models/claude-fable-5.toml create mode 100644 providers/tokensmarket/models/claude-haiku-4-5.toml create mode 100644 providers/tokensmarket/models/claude-opus-4-8.toml create mode 100644 providers/tokensmarket/models/claude-opus-5.toml create mode 100644 providers/tokensmarket/models/claude-sonnet-5.toml create mode 100644 providers/tokensmarket/models/deepseek-v4-flash.toml create mode 100644 providers/tokensmarket/models/deepseek-v4-pro.toml create mode 100644 providers/tokensmarket/models/gemini-3.5-flash.toml create mode 100644 providers/tokensmarket/models/glm-5.1.toml create mode 100644 providers/tokensmarket/models/glm-5.2.toml create mode 100644 providers/tokensmarket/models/gpt-5.4-mini.toml create mode 100644 providers/tokensmarket/models/gpt-5.4-nano.toml create mode 100644 providers/tokensmarket/models/gpt-5.5.toml create mode 100644 providers/tokensmarket/models/gpt-5.6-luna.toml create mode 100644 providers/tokensmarket/models/gpt-5.6-sol.toml create mode 100644 providers/tokensmarket/models/gpt-5.6-terra.toml create mode 100644 providers/tokensmarket/models/gpt-image-2.toml create mode 100644 providers/tokensmarket/models/happyhorse-1.0-video-edit.toml create mode 100644 providers/tokensmarket/models/happyhorse-1.1-i2v.toml create mode 100644 providers/tokensmarket/models/happyhorse-1.1-r2v.toml create mode 100644 providers/tokensmarket/models/happyhorse-1.1-t2v.toml create mode 100644 providers/tokensmarket/models/hy3.toml create mode 100644 providers/tokensmarket/models/kimi-k2.7-code.toml create mode 100644 providers/tokensmarket/models/kimi-k3.toml create mode 100644 providers/tokensmarket/models/longcat-2.0.toml create mode 100644 providers/tokensmarket/models/mimo-v2.5-pro.toml create mode 100644 providers/tokensmarket/models/qwen3-embedding-8b.toml create mode 100644 providers/tokensmarket/models/qwen3-rerank.toml create mode 100644 providers/tokensmarket/models/qwen3.7-max.toml create mode 100644 providers/tokensmarket/models/qwen3.7-plus.toml create mode 100644 providers/tokensmarket/models/qwen3.7-text-embedding.toml create mode 100644 providers/tokensmarket/models/qwen3.8-max.toml create mode 100644 providers/tokensmarket/models/seedance-2-0-fast.toml create mode 100644 providers/tokensmarket/models/seedance-2-0-mini.toml create mode 100644 providers/tokensmarket/models/seedance-2-0.toml create mode 100644 providers/tokensmarket/models/seedance-2-5.toml create mode 100644 providers/tokensmarket/models/seedream-4-0.toml create mode 100644 providers/tokensmarket/models/seedream-4-5.toml create mode 100644 providers/tokensmarket/models/seedream-5-0-lite.toml create mode 100644 providers/tokensmarket/models/seedream-5.0-pro.toml create mode 100644 providers/tokensmarket/provider.toml diff --git a/providers/tokensmarket/logo.svg b/providers/tokensmarket/logo.svg new file mode 100644 index 00000000000..bdea5838303 --- /dev/null +++ b/providers/tokensmarket/logo.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/providers/tokensmarket/models/MiniMax-M2.1.toml b/providers/tokensmarket/models/MiniMax-M2.1.toml new file mode 100644 index 00000000000..2861b5432d0 --- /dev/null +++ b/providers/tokensmarket/models/MiniMax-M2.1.toml @@ -0,0 +1,11 @@ +# Alibaba Cloud (DashScope) channel. For MiniMax models the adapter sets +# `thinking.type` to adaptive/disabled from the effort value and does not forward +# an effort ladder upstream, so the surface is a plain toggle. +base_model = "minimax/MiniMax-M2.1" +reasoning_options = [{ type = "toggle" }] + +[cost] +input = 0.248 +output = 0.992 +cache_read = 0.024 +cache_write = 0.312 diff --git a/providers/tokensmarket/models/MiniMax-M2.5.toml b/providers/tokensmarket/models/MiniMax-M2.5.toml new file mode 100644 index 00000000000..8db0bfe2647 --- /dev/null +++ b/providers/tokensmarket/models/MiniMax-M2.5.toml @@ -0,0 +1,11 @@ +# Alibaba Cloud (DashScope) channel. For MiniMax models the adapter sets +# `thinking.type` to adaptive/disabled from the effort value and does not forward +# an effort ladder upstream, so the surface is a plain toggle. +base_model = "minimax/MiniMax-M2.5" +reasoning_options = [{ type = "toggle" }] + +[cost] +input = 0.248 +output = 0.992 +cache_read = 0.024 +cache_write = 0.312 diff --git a/providers/tokensmarket/models/claude-fable-5.toml b/providers/tokensmarket/models/claude-fable-5.toml new file mode 100644 index 00000000000..70a6d55631b --- /dev/null +++ b/providers/tokensmarket/models/claude-fable-5.toml @@ -0,0 +1,19 @@ +# Claude Hub channel: raw passthrough to Anthropic /v1/messages, so the upstream +# reasoning surface survives unchanged. Modalities follow Token Market's own +# catalog, which lists text and image input only. +base_model = "anthropic/claude-fable-5" +structured_output = true + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high", "xhigh", "max"] + +[cost] +input = 2.5 +output = 12.5 +cache_read = 0.25 +cache_write = 3.125 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/tokensmarket/models/claude-haiku-4-5.toml b/providers/tokensmarket/models/claude-haiku-4-5.toml new file mode 100644 index 00000000000..877a7b43b78 --- /dev/null +++ b/providers/tokensmarket/models/claude-haiku-4-5.toml @@ -0,0 +1,20 @@ +# Claude Hub channel: raw passthrough to Anthropic /v1/messages, so the upstream +# reasoning surface survives unchanged. Modalities follow Token Market's own +# catalog, which lists text and image input only. +base_model = "anthropic/claude-haiku-4-5" +description = "Fast Claude lane for lightweight agents, office tasks, and responsive chat" +structured_output = true + +[[reasoning_options]] +type = "budget_tokens" +min = 1_024 + +[cost] +input = 0.25 +output = 1.25 +cache_read = 0.025 +cache_write = 0.3125 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/tokensmarket/models/claude-opus-4-8.toml b/providers/tokensmarket/models/claude-opus-4-8.toml new file mode 100644 index 00000000000..d289f86aa33 --- /dev/null +++ b/providers/tokensmarket/models/claude-opus-4-8.toml @@ -0,0 +1,19 @@ +# Claude Hub channel: raw passthrough to Anthropic /v1/messages, so the upstream +# reasoning surface survives unchanged. Modalities follow Token Market's own +# catalog, which lists text and image input only. +base_model = "anthropic/claude-opus-4-8" +structured_output = true + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high", "xhigh", "max"] + +[cost] +input = 1.25 +output = 6.25 +cache_read = 0.125 +cache_write = 1.5625 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/tokensmarket/models/claude-opus-5.toml b/providers/tokensmarket/models/claude-opus-5.toml new file mode 100644 index 00000000000..304c6a69876 --- /dev/null +++ b/providers/tokensmarket/models/claude-opus-5.toml @@ -0,0 +1,21 @@ +# Served over the Claude Hub channel, which is a raw passthrough to Anthropic +# /v1/messages (the channel adapter only rewrites the URL and forwards the +# anthropic-version / anthropic-beta headers), so the upstream reasoning surface +# survives unchanged. Modalities follow Token Market's own catalog, which lists +# text and image input only. +base_model = "anthropic/claude-opus-5" +structured_output = true + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high", "xhigh", "max"] + +[cost] +input = 1.25 +output = 6.25 +cache_read = 0.125 +cache_write = 1.5625 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/tokensmarket/models/claude-sonnet-5.toml b/providers/tokensmarket/models/claude-sonnet-5.toml new file mode 100644 index 00000000000..0f8d3649e5b --- /dev/null +++ b/providers/tokensmarket/models/claude-sonnet-5.toml @@ -0,0 +1,22 @@ +# Claude Hub channel: raw passthrough to Anthropic /v1/messages, so the upstream +# reasoning surface survives unchanged. Modalities follow Token Market's own +# catalog, which lists text and image input only. +base_model = "anthropic/claude-sonnet-5" +structured_output = true + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high", "xhigh", "max"] + +[cost] +input = 0.5 +output = 2.5 +cache_read = 0.05 +cache_write = 0.625 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/tokensmarket/models/deepseek-v4-flash.toml b/providers/tokensmarket/models/deepseek-v4-flash.toml new file mode 100644 index 00000000000..bf3c72d8a2f --- /dev/null +++ b/providers/tokensmarket/models/deepseek-v4-flash.toml @@ -0,0 +1,20 @@ +# Alibaba Cloud (DashScope) channel. The adapter turns effort "none" into +# `enable_thinking = false` and otherwise forwards `reasoning_effort`, so the +# upstream DeepSeek toggle plus effort ladder is reachable. `thinking_budget` is +# projected for the Qwen family only, so no budget_tokens option here. +base_model = "deepseek/deepseek-v4-flash" + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 0.22 +output = 0.665 +cache_read = 0.022 diff --git a/providers/tokensmarket/models/deepseek-v4-pro.toml b/providers/tokensmarket/models/deepseek-v4-pro.toml new file mode 100644 index 00000000000..2afbf489110 --- /dev/null +++ b/providers/tokensmarket/models/deepseek-v4-pro.toml @@ -0,0 +1,20 @@ +# Alibaba Cloud (DashScope) channel. The adapter turns effort "none" into +# `enable_thinking = false` and otherwise forwards `reasoning_effort`, so the +# upstream DeepSeek toggle plus effort ladder is reachable. `thinking_budget` is +# projected for the Qwen family only, so no budget_tokens option here. +base_model = "deepseek/deepseek-v4-pro" + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["high", "max"] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 0.665 +output = 1.985 +cache_read = 0.0665 diff --git a/providers/tokensmarket/models/gemini-3.5-flash.toml b/providers/tokensmarket/models/gemini-3.5-flash.toml new file mode 100644 index 00000000000..552267d9bae --- /dev/null +++ b/providers/tokensmarket/models/gemini-3.5-flash.toml @@ -0,0 +1,15 @@ +# Gemini Hub channel. The adapter does not rewrite the reasoning fields, so the +# upstream Gemini effort ladder applies. Token Market's catalog lists text, +# image, audio, and video input (no PDF), so modalities are overridden. +base_model = "google/gemini-3.5-flash" +reasoning_options = [{ type = "effort", values = ["minimal", "low", "medium", "high"] }] + +[cost] +input = 0.225 +output = 1.35 +cache_read = 0.0225 +cache_write = 0.225 + +[modalities] +input = ["text", "image", "audio", "video"] +output = ["text"] diff --git a/providers/tokensmarket/models/glm-5.1.toml b/providers/tokensmarket/models/glm-5.1.toml new file mode 100644 index 00000000000..ed5d757355e --- /dev/null +++ b/providers/tokensmarket/models/glm-5.1.toml @@ -0,0 +1,13 @@ +# Alibaba Cloud (DashScope) channel. The adapter maps effort "none" to +# `enable_thinking = false`, which is the toggle. GLM-5.1 on Model Studio +# documents no effort ladder (unlike 5.2), so only the toggle is exposed. +base_model = "zhipuai/glm-5.1" +reasoning_options = [{ type = "toggle" }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 0.88 +output = 3.53 +cache_read = 0.19 diff --git a/providers/tokensmarket/models/glm-5.2.toml b/providers/tokensmarket/models/glm-5.2.toml new file mode 100644 index 00000000000..b458a6ef9c9 --- /dev/null +++ b/providers/tokensmarket/models/glm-5.2.toml @@ -0,0 +1,13 @@ +# Alibaba Cloud (DashScope) channel, which accepts the full +# reasoning_effort enum for GLM-5.2 ("none" disables reasoning, so no separate +# toggle is needed). +base_model = "zhipuai/glm-5.2" +reasoning_options = [{ type = "effort", values = ["none", "minimal", "low", "medium", "high", "xhigh", "max"] }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 0.944 +output = 3.296 +cache_read = 0.232 diff --git a/providers/tokensmarket/models/gpt-5.4-mini.toml b/providers/tokensmarket/models/gpt-5.4-mini.toml new file mode 100644 index 00000000000..b24cf048824 --- /dev/null +++ b/providers/tokensmarket/models/gpt-5.4-mini.toml @@ -0,0 +1,10 @@ +# GPT Hub channel: the adapter only strips the gateway-canonical `reasoning` +# object and forwards native `reasoning_effort`. Upstream GPT-5.4 tops out at +# xhigh. +base_model = "openai/gpt-5.4-mini" +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh"] }] + +[cost] +input = 0.1125 +output = 0.675 +cache_read = 0.01125 diff --git a/providers/tokensmarket/models/gpt-5.4-nano.toml b/providers/tokensmarket/models/gpt-5.4-nano.toml new file mode 100644 index 00000000000..586e73cfd1f --- /dev/null +++ b/providers/tokensmarket/models/gpt-5.4-nano.toml @@ -0,0 +1,13 @@ +# GPT Hub channel: the adapter only strips the gateway-canonical `reasoning` +# object and forwards native `reasoning_effort`. Upstream GPT-5.4 tops out at +# xhigh. +# Cost: the catalog publishes no discounted rate for this model, so the listed +# vendor rate applies. +base_model = "openai/gpt-5.4-nano" +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh"] }] + +[cost] +input = 0.2 +output = 1.25 +cache_read = 0.02 +cache_write = 0.2 diff --git a/providers/tokensmarket/models/gpt-5.5.toml b/providers/tokensmarket/models/gpt-5.5.toml new file mode 100644 index 00000000000..b88a653661b --- /dev/null +++ b/providers/tokensmarket/models/gpt-5.5.toml @@ -0,0 +1,16 @@ +# GPT Hub channel: the adapter only strips the gateway-canonical `reasoning` +# object and forwards native `reasoning_effort`. Upstream GPT-5.5 tops out at +# xhigh (max arrived with 5.6). Modalities follow Token Market's own catalog, +# which lists text and image input only. +base_model = "openai/gpt-5.5" +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh"] }] + +[cost] +input = 0.75 +output = 4.5 +cache_read = 0.075 +cache_write = 0.75 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/tokensmarket/models/gpt-5.6-luna.toml b/providers/tokensmarket/models/gpt-5.6-luna.toml new file mode 100644 index 00000000000..b001df4ea01 --- /dev/null +++ b/providers/tokensmarket/models/gpt-5.6-luna.toml @@ -0,0 +1,16 @@ +# GPT Hub channel: the adapter only strips the gateway-canonical `reasoning` +# object and forwards native `reasoning_effort`, so the full upstream effort +# ladder is available. Modalities follow Token Market's own catalog, which lists +# text and image input only. +base_model = "openai/gpt-5.6-luna" +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] + +[cost] +input = 0.03 +output = 0.18 +cache_read = 0.003 +cache_write = 0.0375 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/tokensmarket/models/gpt-5.6-sol.toml b/providers/tokensmarket/models/gpt-5.6-sol.toml new file mode 100644 index 00000000000..94245f5cdf1 --- /dev/null +++ b/providers/tokensmarket/models/gpt-5.6-sol.toml @@ -0,0 +1,16 @@ +# GPT Hub channel: the adapter only strips the gateway-canonical `reasoning` +# object and forwards native `reasoning_effort`, so the full upstream effort +# ladder is available. Modalities follow Token Market's own catalog, which lists +# text and image input only. +base_model = "openai/gpt-5.6-sol" +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] + +[cost] +input = 0.75 +output = 4.5 +cache_read = 0.075 +cache_write = 0.9375 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/tokensmarket/models/gpt-5.6-terra.toml b/providers/tokensmarket/models/gpt-5.6-terra.toml new file mode 100644 index 00000000000..feb4e404d28 --- /dev/null +++ b/providers/tokensmarket/models/gpt-5.6-terra.toml @@ -0,0 +1,16 @@ +# GPT Hub channel: the adapter only strips the gateway-canonical `reasoning` +# object and forwards native `reasoning_effort`, so the full upstream effort +# ladder is available. Modalities follow Token Market's own catalog, which lists +# text and image input only. +base_model = "openai/gpt-5.6-terra" +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] + +[cost] +input = 0.3 +output = 1.8 +cache_read = 0.03 +cache_write = 0.46875 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/tokensmarket/models/gpt-image-2.toml b/providers/tokensmarket/models/gpt-image-2.toml new file mode 100644 index 00000000000..8dd03dc09b0 --- /dev/null +++ b/providers/tokensmarket/models/gpt-image-2.toml @@ -0,0 +1,3 @@ +# GPT Hub channel. Billed per request ($0.01), a unit the per-token [cost] +# schema cannot express, so [cost] is omitted rather than misstated. +base_model = "openai/gpt-image-2" diff --git a/providers/tokensmarket/models/happyhorse-1.0-video-edit.toml b/providers/tokensmarket/models/happyhorse-1.0-video-edit.toml new file mode 100644 index 00000000000..93bb123f905 --- /dev/null +++ b/providers/tokensmarket/models/happyhorse-1.0-video-edit.toml @@ -0,0 +1,24 @@ +# Alibaba Cloud channel. HappyHorse 1.0 video editing, served on the async +# video-synthesis endpoint rather than /v1/chat/completions: POST with header +# `X-DashScope-Async: enable`, then poll the returned task id. +# Billed per video-second by resolution ($0.07282 at 720p, $0.129415 at 1080p), +# which the per-token [cost] schema cannot express, so [cost] is omitted rather +# than misstated. +# https://www.alibabacloud.com/help/en/model-studio/video-generation +name = "HappyHorse 1.0 Video Edit" +description = "Video model for editing and extending an input video from a prompt" +release_date = "2026-07-17" +last_updated = "2026-07-17" +attachment = true +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["video", "text"] +output = ["video"] diff --git a/providers/tokensmarket/models/happyhorse-1.1-i2v.toml b/providers/tokensmarket/models/happyhorse-1.1-i2v.toml new file mode 100644 index 00000000000..7da586adca2 --- /dev/null +++ b/providers/tokensmarket/models/happyhorse-1.1-i2v.toml @@ -0,0 +1,24 @@ +# Alibaba Cloud channel. HappyHorse 1.1 image-to-video, served on the async +# video-synthesis endpoint rather than /v1/chat/completions: POST with header +# `X-DashScope-Async: enable`, then poll the returned task id. +# Billed per video-second by resolution ($0.03641 at 480p, $0.07282 at 720p, +# $0.097075 at 1080p), which the per-token [cost] schema cannot express, so +# [cost] is omitted rather than misstated. +# https://www.alibabacloud.com/help/en/model-studio/video-generation +name = "HappyHorse 1.1 Image-to-Video" +description = "Video model for image-to-video generation" +release_date = "2026-07-17" +last_updated = "2026-07-17" +attachment = true +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["image"] +output = ["video"] diff --git a/providers/tokensmarket/models/happyhorse-1.1-r2v.toml b/providers/tokensmarket/models/happyhorse-1.1-r2v.toml new file mode 100644 index 00000000000..a40da642010 --- /dev/null +++ b/providers/tokensmarket/models/happyhorse-1.1-r2v.toml @@ -0,0 +1,24 @@ +# Alibaba Cloud channel. HappyHorse 1.1 reference-to-video, served on the async +# video-synthesis endpoint rather than /v1/chat/completions: POST with header +# `X-DashScope-Async: enable`, then poll the returned task id. +# Billed per video-second by resolution ($0.03641 at 480p, $0.07282 at 720p, +# $0.097075 at 1080p), which the per-token [cost] schema cannot express, so +# [cost] is omitted rather than misstated. +# https://www.alibabacloud.com/help/en/model-studio/video-generation +name = "HappyHorse 1.1 Reference-to-Video" +description = "Video model for reference-guided video generation" +release_date = "2026-07-17" +last_updated = "2026-07-17" +attachment = true +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["image", "text"] +output = ["video"] diff --git a/providers/tokensmarket/models/happyhorse-1.1-t2v.toml b/providers/tokensmarket/models/happyhorse-1.1-t2v.toml new file mode 100644 index 00000000000..00e4ca2684c --- /dev/null +++ b/providers/tokensmarket/models/happyhorse-1.1-t2v.toml @@ -0,0 +1,24 @@ +# Alibaba Cloud channel. HappyHorse 1.1 text-to-video, served on the async +# video-synthesis endpoint rather than /v1/chat/completions: POST with header +# `X-DashScope-Async: enable`, then poll the returned task id. +# Billed per video-second by resolution ($0.03641 at 480p, $0.07282 at 720p, +# $0.097075 at 1080p), which the per-token [cost] schema cannot express, so +# [cost] is omitted rather than misstated. +# https://www.alibabacloud.com/help/en/model-studio/video-generation +name = "HappyHorse 1.1 Text-to-Video" +description = "Video model for prompt-driven text-to-video generation" +release_date = "2026-07-17" +last_updated = "2026-07-17" +attachment = false +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["video"] diff --git a/providers/tokensmarket/models/hy3.toml b/providers/tokensmarket/models/hy3.toml new file mode 100644 index 00000000000..3017cd0b03f --- /dev/null +++ b/providers/tokensmarket/models/hy3.toml @@ -0,0 +1,11 @@ +# Tencent Cloud channel. The adapter is a plain OpenAI-compatible passthrough +# that forwards `reasoning_effort` and does not project onto Tencent's +# `thinking.type`, so only the effort ladder (low|medium|high) is reachable. +# https://cloud.tencent.com/document/product/1823/131208 +base_model = "tencent/hy3" +reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] + +[cost] +input = 0.147 +output = 0.588 +cache_read = 0.037 diff --git a/providers/tokensmarket/models/kimi-k2.7-code.toml b/providers/tokensmarket/models/kimi-k2.7-code.toml new file mode 100644 index 00000000000..bcc00e61729 --- /dev/null +++ b/providers/tokensmarket/models/kimi-k2.7-code.toml @@ -0,0 +1,14 @@ +# Alibaba Cloud (DashScope) channel. The adapter maps effort "none" to +# `enable_thinking = false` and forwards `reasoning.budget_tokens` as +# `thinking_budget`; Model Studio documents no bounds for the budget on Kimi. +base_model = "moonshotai/kimi-k2.7-code" +family = "kimi-k2" +reasoning_options = [{ type = "toggle" }, { type = "budget_tokens" }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 0.768 +output = 3.176 +cache_read = 0.152 diff --git a/providers/tokensmarket/models/kimi-k3.toml b/providers/tokensmarket/models/kimi-k3.toml new file mode 100644 index 00000000000..edacb79bad2 --- /dev/null +++ b/providers/tokensmarket/models/kimi-k3.toml @@ -0,0 +1,19 @@ +# Alibaba Cloud (DashScope) channel. The adapter maps effort "none" to +# `enable_thinking = false` and otherwise forwards `reasoning_effort`, so Kimi +# K3's toggle plus low/high/max effort ladder is reachable. +base_model = "moonshotai/kimi-k3" + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 3.0 +output = 15.0 +cache_read = 0.3 diff --git a/providers/tokensmarket/models/longcat-2.0.toml b/providers/tokensmarket/models/longcat-2.0.toml new file mode 100644 index 00000000000..b59818a40f9 --- /dev/null +++ b/providers/tokensmarket/models/longcat-2.0.toml @@ -0,0 +1,14 @@ +# SiliconFlow.cn channel. The adapter maps effort "none" to +# `enable_thinking = false` and forwards `reasoning.budget_tokens` as +# `thinking_budget` (range 128-32,768). Upstream LongCat-2.0 exposes only an +# enabled/disabled thinking switch, so no effort ladder is listed. +base_model = "meituan/longcat-2.0" +reasoning_options = [{ type = "toggle" }, { type = "budget_tokens", min = 128, max = 32_768 }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 0.75 +output = 2.95 +cache_read = 0.015 diff --git a/providers/tokensmarket/models/mimo-v2.5-pro.toml b/providers/tokensmarket/models/mimo-v2.5-pro.toml new file mode 100644 index 00000000000..057dc0d3f36 --- /dev/null +++ b/providers/tokensmarket/models/mimo-v2.5-pro.toml @@ -0,0 +1,9 @@ +# Servable on GET /v1/models but not yet listed in the public pricing catalog, +# so [cost] is omitted rather than guessed. +# The channel is OpenAI-compatible, which forwards `reasoning_effort` and maps +# effort "none" onto disabling thinking. +base_model = "xiaomi/mimo-v2.5-pro" +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high"] }] + +[interleaved] +field = "reasoning_content" diff --git a/providers/tokensmarket/models/qwen3-embedding-8b.toml b/providers/tokensmarket/models/qwen3-embedding-8b.toml new file mode 100644 index 00000000000..84b6b4333d1 --- /dev/null +++ b/providers/tokensmarket/models/qwen3-embedding-8b.toml @@ -0,0 +1,26 @@ +# SiliconFlow.cn channel. No lab entry exists for this model, so metadata is +# authored here. The catalog reports a 32K context and user-selectable vector +# dimensions of 32-4096, so `limit.output` records the maximum dimension. +# Embedding calls are input-billed only, so output cost is 0. +name = "Qwen3 Embedding 8B" +description = "Embedding model for semantic search, retrieval, clustering, and ranking pipelines" +family = "qwen" +release_date = "2025-06-05" +last_updated = "2025-06-05" +attachment = false +reasoning = false +temperature = false +tool_call = false +open_weights = true + +[cost] +input = 0.04 +output = 0.00 + +[limit] +context = 32_768 +output = 4_096 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/tokensmarket/models/qwen3-rerank.toml b/providers/tokensmarket/models/qwen3-rerank.toml new file mode 100644 index 00000000000..a66ff77ca9e --- /dev/null +++ b/providers/tokensmarket/models/qwen3-rerank.toml @@ -0,0 +1,25 @@ +# Alibaba Cloud channel. No lab entry exists for this model, so metadata is +# authored here. Reranking returns relevance scores rather than generated tokens, +# and the catalog reports a 30K context with input-only billing. +name = "Qwen3 Rerank" +description = "Reranking model for improving retrieval quality in search and recommendation systems" +family = "qwen" +release_date = "2026-05-21" +last_updated = "2026-05-21" +attachment = false +reasoning = false +temperature = false +tool_call = false +open_weights = false + +[cost] +input = 0.074 +output = 0.00 + +[limit] +context = 30_000 +output = 1 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/tokensmarket/models/qwen3.7-max.toml b/providers/tokensmarket/models/qwen3.7-max.toml new file mode 100644 index 00000000000..2dd590afe38 --- /dev/null +++ b/providers/tokensmarket/models/qwen3.7-max.toml @@ -0,0 +1,14 @@ +# Alibaba Cloud (DashScope) channel. Hybrid thinking: the adapter maps effort +# "none" to `enable_thinking = false` and forwards `reasoning.budget_tokens` as +# `thinking_budget` (documented maximum 262,144 for the Qwen3.7 family). +base_model = "alibaba/qwen3.7-max" +reasoning_options = [{ type = "toggle" }, { type = "budget_tokens", max = 262_144 }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 1.059 +output = 3.1764 +cache_read = 0.2118 +cache_write = 1.3236 diff --git a/providers/tokensmarket/models/qwen3.7-plus.toml b/providers/tokensmarket/models/qwen3.7-plus.toml new file mode 100644 index 00000000000..f8e02521a60 --- /dev/null +++ b/providers/tokensmarket/models/qwen3.7-plus.toml @@ -0,0 +1,16 @@ +# Alibaba Cloud (DashScope) channel. Hybrid thinking: the adapter maps effort +# "none" to `enable_thinking = false` and forwards `reasoning.budget_tokens` as +# `thinking_budget` (documented maximum 262,144 for the Qwen3.7 family). +# Cost: the catalog publishes no discounted rate for this model, so the listed +# vendor rate applies. +base_model = "alibaba/qwen3.7-plus" +reasoning_options = [{ type = "toggle" }, { type = "budget_tokens", max = 262_144 }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 0.3 +output = 1.2 +cache_read = 0.03 +cache_write = 0.37 diff --git a/providers/tokensmarket/models/qwen3.7-text-embedding.toml b/providers/tokensmarket/models/qwen3.7-text-embedding.toml new file mode 100644 index 00000000000..ccf68b1b6e0 --- /dev/null +++ b/providers/tokensmarket/models/qwen3.7-text-embedding.toml @@ -0,0 +1,26 @@ +# Alibaba Cloud channel. No lab entry exists for this model, so metadata is +# authored here. The catalog reports a 128K context and user-selectable vector +# dimensions of 256-2560, so `limit.output` records the maximum dimension. +# Embedding calls are input-billed only, so output cost is 0. +name = "Qwen3.7 Text Embedding" +description = "Multilingual embedding model for retrieval, clustering, classification, and code search" +family = "qwen" +release_date = "2026-05-21" +last_updated = "2026-05-21" +attachment = false +reasoning = false +temperature = false +tool_call = false +open_weights = false + +[cost] +input = 0.0735 +output = 0.00 + +[limit] +context = 128_000 +output = 2_560 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/tokensmarket/models/qwen3.8-max.toml b/providers/tokensmarket/models/qwen3.8-max.toml new file mode 100644 index 00000000000..2f89b4a3b1e --- /dev/null +++ b/providers/tokensmarket/models/qwen3.8-max.toml @@ -0,0 +1,23 @@ +# Alibaba Cloud (DashScope) channel. Hybrid thinking: effort "none" becomes +# `enable_thinking = false`; `reasoning_effort` accepts low|medium|xhigh (high is +# an alias for xhigh); `thinking_budget` (0..262,144) cannot be combined with +# `reasoning_effort`. Token Market's catalog lists text and image input only. +base_model = "alibaba/qwen3.8-max" +structured_output = true +reasoning_options = [ + { type = "toggle" }, + { type = "effort", values = ["low", "medium", "xhigh"] }, + { type = "budget_tokens", min = 0, max = 262_144 }, +] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 1.765 +output = 5.29 +cache_read = 0.221 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/tokensmarket/models/seedance-2-0-fast.toml b/providers/tokensmarket/models/seedance-2-0-fast.toml new file mode 100644 index 00000000000..87ff73f10cf --- /dev/null +++ b/providers/tokensmarket/models/seedance-2-0-fast.toml @@ -0,0 +1,26 @@ +# BytePlus channel. Video generation billed per million output tokens on a +# resolution tier ($3.30 for the variable-length 480p/720p tiers, $5.60 for the +# fixed-length ones). The [cost] schema has no resolution dimension, so the +# variable-length rate is recorded as the representative output price. +name = "Seedance 2.0 Fast" +description = "Fast video model for prompt or reference-image driven generation" +family = "seed" +release_date = "2026-04-14" +last_updated = "2026-04-14" +attachment = true +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[cost] +input = 0 +output = 3.30 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text", "image", "video"] +output = ["video"] diff --git a/providers/tokensmarket/models/seedance-2-0-mini.toml b/providers/tokensmarket/models/seedance-2-0-mini.toml new file mode 100644 index 00000000000..a55606f9b88 --- /dev/null +++ b/providers/tokensmarket/models/seedance-2-0-mini.toml @@ -0,0 +1,26 @@ +# BytePlus channel. Video generation billed per million output tokens on a +# resolution tier ($2.10 for the variable-length 480p/720p tiers, $3.50 for the +# fixed-length ones). The [cost] schema has no resolution dimension, so the +# variable-length rate is recorded as the representative output price. +name = "Seedance 2.0 Mini" +description = "Latency-optimized video model for high-concurrency, cost-sensitive generation" +family = "seed" +release_date = "2026-04-14" +last_updated = "2026-04-14" +attachment = true +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[cost] +input = 0 +output = 2.10 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text", "image", "video"] +output = ["video"] diff --git a/providers/tokensmarket/models/seedance-2-0.toml b/providers/tokensmarket/models/seedance-2-0.toml new file mode 100644 index 00000000000..767945ab8cc --- /dev/null +++ b/providers/tokensmarket/models/seedance-2-0.toml @@ -0,0 +1,26 @@ +# BytePlus channel. Video generation billed per million output tokens on a +# resolution tier ($4.30 at 480p/720p, $4.70 at 1080p, $2.40 at 4K for the +# variable-length tiers). The [cost] schema has no resolution dimension, so the +# 1080p rate is recorded as the representative output price. +name = "Seedance 2.0" +description = "Video model for prompt-guided generation, editing, and motion workflows" +family = "seed" +release_date = "2026-04-14" +last_updated = "2026-04-14" +attachment = true +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[cost] +input = 0 +output = 4.70 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text", "image", "video"] +output = ["video"] diff --git a/providers/tokensmarket/models/seedance-2-5.toml b/providers/tokensmarket/models/seedance-2-5.toml new file mode 100644 index 00000000000..a6103033da8 --- /dev/null +++ b/providers/tokensmarket/models/seedance-2-5.toml @@ -0,0 +1,20 @@ +# BytePlus channel. Servable on GET /v1/models but not yet listed in the public +# pricing catalog, so [cost] is omitted rather than guessed. +name = "Seedance 2.5" +description = "Video model for prompt-guided generation, editing, and motion workflows" +family = "seed" +release_date = "2026-08-07" +last_updated = "2026-08-07" +attachment = false +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["video"] diff --git a/providers/tokensmarket/models/seedream-4-0.toml b/providers/tokensmarket/models/seedream-4-0.toml new file mode 100644 index 00000000000..8dd88470f7f --- /dev/null +++ b/providers/tokensmarket/models/seedream-4-0.toml @@ -0,0 +1,20 @@ +# BytePlus channel. Billed per generated image ($0.03), a unit the per-token +# [cost] schema cannot express, so [cost] is omitted rather than misstated. +name = "Seedream 4.0" +description = "Image model for prompt-driven generation, editing, and visual design workflows" +family = "seed" +release_date = "2025-09-09" +last_updated = "2025-09-09" +attachment = true +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text", "image"] +output = ["image"] diff --git a/providers/tokensmarket/models/seedream-4-5.toml b/providers/tokensmarket/models/seedream-4-5.toml new file mode 100644 index 00000000000..854a2cf31ba --- /dev/null +++ b/providers/tokensmarket/models/seedream-4-5.toml @@ -0,0 +1,20 @@ +# BytePlus channel. Billed per generated image ($0.04), a unit the per-token +# [cost] schema cannot express, so [cost] is omitted rather than misstated. +name = "Seedream 4.5" +description = "Image model for prompt-driven generation, editing, and visual design workflows" +family = "seed" +release_date = "2025-12-03" +last_updated = "2025-12-03" +attachment = true +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text", "image"] +output = ["image"] diff --git a/providers/tokensmarket/models/seedream-5-0-lite.toml b/providers/tokensmarket/models/seedream-5-0-lite.toml new file mode 100644 index 00000000000..cb542fbf17a --- /dev/null +++ b/providers/tokensmarket/models/seedream-5-0-lite.toml @@ -0,0 +1,20 @@ +# BytePlus channel. Billed per generated image ($0.033), a unit the per-token +# [cost] schema cannot express, so [cost] is omitted rather than misstated. +name = "Seedream 5.0 Lite" +description = "Image model with web retrieval for prompt-driven generation and editing" +family = "seed" +release_date = "2026-02-13" +last_updated = "2026-02-13" +attachment = true +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text", "image"] +output = ["image"] diff --git a/providers/tokensmarket/models/seedream-5.0-pro.toml b/providers/tokensmarket/models/seedream-5.0-pro.toml new file mode 100644 index 00000000000..7e67e1863d8 --- /dev/null +++ b/providers/tokensmarket/models/seedream-5.0-pro.toml @@ -0,0 +1,20 @@ +# BytePlus channel. Servable on GET /v1/models but not yet listed in the public +# pricing catalog, so [cost] is omitted rather than guessed. +name = "Seedream 5.0 Pro" +description = "Image model for prompt-driven generation, editing, and visual design workflows" +family = "seed" +release_date = "2026-07-11" +last_updated = "2026-07-11" +attachment = false +reasoning = false +temperature = true +tool_call = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/tokensmarket/provider.toml b/providers/tokensmarket/provider.toml new file mode 100644 index 00000000000..b373c9cfeb5 --- /dev/null +++ b/providers/tokensmarket/provider.toml @@ -0,0 +1,24 @@ +# Token Market is an OpenAI-compatible aggregation gateway that fronts several +# upstream vendors (Anthropic, OpenAI, Google, Alibaba/DashScope, Tencent, +# SiliconFlow, BytePlus) behind one key and one base URL. +# +# Reasoning HTTP format (verified against the gateway source 2026-08-18): +# POST /v1/chat/completions accepts the OpenAI wire field `reasoning_effort` +# with the enum none|minimal|low|medium|high|xhigh|max, plus a gateway-canonical +# `reasoning` object `{effort?, summary?, budget_tokens?}` that each channel +# adapter projects onto its upstream vendor's own field. The per-model +# `reasoning_options` below record the surface that survives that projection: +# OpenAI-channel models pass `reasoning_effort` through natively; DashScope and +# SiliconFlow channels collapse low/medium -> high and xhigh -> max and expose +# `thinking_budget`; Zhipu and DeepSeek channels toggle `thinking.type` and pass +# effort through; MiniMax channel strips effort entirely, leaving a plain toggle; +# the Anthropic channel is a raw /v1/messages passthrough. +# +# Sources: +# https://www.tokensmarket.ai/docs +# https://api.tokensmarket.ai/v1/models +name = "Token Market" +env = ["TOKENSMARKET_API_KEY"] +npm = "@ai-sdk/openai-compatible" +doc = "https://www.tokensmarket.ai/docs" +api = "https://api.tokensmarket.ai/v1" From fd3e99bf0a57fa8b459ac81cb0f862fde969bfec Mon Sep 17 00:00:00 2001 From: "bingbing.chen" Date: Tue, 18 Aug 2026 20:32:50 +0800 Subject: [PATCH 2/3] fix: address Token Market provider review feedback - logo.svg: drop fixed width/height, square the viewBox to 480x480 and center the art with translate(32 0) - remove the 15 image/video/embedding/rerank models that had no lab metadata to inherit from; they will land in a follow-up PR that adds the missing models// entries first - mimo-v2.5-pro: reduce reasoning_options to a plain toggle - claude-haiku-4-5: drop the description already inherited from the lab - kimi-k2.7-code: drop the family key already inherited from the lab - hy3: align the effort surface to none|low|high used by other relays --- providers/tokensmarket/logo.svg | 6 +++-- .../tokensmarket/models/claude-haiku-4-5.toml | 1 - .../models/happyhorse-1.0-video-edit.toml | 24 ----------------- .../models/happyhorse-1.1-i2v.toml | 24 ----------------- .../models/happyhorse-1.1-r2v.toml | 24 ----------------- .../models/happyhorse-1.1-t2v.toml | 24 ----------------- providers/tokensmarket/models/hy3.toml | 5 ++-- .../tokensmarket/models/kimi-k2.7-code.toml | 1 - .../tokensmarket/models/mimo-v2.5-pro.toml | 6 ++--- .../models/qwen3-embedding-8b.toml | 26 ------------------- .../tokensmarket/models/qwen3-rerank.toml | 25 ------------------ .../models/qwen3.7-text-embedding.toml | 26 ------------------- .../models/seedance-2-0-fast.toml | 26 ------------------- .../models/seedance-2-0-mini.toml | 26 ------------------- .../tokensmarket/models/seedance-2-0.toml | 26 ------------------- .../tokensmarket/models/seedance-2-5.toml | 20 -------------- .../tokensmarket/models/seedream-4-0.toml | 20 -------------- .../tokensmarket/models/seedream-4-5.toml | 20 -------------- .../models/seedream-5-0-lite.toml | 20 -------------- .../tokensmarket/models/seedream-5.0-pro.toml | 20 -------------- 20 files changed, 10 insertions(+), 360 deletions(-) delete mode 100644 providers/tokensmarket/models/happyhorse-1.0-video-edit.toml delete mode 100644 providers/tokensmarket/models/happyhorse-1.1-i2v.toml delete mode 100644 providers/tokensmarket/models/happyhorse-1.1-r2v.toml delete mode 100644 providers/tokensmarket/models/happyhorse-1.1-t2v.toml delete mode 100644 providers/tokensmarket/models/qwen3-embedding-8b.toml delete mode 100644 providers/tokensmarket/models/qwen3-rerank.toml delete mode 100644 providers/tokensmarket/models/qwen3.7-text-embedding.toml delete mode 100644 providers/tokensmarket/models/seedance-2-0-fast.toml delete mode 100644 providers/tokensmarket/models/seedance-2-0-mini.toml delete mode 100644 providers/tokensmarket/models/seedance-2-0.toml delete mode 100644 providers/tokensmarket/models/seedance-2-5.toml delete mode 100644 providers/tokensmarket/models/seedream-4-0.toml delete mode 100644 providers/tokensmarket/models/seedream-4-5.toml delete mode 100644 providers/tokensmarket/models/seedream-5-0-lite.toml delete mode 100644 providers/tokensmarket/models/seedream-5.0-pro.toml diff --git a/providers/tokensmarket/logo.svg b/providers/tokensmarket/logo.svg index bdea5838303..0fdb4446823 100644 --- a/providers/tokensmarket/logo.svg +++ b/providers/tokensmarket/logo.svg @@ -1,3 +1,5 @@ - - + + + + \ No newline at end of file diff --git a/providers/tokensmarket/models/claude-haiku-4-5.toml b/providers/tokensmarket/models/claude-haiku-4-5.toml index 877a7b43b78..11d0aa02cb1 100644 --- a/providers/tokensmarket/models/claude-haiku-4-5.toml +++ b/providers/tokensmarket/models/claude-haiku-4-5.toml @@ -2,7 +2,6 @@ # reasoning surface survives unchanged. Modalities follow Token Market's own # catalog, which lists text and image input only. base_model = "anthropic/claude-haiku-4-5" -description = "Fast Claude lane for lightweight agents, office tasks, and responsive chat" structured_output = true [[reasoning_options]] diff --git a/providers/tokensmarket/models/happyhorse-1.0-video-edit.toml b/providers/tokensmarket/models/happyhorse-1.0-video-edit.toml deleted file mode 100644 index 93bb123f905..00000000000 --- a/providers/tokensmarket/models/happyhorse-1.0-video-edit.toml +++ /dev/null @@ -1,24 +0,0 @@ -# Alibaba Cloud channel. HappyHorse 1.0 video editing, served on the async -# video-synthesis endpoint rather than /v1/chat/completions: POST with header -# `X-DashScope-Async: enable`, then poll the returned task id. -# Billed per video-second by resolution ($0.07282 at 720p, $0.129415 at 1080p), -# which the per-token [cost] schema cannot express, so [cost] is omitted rather -# than misstated. -# https://www.alibabacloud.com/help/en/model-studio/video-generation -name = "HappyHorse 1.0 Video Edit" -description = "Video model for editing and extending an input video from a prompt" -release_date = "2026-07-17" -last_updated = "2026-07-17" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["video", "text"] -output = ["video"] diff --git a/providers/tokensmarket/models/happyhorse-1.1-i2v.toml b/providers/tokensmarket/models/happyhorse-1.1-i2v.toml deleted file mode 100644 index 7da586adca2..00000000000 --- a/providers/tokensmarket/models/happyhorse-1.1-i2v.toml +++ /dev/null @@ -1,24 +0,0 @@ -# Alibaba Cloud channel. HappyHorse 1.1 image-to-video, served on the async -# video-synthesis endpoint rather than /v1/chat/completions: POST with header -# `X-DashScope-Async: enable`, then poll the returned task id. -# Billed per video-second by resolution ($0.03641 at 480p, $0.07282 at 720p, -# $0.097075 at 1080p), which the per-token [cost] schema cannot express, so -# [cost] is omitted rather than misstated. -# https://www.alibabacloud.com/help/en/model-studio/video-generation -name = "HappyHorse 1.1 Image-to-Video" -description = "Video model for image-to-video generation" -release_date = "2026-07-17" -last_updated = "2026-07-17" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["image"] -output = ["video"] diff --git a/providers/tokensmarket/models/happyhorse-1.1-r2v.toml b/providers/tokensmarket/models/happyhorse-1.1-r2v.toml deleted file mode 100644 index a40da642010..00000000000 --- a/providers/tokensmarket/models/happyhorse-1.1-r2v.toml +++ /dev/null @@ -1,24 +0,0 @@ -# Alibaba Cloud channel. HappyHorse 1.1 reference-to-video, served on the async -# video-synthesis endpoint rather than /v1/chat/completions: POST with header -# `X-DashScope-Async: enable`, then poll the returned task id. -# Billed per video-second by resolution ($0.03641 at 480p, $0.07282 at 720p, -# $0.097075 at 1080p), which the per-token [cost] schema cannot express, so -# [cost] is omitted rather than misstated. -# https://www.alibabacloud.com/help/en/model-studio/video-generation -name = "HappyHorse 1.1 Reference-to-Video" -description = "Video model for reference-guided video generation" -release_date = "2026-07-17" -last_updated = "2026-07-17" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["image", "text"] -output = ["video"] diff --git a/providers/tokensmarket/models/happyhorse-1.1-t2v.toml b/providers/tokensmarket/models/happyhorse-1.1-t2v.toml deleted file mode 100644 index 00e4ca2684c..00000000000 --- a/providers/tokensmarket/models/happyhorse-1.1-t2v.toml +++ /dev/null @@ -1,24 +0,0 @@ -# Alibaba Cloud channel. HappyHorse 1.1 text-to-video, served on the async -# video-synthesis endpoint rather than /v1/chat/completions: POST with header -# `X-DashScope-Async: enable`, then poll the returned task id. -# Billed per video-second by resolution ($0.03641 at 480p, $0.07282 at 720p, -# $0.097075 at 1080p), which the per-token [cost] schema cannot express, so -# [cost] is omitted rather than misstated. -# https://www.alibabacloud.com/help/en/model-studio/video-generation -name = "HappyHorse 1.1 Text-to-Video" -description = "Video model for prompt-driven text-to-video generation" -release_date = "2026-07-17" -last_updated = "2026-07-17" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["text"] -output = ["video"] diff --git a/providers/tokensmarket/models/hy3.toml b/providers/tokensmarket/models/hy3.toml index 3017cd0b03f..e2dfebfc150 100644 --- a/providers/tokensmarket/models/hy3.toml +++ b/providers/tokensmarket/models/hy3.toml @@ -1,9 +1,10 @@ # Tencent Cloud channel. The adapter is a plain OpenAI-compatible passthrough # that forwards `reasoning_effort` and does not project onto Tencent's -# `thinking.type`, so only the effort ladder (low|medium|high) is reachable. +# `thinking.type`, so only the effort ladder is reachable. Aligned to the +# none|low|high surface established relays use for Hy3. # https://cloud.tencent.com/document/product/1823/131208 base_model = "tencent/hy3" -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] +reasoning_options = [{ type = "effort", values = ["none", "low", "high"] }] [cost] input = 0.147 diff --git a/providers/tokensmarket/models/kimi-k2.7-code.toml b/providers/tokensmarket/models/kimi-k2.7-code.toml index bcc00e61729..10a6c760a59 100644 --- a/providers/tokensmarket/models/kimi-k2.7-code.toml +++ b/providers/tokensmarket/models/kimi-k2.7-code.toml @@ -2,7 +2,6 @@ # `enable_thinking = false` and forwards `reasoning.budget_tokens` as # `thinking_budget`; Model Studio documents no bounds for the budget on Kimi. base_model = "moonshotai/kimi-k2.7-code" -family = "kimi-k2" reasoning_options = [{ type = "toggle" }, { type = "budget_tokens" }] [interleaved] diff --git a/providers/tokensmarket/models/mimo-v2.5-pro.toml b/providers/tokensmarket/models/mimo-v2.5-pro.toml index 057dc0d3f36..1ed93c3815b 100644 --- a/providers/tokensmarket/models/mimo-v2.5-pro.toml +++ b/providers/tokensmarket/models/mimo-v2.5-pro.toml @@ -1,9 +1,9 @@ # Servable on GET /v1/models but not yet listed in the public pricing catalog, # so [cost] is omitted rather than guessed. -# The channel is OpenAI-compatible, which forwards `reasoning_effort` and maps -# effort "none" onto disabling thinking. +# The channel is OpenAI-compatible: thinking can be turned on or off, and no +# graded effort semantics are claimed beyond the upstream model surface. base_model = "xiaomi/mimo-v2.5-pro" -reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high"] }] +reasoning_options = [{ type = "toggle" }] [interleaved] field = "reasoning_content" diff --git a/providers/tokensmarket/models/qwen3-embedding-8b.toml b/providers/tokensmarket/models/qwen3-embedding-8b.toml deleted file mode 100644 index 84b6b4333d1..00000000000 --- a/providers/tokensmarket/models/qwen3-embedding-8b.toml +++ /dev/null @@ -1,26 +0,0 @@ -# SiliconFlow.cn channel. No lab entry exists for this model, so metadata is -# authored here. The catalog reports a 32K context and user-selectable vector -# dimensions of 32-4096, so `limit.output` records the maximum dimension. -# Embedding calls are input-billed only, so output cost is 0. -name = "Qwen3 Embedding 8B" -description = "Embedding model for semantic search, retrieval, clustering, and ranking pipelines" -family = "qwen" -release_date = "2025-06-05" -last_updated = "2025-06-05" -attachment = false -reasoning = false -temperature = false -tool_call = false -open_weights = true - -[cost] -input = 0.04 -output = 0.00 - -[limit] -context = 32_768 -output = 4_096 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/tokensmarket/models/qwen3-rerank.toml b/providers/tokensmarket/models/qwen3-rerank.toml deleted file mode 100644 index a66ff77ca9e..00000000000 --- a/providers/tokensmarket/models/qwen3-rerank.toml +++ /dev/null @@ -1,25 +0,0 @@ -# Alibaba Cloud channel. No lab entry exists for this model, so metadata is -# authored here. Reranking returns relevance scores rather than generated tokens, -# and the catalog reports a 30K context with input-only billing. -name = "Qwen3 Rerank" -description = "Reranking model for improving retrieval quality in search and recommendation systems" -family = "qwen" -release_date = "2026-05-21" -last_updated = "2026-05-21" -attachment = false -reasoning = false -temperature = false -tool_call = false -open_weights = false - -[cost] -input = 0.074 -output = 0.00 - -[limit] -context = 30_000 -output = 1 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/tokensmarket/models/qwen3.7-text-embedding.toml b/providers/tokensmarket/models/qwen3.7-text-embedding.toml deleted file mode 100644 index ccf68b1b6e0..00000000000 --- a/providers/tokensmarket/models/qwen3.7-text-embedding.toml +++ /dev/null @@ -1,26 +0,0 @@ -# Alibaba Cloud channel. No lab entry exists for this model, so metadata is -# authored here. The catalog reports a 128K context and user-selectable vector -# dimensions of 256-2560, so `limit.output` records the maximum dimension. -# Embedding calls are input-billed only, so output cost is 0. -name = "Qwen3.7 Text Embedding" -description = "Multilingual embedding model for retrieval, clustering, classification, and code search" -family = "qwen" -release_date = "2026-05-21" -last_updated = "2026-05-21" -attachment = false -reasoning = false -temperature = false -tool_call = false -open_weights = false - -[cost] -input = 0.0735 -output = 0.00 - -[limit] -context = 128_000 -output = 2_560 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/tokensmarket/models/seedance-2-0-fast.toml b/providers/tokensmarket/models/seedance-2-0-fast.toml deleted file mode 100644 index 87ff73f10cf..00000000000 --- a/providers/tokensmarket/models/seedance-2-0-fast.toml +++ /dev/null @@ -1,26 +0,0 @@ -# BytePlus channel. Video generation billed per million output tokens on a -# resolution tier ($3.30 for the variable-length 480p/720p tiers, $5.60 for the -# fixed-length ones). The [cost] schema has no resolution dimension, so the -# variable-length rate is recorded as the representative output price. -name = "Seedance 2.0 Fast" -description = "Fast video model for prompt or reference-image driven generation" -family = "seed" -release_date = "2026-04-14" -last_updated = "2026-04-14" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0 -output = 3.30 - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["text", "image", "video"] -output = ["video"] diff --git a/providers/tokensmarket/models/seedance-2-0-mini.toml b/providers/tokensmarket/models/seedance-2-0-mini.toml deleted file mode 100644 index a55606f9b88..00000000000 --- a/providers/tokensmarket/models/seedance-2-0-mini.toml +++ /dev/null @@ -1,26 +0,0 @@ -# BytePlus channel. Video generation billed per million output tokens on a -# resolution tier ($2.10 for the variable-length 480p/720p tiers, $3.50 for the -# fixed-length ones). The [cost] schema has no resolution dimension, so the -# variable-length rate is recorded as the representative output price. -name = "Seedance 2.0 Mini" -description = "Latency-optimized video model for high-concurrency, cost-sensitive generation" -family = "seed" -release_date = "2026-04-14" -last_updated = "2026-04-14" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0 -output = 2.10 - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["text", "image", "video"] -output = ["video"] diff --git a/providers/tokensmarket/models/seedance-2-0.toml b/providers/tokensmarket/models/seedance-2-0.toml deleted file mode 100644 index 767945ab8cc..00000000000 --- a/providers/tokensmarket/models/seedance-2-0.toml +++ /dev/null @@ -1,26 +0,0 @@ -# BytePlus channel. Video generation billed per million output tokens on a -# resolution tier ($4.30 at 480p/720p, $4.70 at 1080p, $2.40 at 4K for the -# variable-length tiers). The [cost] schema has no resolution dimension, so the -# 1080p rate is recorded as the representative output price. -name = "Seedance 2.0" -description = "Video model for prompt-guided generation, editing, and motion workflows" -family = "seed" -release_date = "2026-04-14" -last_updated = "2026-04-14" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0 -output = 4.70 - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["text", "image", "video"] -output = ["video"] diff --git a/providers/tokensmarket/models/seedance-2-5.toml b/providers/tokensmarket/models/seedance-2-5.toml deleted file mode 100644 index a6103033da8..00000000000 --- a/providers/tokensmarket/models/seedance-2-5.toml +++ /dev/null @@ -1,20 +0,0 @@ -# BytePlus channel. Servable on GET /v1/models but not yet listed in the public -# pricing catalog, so [cost] is omitted rather than guessed. -name = "Seedance 2.5" -description = "Video model for prompt-guided generation, editing, and motion workflows" -family = "seed" -release_date = "2026-08-07" -last_updated = "2026-08-07" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["text"] -output = ["video"] diff --git a/providers/tokensmarket/models/seedream-4-0.toml b/providers/tokensmarket/models/seedream-4-0.toml deleted file mode 100644 index 8dd88470f7f..00000000000 --- a/providers/tokensmarket/models/seedream-4-0.toml +++ /dev/null @@ -1,20 +0,0 @@ -# BytePlus channel. Billed per generated image ($0.03), a unit the per-token -# [cost] schema cannot express, so [cost] is omitted rather than misstated. -name = "Seedream 4.0" -description = "Image model for prompt-driven generation, editing, and visual design workflows" -family = "seed" -release_date = "2025-09-09" -last_updated = "2025-09-09" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["text", "image"] -output = ["image"] diff --git a/providers/tokensmarket/models/seedream-4-5.toml b/providers/tokensmarket/models/seedream-4-5.toml deleted file mode 100644 index 854a2cf31ba..00000000000 --- a/providers/tokensmarket/models/seedream-4-5.toml +++ /dev/null @@ -1,20 +0,0 @@ -# BytePlus channel. Billed per generated image ($0.04), a unit the per-token -# [cost] schema cannot express, so [cost] is omitted rather than misstated. -name = "Seedream 4.5" -description = "Image model for prompt-driven generation, editing, and visual design workflows" -family = "seed" -release_date = "2025-12-03" -last_updated = "2025-12-03" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["text", "image"] -output = ["image"] diff --git a/providers/tokensmarket/models/seedream-5-0-lite.toml b/providers/tokensmarket/models/seedream-5-0-lite.toml deleted file mode 100644 index cb542fbf17a..00000000000 --- a/providers/tokensmarket/models/seedream-5-0-lite.toml +++ /dev/null @@ -1,20 +0,0 @@ -# BytePlus channel. Billed per generated image ($0.033), a unit the per-token -# [cost] schema cannot express, so [cost] is omitted rather than misstated. -name = "Seedream 5.0 Lite" -description = "Image model with web retrieval for prompt-driven generation and editing" -family = "seed" -release_date = "2026-02-13" -last_updated = "2026-02-13" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["text", "image"] -output = ["image"] diff --git a/providers/tokensmarket/models/seedream-5.0-pro.toml b/providers/tokensmarket/models/seedream-5.0-pro.toml deleted file mode 100644 index 7e67e1863d8..00000000000 --- a/providers/tokensmarket/models/seedream-5.0-pro.toml +++ /dev/null @@ -1,20 +0,0 @@ -# BytePlus channel. Servable on GET /v1/models but not yet listed in the public -# pricing catalog, so [cost] is omitted rather than guessed. -name = "Seedream 5.0 Pro" -description = "Image model for prompt-driven generation, editing, and visual design workflows" -family = "seed" -release_date = "2026-07-11" -last_updated = "2026-07-11" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[limit] -context = 0 -output = 0 - -[modalities] -input = ["text"] -output = ["image"] From f878bae3c7b1a778f4654a4844511419f9a7fb23 Mon Sep 17 00:00:00 2001 From: "bingbing.chen" Date: Tue, 18 Aug 2026 21:05:32 +0800 Subject: [PATCH 3/3] fix: address second round of Token Market review feedback - logo.svg: set fill=currentColor on the root in addition to the path, so the review heuristic picks it up - deepseek-v4-flash, deepseek-v4-pro, kimi-k3: DashScope collapses low/medium into high and xhigh into max, so only high|max are distinctly reachable; correct the effort ladder and wire comments - longcat-2.0: drop budget_tokens, first-party LongCat only documents an enabled/disabled toggle; the 128-32,768 budget is a channel-wide SiliconFlow dialect field with no LongCat-specific evidence - claude-sonnet-5: document the toggle wire (thinking.type = adaptive|disabled, no manual budget_tokens on this model) - mimo-v2.5-pro: drop the unbacked toggle, the generic OpenAI-compatible adapter only forwards reasoning_effort verbatim with no dedicated toggle field - kimi-k2.7-code: keep toggle+budget_tokens, cite the DashScope peer provider declaring the identical surface for this model ID --- providers/tokensmarket/logo.svg | 2 +- providers/tokensmarket/models/claude-sonnet-5.toml | 3 +++ providers/tokensmarket/models/deepseek-v4-flash.toml | 11 ++++++----- providers/tokensmarket/models/deepseek-v4-pro.toml | 9 +++++---- providers/tokensmarket/models/kimi-k2.7-code.toml | 4 ++++ providers/tokensmarket/models/kimi-k3.toml | 9 +++++---- providers/tokensmarket/models/longcat-2.0.toml | 10 ++++++---- providers/tokensmarket/models/mimo-v2.5-pro.toml | 8 +++++--- 8 files changed, 35 insertions(+), 21 deletions(-) diff --git a/providers/tokensmarket/logo.svg b/providers/tokensmarket/logo.svg index 0fdb4446823..e5b1a653af5 100644 --- a/providers/tokensmarket/logo.svg +++ b/providers/tokensmarket/logo.svg @@ -1,4 +1,4 @@ - + diff --git a/providers/tokensmarket/models/claude-sonnet-5.toml b/providers/tokensmarket/models/claude-sonnet-5.toml index 0f8d3649e5b..f66b5a0746e 100644 --- a/providers/tokensmarket/models/claude-sonnet-5.toml +++ b/providers/tokensmarket/models/claude-sonnet-5.toml @@ -1,6 +1,9 @@ # Claude Hub channel: raw passthrough to Anthropic /v1/messages, so the upstream # reasoning surface survives unchanged. Modalities follow Token Market's own # catalog, which lists text and image input only. +# Toggle: `thinking.type = "adaptive"` (on, budget managed by Anthropic) | +# `thinking.type = "disabled"`. claude-sonnet-5 rejects manually-set extended +# thinking and sampling controls, so no budget_tokens option is listed. base_model = "anthropic/claude-sonnet-5" structured_output = true diff --git a/providers/tokensmarket/models/deepseek-v4-flash.toml b/providers/tokensmarket/models/deepseek-v4-flash.toml index bf3c72d8a2f..e40fa6afb66 100644 --- a/providers/tokensmarket/models/deepseek-v4-flash.toml +++ b/providers/tokensmarket/models/deepseek-v4-flash.toml @@ -1,7 +1,8 @@ -# Alibaba Cloud (DashScope) channel. The adapter turns effort "none" into -# `enable_thinking = false` and otherwise forwards `reasoning_effort`, so the -# upstream DeepSeek toggle plus effort ladder is reachable. `thinking_budget` is -# projected for the Qwen family only, so no budget_tokens option here. +# Alibaba Cloud (DashScope) channel. +# Toggle: `enable_thinking = false` (effort "none") | `enable_thinking = true`. +# Effort: `reasoning_effort = high | max`; low/medium collapse to high and xhigh +# collapses to max on this channel, so only two levels are distinctly reachable. +# `thinking_budget` is projected for the Qwen family only, so no budget_tokens here. base_model = "deepseek/deepseek-v4-flash" [[reasoning_options]] @@ -9,7 +10,7 @@ type = "toggle" [[reasoning_options]] type = "effort" -values = ["low", "high", "max"] +values = ["high", "max"] [interleaved] field = "reasoning_content" diff --git a/providers/tokensmarket/models/deepseek-v4-pro.toml b/providers/tokensmarket/models/deepseek-v4-pro.toml index 2afbf489110..2163135176d 100644 --- a/providers/tokensmarket/models/deepseek-v4-pro.toml +++ b/providers/tokensmarket/models/deepseek-v4-pro.toml @@ -1,7 +1,8 @@ -# Alibaba Cloud (DashScope) channel. The adapter turns effort "none" into -# `enable_thinking = false` and otherwise forwards `reasoning_effort`, so the -# upstream DeepSeek toggle plus effort ladder is reachable. `thinking_budget` is -# projected for the Qwen family only, so no budget_tokens option here. +# Alibaba Cloud (DashScope) channel. +# Toggle: `enable_thinking = false` (effort "none") | `enable_thinking = true`. +# Effort: `reasoning_effort = high | max`; low/medium collapse to high and xhigh +# collapses to max on this channel, so only two levels are distinctly reachable. +# `thinking_budget` is projected for the Qwen family only, so no budget_tokens here. base_model = "deepseek/deepseek-v4-pro" [[reasoning_options]] diff --git a/providers/tokensmarket/models/kimi-k2.7-code.toml b/providers/tokensmarket/models/kimi-k2.7-code.toml index 10a6c760a59..c6a5c0153e4 100644 --- a/providers/tokensmarket/models/kimi-k2.7-code.toml +++ b/providers/tokensmarket/models/kimi-k2.7-code.toml @@ -1,6 +1,10 @@ # Alibaba Cloud (DashScope) channel. The adapter maps effort "none" to # `enable_thinking = false` and forwards `reasoning.budget_tokens` as # `thinking_budget`; Model Studio documents no bounds for the budget on Kimi. +# Matches the declared surface of the DashScope peer providers on this same +# model ID (e.g. alibaba-token-plan/kimi-k2.7-code.toml), which cite +# https://www.alibabacloud.com/help/en/model-studio/kimi-api and +# https://www.alibabacloud.com/help/en/model-studio/deep-thinking for both fields. base_model = "moonshotai/kimi-k2.7-code" reasoning_options = [{ type = "toggle" }, { type = "budget_tokens" }] diff --git a/providers/tokensmarket/models/kimi-k3.toml b/providers/tokensmarket/models/kimi-k3.toml index edacb79bad2..5c04c69b2ad 100644 --- a/providers/tokensmarket/models/kimi-k3.toml +++ b/providers/tokensmarket/models/kimi-k3.toml @@ -1,6 +1,7 @@ -# Alibaba Cloud (DashScope) channel. The adapter maps effort "none" to -# `enable_thinking = false` and otherwise forwards `reasoning_effort`, so Kimi -# K3's toggle plus low/high/max effort ladder is reachable. +# Alibaba Cloud (DashScope) channel. +# Toggle: `enable_thinking = false` (effort "none") | `enable_thinking = true`. +# Effort: `reasoning_effort = high | max`; low/medium collapse to high and xhigh +# collapses to max on this channel, so only two levels are distinctly reachable. base_model = "moonshotai/kimi-k3" [[reasoning_options]] @@ -8,7 +9,7 @@ type = "toggle" [[reasoning_options]] type = "effort" -values = ["low", "high", "max"] +values = ["high", "max"] [interleaved] field = "reasoning_content" diff --git a/providers/tokensmarket/models/longcat-2.0.toml b/providers/tokensmarket/models/longcat-2.0.toml index b59818a40f9..d574eb5e02e 100644 --- a/providers/tokensmarket/models/longcat-2.0.toml +++ b/providers/tokensmarket/models/longcat-2.0.toml @@ -1,9 +1,11 @@ # SiliconFlow.cn channel. The adapter maps effort "none" to -# `enable_thinking = false` and forwards `reasoning.budget_tokens` as -# `thinking_budget` (range 128-32,768). Upstream LongCat-2.0 exposes only an -# enabled/disabled thinking switch, so no effort ladder is listed. +# `enable_thinking = false` and otherwise `enable_thinking = true`. First-party +# LongCat-2.0 documents only `{"thinking": {"type": "enabled"|"disabled"}}` — no +# reasoning budget for this model. `thinking_budget` (128-32,768) is a channel-wide +# dialect field the adapter also supports, but no LongCat-specific evidence backs +# it, so it's left out here. base_model = "meituan/longcat-2.0" -reasoning_options = [{ type = "toggle" }, { type = "budget_tokens", min = 128, max = 32_768 }] +reasoning_options = [{ type = "toggle" }] [interleaved] field = "reasoning_content" diff --git a/providers/tokensmarket/models/mimo-v2.5-pro.toml b/providers/tokensmarket/models/mimo-v2.5-pro.toml index 1ed93c3815b..90cb6d207a3 100644 --- a/providers/tokensmarket/models/mimo-v2.5-pro.toml +++ b/providers/tokensmarket/models/mimo-v2.5-pro.toml @@ -1,9 +1,11 @@ # Servable on GET /v1/models but not yet listed in the public pricing catalog, # so [cost] is omitted rather than guessed. -# The channel is OpenAI-compatible: thinking can be turned on or off, and no -# graded effort semantics are claimed beyond the upstream model surface. +# The channel is generic OpenAI-compatible: the adapter only forwards whatever +# `reasoning_effort` the client sends and removes `reasoning`. It projects no +# dedicated toggle field, and no upstream MiMo docs are available to confirm an +# effort ladder, so no reasoning_options are declared. base_model = "xiaomi/mimo-v2.5-pro" -reasoning_options = [{ type = "toggle" }] +reasoning_options = [] [interleaved] field = "reasoning_content"