feat(providers): add BytePlus ModelArk (international) + coding endpoint (#78)
Adds two providers for BytePlus ModelArk, the international edition of
Volcano Engine, distinct from the existing cn-only `volcengine` provider:
- `byteplus`: standard `/api/v3` endpoint, 21 models total
- Text (10): Seed 2.0 Pro/Mini/Lite/Code, Seed 1.8, Seed Translation,
GLM-4.7, DeepSeek V3.2/V3.1, GPT-OSS-120B
- Image (4): Seedream 3.0/4.0/4.5/5.0-lite (per-piece pricing in comments)
- Video (7): Seedance 1.0/1.5 family + Dreamina Seedance 2.0/fast
- `byteplus_coding`: `/api/coding` Anthropic-compatible endpoint with
9 friendly aliases (ark-code-latest auto-router, bytedance-seed-code,
dola-seed-2.0-{pro,code,lite}, kimi-k2.5, glm-4.7, glm-5.1, gpt-oss-120b).
Both use BYTEPLUS_API_KEY env var. All listed model IDs were verified
to return HTTP 200 against the live ap-southeast endpoint. Pricing is the
standard real-time tier from the BytePlus console (a discounted batch tier
exists at roughly half the rate, not modeled here).
Excluded for follow-up (schema doesn't currently support these modalities):
- Skylark embedding-vision (no `embedding` modality in schema)
- Hyper3D-Gen2, Hitem3D-2.0 (no `3d` modality in schema)
This commit is contained in:
2 files changed
+421
No files matched your search
@@ -0,0 +1,123 @@
|
||||
# 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)
|
||||
#
|
||||
# Pricing matches the underlying versioned snapshots in byteplus.toml. 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_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 = []
|
||||
@@ -0,0 +1,298 @@
|
||||
# BytePlus ModelArk — https://www.byteplus.com/en/product/ModelArk
|
||||
# International edition of Volcano Engine (VolcEngine).
|
||||
# Models: 21 (10 text + 4 image + 7 video)
|
||||
# For Anthropic-compatible coding endpoint, see byteplus-coding.toml.
|
||||
#
|
||||
# Pricing: standard real-time tier (BytePlus offers a discounted batch tier
|
||||
# at roughly half this rate; image/video models are billed per-call or
|
||||
# per-token under their own units, see comments above each model).
|
||||
|
||||
[provider]
|
||||
id = "byteplus"
|
||||
display_name = "BytePlus ModelArk"
|
||||
api_key_env = "BYTEPLUS_API_KEY"
|
||||
base_url = "https://ark.ap-southeast.bytepluses.com/api/v3"
|
||||
key_required = true
|
||||
media_capabilities = ["image_generation", "video_generation"]
|
||||
|
||||
# ── Text models ────────────────────────────────────────────────────────
|
||||
|
||||
[[models]]
|
||||
id = "seed-2-0-pro-260328"
|
||||
display_name = "Seed 2.0 Pro"
|
||||
tier = "frontier"
|
||||
context_window = 262144
|
||||
max_output_tokens = 16384
|
||||
input_cost_per_m = 1.00
|
||||
output_cost_per_m = 6.00
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["seed-pro", "seed-2-pro"]
|
||||
|
||||
[[models]]
|
||||
id = "seed-2-0-mini-260215"
|
||||
display_name = "Seed 2.0 Mini"
|
||||
tier = "fast"
|
||||
context_window = 262144
|
||||
max_output_tokens = 16384
|
||||
input_cost_per_m = 0.20
|
||||
output_cost_per_m = 0.80
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
aliases = ["seed-mini", "seed-2-mini"]
|
||||
|
||||
[[models]]
|
||||
id = "seed-2-0-lite-260228"
|
||||
display_name = "Seed 2.0 Lite"
|
||||
tier = "smart"
|
||||
context_window = 262144
|
||||
max_output_tokens = 16384
|
||||
input_cost_per_m = 0.50
|
||||
output_cost_per_m = 4.00
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
aliases = ["seed-lite", "seed-2-lite"]
|
||||
|
||||
[[models]]
|
||||
id = "seed-2-0-code-preview-260328"
|
||||
display_name = "Seed 2.0 Code (preview)"
|
||||
tier = "smart"
|
||||
context_window = 262144
|
||||
max_output_tokens = 16384
|
||||
input_cost_per_m = 1.00
|
||||
output_cost_per_m = 6.00
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
aliases = ["seed-code", "seed-2-code"]
|
||||
|
||||
[[models]]
|
||||
id = "seed-1-8-251228"
|
||||
display_name = "Seed 1.8"
|
||||
tier = "smart"
|
||||
context_window = 262144
|
||||
max_output_tokens = 16384
|
||||
input_cost_per_m = 0.50
|
||||
output_cost_per_m = 4.00
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
id = "seed-translation-250915"
|
||||
display_name = "Seed Translation"
|
||||
tier = "fast"
|
||||
context_window = 4096
|
||||
max_output_tokens = 4096
|
||||
input_cost_per_m = 0.20
|
||||
output_cost_per_m = 0.80
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
id = "glm-4-7-251222"
|
||||
display_name = "GLM-4.7"
|
||||
tier = "smart"
|
||||
context_window = 204800
|
||||
max_output_tokens = 16384
|
||||
input_cost_per_m = 0.60
|
||||
output_cost_per_m = 2.20
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
aliases = ["glm-4.7"]
|
||||
|
||||
[[models]]
|
||||
id = "deepseek-v3-2-251201"
|
||||
display_name = "DeepSeek V3.2"
|
||||
tier = "smart"
|
||||
context_window = 131072
|
||||
max_output_tokens = 8192
|
||||
input_cost_per_m = 0.56
|
||||
output_cost_per_m = 0.84
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
aliases = ["deepseek-v3.2"]
|
||||
|
||||
[[models]]
|
||||
id = "deepseek-v3-1-250821"
|
||||
display_name = "DeepSeek V3.1"
|
||||
tier = "smart"
|
||||
context_window = 131072
|
||||
max_output_tokens = 8192
|
||||
input_cost_per_m = 0.56
|
||||
output_cost_per_m = 1.68
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
aliases = ["deepseek-v3.1"]
|
||||
|
||||
[[models]]
|
||||
id = "gpt-oss-120b-250805"
|
||||
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_vision = false
|
||||
supports_streaming = true
|
||||
aliases = ["gpt-oss-120b"]
|
||||
|
||||
# ── Image generation models ────────────────────────────────────────────
|
||||
# Billed per-piece (not per-token). Real prices in comment above each entry.
|
||||
|
||||
# $0.0300 per image
|
||||
[[models]]
|
||||
id = "seedream-3-0-t2i-250415"
|
||||
display_name = "Seedream 3.0 (text-to-image)"
|
||||
tier = "smart"
|
||||
modality = "image"
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = false
|
||||
aliases = ["seedream-3.0"]
|
||||
|
||||
# $0.0300 per image
|
||||
[[models]]
|
||||
id = "seedream-4-0-250828"
|
||||
display_name = "Seedream 4.0"
|
||||
tier = "smart"
|
||||
modality = "image"
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = false
|
||||
aliases = ["seedream-4.0"]
|
||||
|
||||
# $0.0400 per image
|
||||
[[models]]
|
||||
id = "seedream-4-5-251128"
|
||||
display_name = "Seedream 4.5"
|
||||
tier = "frontier"
|
||||
modality = "image"
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = false
|
||||
aliases = ["seedream-4.5"]
|
||||
|
||||
# $0.0350 per image (Dola-Seedream-5.0-lite)
|
||||
[[models]]
|
||||
id = "seedream-5-0-260128"
|
||||
display_name = "Seedream 5.0 Lite"
|
||||
tier = "frontier"
|
||||
modality = "image"
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = false
|
||||
aliases = ["seedream-5.0-lite", "seedream-5.0"]
|
||||
|
||||
# ── Video generation models ────────────────────────────────────────────
|
||||
# Billed per-K tokens (encoded video duration). Real per-K rates in comment.
|
||||
|
||||
# $0.0018/K (text-to-video, with-cache rate $0.0009/K)
|
||||
[[models]]
|
||||
id = "seedance-1-0-lite-t2v-250428"
|
||||
display_name = "Seedance 1.0 Lite (text-to-video)"
|
||||
tier = "fast"
|
||||
modality = "video"
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = false
|
||||
aliases = ["seedance-1.0-lite-t2v"]
|
||||
|
||||
# $0.0018/K (image-to-video, with-cache rate $0.0009/K)
|
||||
[[models]]
|
||||
id = "seedance-1-0-lite-i2v-250428"
|
||||
display_name = "Seedance 1.0 Lite (image-to-video)"
|
||||
tier = "fast"
|
||||
modality = "video"
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = true
|
||||
supports_streaming = false
|
||||
aliases = ["seedance-1.0-lite-i2v"]
|
||||
|
||||
# $0.0025/K (image-to-video / text-to-video)
|
||||
[[models]]
|
||||
id = "seedance-1-0-pro-250528"
|
||||
display_name = "Seedance 1.0 Pro"
|
||||
tier = "smart"
|
||||
modality = "video"
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = true
|
||||
supports_streaming = false
|
||||
aliases = ["seedance-1.0-pro"]
|
||||
|
||||
# $0.0010/K (image-to-video / text-to-video, with-cache rate $0.0005/K)
|
||||
[[models]]
|
||||
id = "seedance-1-0-pro-fast-251015"
|
||||
display_name = "Seedance 1.0 Pro Fast"
|
||||
tier = "fast"
|
||||
modality = "video"
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = true
|
||||
supports_streaming = false
|
||||
aliases = ["seedance-1.0-pro-fast"]
|
||||
|
||||
# $0.0024/K (with audio) / $0.0012/K (without audio); with-cache half the rate
|
||||
[[models]]
|
||||
id = "seedance-1-5-pro-251215"
|
||||
display_name = "Seedance 1.5 Pro"
|
||||
tier = "frontier"
|
||||
modality = "video"
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = true
|
||||
supports_streaming = false
|
||||
aliases = ["seedance-1.5-pro"]
|
||||
|
||||
# $0.0070-$0.0077/K (input without video) / $0.0043-$0.0047/K (input with video)
|
||||
[[models]]
|
||||
id = "dreamina-seedance-2-0-260128"
|
||||
display_name = "Dreamina Seedance 2.0"
|
||||
tier = "frontier"
|
||||
modality = "video"
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = true
|
||||
supports_streaming = false
|
||||
aliases = ["dreamina-seedance-2.0"]
|
||||
|
||||
# $0.0056/K (input without video) / $0.0033/K (input with video)
|
||||
[[models]]
|
||||
id = "dreamina-seedance-2-0-fast-260128"
|
||||
display_name = "Dreamina Seedance 2.0 Fast"
|
||||
tier = "fast"
|
||||
modality = "video"
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = true
|
||||
supports_streaming = false
|
||||
aliases = ["dreamina-seedance-2.0-fast"]
|
||||
Reference in new issue
Block a user