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:
Evan authored and GitHub committed 2026-04-27 10:52:57 +09:00
1 parent 82d5a6ecd5
commit 62bdd04901
2 files changed
+421

No files matched your search

+123
View File
@@ -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 = []
+298
View File
@@ -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"]