Each `_coding` provider entry previously declared the same `api_key_env` as its standard counterpart, causing one credential to silently activate two providers. Users who only signed up for the per-token API endpoint saw the Coding Plan endpoint's models mixed into their model picker without intent. Rename so each pair uses an independent env var: byteplus-coding BYTEPLUS_API_KEY -> BYTEPLUS_CODING_API_KEY volcengine-coding VOLCENGINE_API_KEY -> VOLCENGINE_CODING_API_KEY zai-coding ZHIPU_API_KEY -> ZAI_CODING_API_KEY zhipu-coding ZHIPU_API_KEY -> ZHIPU_CODING_API_KEY This is a breaking change: existing users must set the new env vars. The librefang daemon will be updated separately to recognize the old env vars as a deprecated fallback during a migration window. See librefang/librefang#3278 for the design discussion and rollout plan. Out of scope (different problem class, tracked in the same issue): - zai/zhipu cross-region key sharing (both still share ZHIPU_API_KEY) - github-copilot/microsoft cross-product GITHUB_TOKEN reuse Refs librefang/librefang#3278
135 lines
3.4 KiB
TOML
135 lines
3.4 KiB
TOML
# BytePlus ModelArk — Coding Plan (Anthropic-compatible) — https://www.byteplus.com/en/product/ModelArk
|
|
# International edition's Claude Code-compatible endpoint with friendly model aliases.
|
|
# Models: 9 (auto-routed alias + 8 named models)
|
|
#
|
|
# 💡 BILLING — calls here count against your **Coding Plan
|
|
# subscription quota**, not your per-token ModelArk USD balance. If you
|
|
# don't have a Coding Plan or want per-token billing instead, use the
|
|
# `byteplus` provider in byteplus.toml. The Coding Plan endpoint also
|
|
# does not expose image / video / embedding models — only the text
|
|
# models listed below.
|
|
#
|
|
# Pricing fields below mirror the underlying versioned snapshots in
|
|
# byteplus.toml for catalog accounting purposes; actual subscription
|
|
# consumption is tracked by the BytePlus console, not these numbers.
|
|
#
|
|
# The Coding Plan endpoint exposes friendly stable names that route to
|
|
# the current production snapshot, so versions advance silently without
|
|
# config changes (use `ark-code-latest` to always get the best current
|
|
# routing).
|
|
|
|
[provider]
|
|
id = "byteplus_coding"
|
|
display_name = "BytePlus ModelArk Coding Plan"
|
|
api_key_env = "BYTEPLUS_CODING_API_KEY"
|
|
base_url = "https://ark.ap-southeast.bytepluses.com/api/coding"
|
|
key_required = true
|
|
|
|
[[models]]
|
|
id = "ark-code-latest"
|
|
display_name = "Ark Code (auto-routed)"
|
|
tier = "frontier"
|
|
context_window = 196608
|
|
max_output_tokens = 8192
|
|
input_cost_per_m = 1.00
|
|
output_cost_per_m = 6.00
|
|
supports_tools = true
|
|
supports_streaming = true
|
|
aliases = ["ark-coding"]
|
|
|
|
[[models]]
|
|
id = "bytedance-seed-code"
|
|
display_name = "ByteDance Seed Code"
|
|
tier = "frontier"
|
|
context_window = 196608
|
|
max_output_tokens = 8192
|
|
input_cost_per_m = 1.00
|
|
output_cost_per_m = 6.00
|
|
supports_tools = true
|
|
supports_streaming = true
|
|
aliases = []
|
|
|
|
[[models]]
|
|
id = "dola-seed-2.0-pro"
|
|
display_name = "Dola Seed 2.0 Pro"
|
|
tier = "frontier"
|
|
context_window = 196608
|
|
max_output_tokens = 8192
|
|
input_cost_per_m = 1.00
|
|
output_cost_per_m = 6.00
|
|
supports_tools = true
|
|
supports_streaming = true
|
|
aliases = []
|
|
|
|
[[models]]
|
|
id = "dola-seed-2.0-code"
|
|
display_name = "Dola Seed 2.0 Code"
|
|
tier = "smart"
|
|
context_window = 196608
|
|
max_output_tokens = 8192
|
|
input_cost_per_m = 1.00
|
|
output_cost_per_m = 6.00
|
|
supports_tools = true
|
|
supports_streaming = true
|
|
aliases = []
|
|
|
|
[[models]]
|
|
id = "dola-seed-2.0-lite"
|
|
display_name = "Dola Seed 2.0 Lite"
|
|
tier = "smart"
|
|
context_window = 196608
|
|
max_output_tokens = 8192
|
|
input_cost_per_m = 0.50
|
|
output_cost_per_m = 4.00
|
|
supports_tools = true
|
|
supports_streaming = true
|
|
aliases = []
|
|
|
|
[[models]]
|
|
id = "kimi-k2.5"
|
|
display_name = "Kimi K2.5"
|
|
tier = "frontier"
|
|
context_window = 196608
|
|
max_output_tokens = 8192
|
|
input_cost_per_m = 0.60
|
|
output_cost_per_m = 2.50
|
|
supports_tools = true
|
|
supports_streaming = true
|
|
aliases = []
|
|
|
|
[[models]]
|
|
id = "glm-4.7"
|
|
display_name = "GLM-4.7"
|
|
tier = "smart"
|
|
context_window = 196608
|
|
max_output_tokens = 8192
|
|
input_cost_per_m = 0.60
|
|
output_cost_per_m = 2.20
|
|
supports_tools = true
|
|
supports_streaming = true
|
|
aliases = []
|
|
|
|
[[models]]
|
|
id = "glm-5.1"
|
|
display_name = "GLM-5.1"
|
|
tier = "frontier"
|
|
context_window = 196608
|
|
max_output_tokens = 8192
|
|
input_cost_per_m = 0.80
|
|
output_cost_per_m = 3.00
|
|
supports_tools = true
|
|
supports_streaming = true
|
|
aliases = []
|
|
|
|
[[models]]
|
|
id = "gpt-oss-120b"
|
|
display_name = "GPT-OSS 120B"
|
|
tier = "smart"
|
|
context_window = 131072
|
|
max_output_tokens = 8192
|
|
input_cost_per_m = 0.10
|
|
output_cost_per_m = 0.50
|
|
supports_tools = true
|
|
supports_streaming = true
|
|
aliases = []
|