BytePlus ModelArk
ByteDance's Dola Seed models, international. Bring your own key; nothing is billed by us.
What the harness already knows
| Provider id | byteplus |
| Base URL | https://ark.ap-southeast.bytepluses.com/api/v3 |
| Protocol | OpenAI-compatible chat completions |
| API key | BYTEPLUS_API_KEY |
| Model discovery | Yes — the model list is asked of the endpoint rather than shipped. |
Connecting it
The endpoint above is built in, so there is nothing to configure. Put the key in the environment and the provider appears in the model picker:
export BYTEPLUS_API_KEY="..."Keys are issued by BytePlus ModelArk — where to get one.
Worth knowing
BytePlus is ByteDance's international cloud; ModelArk serves the Dola Seed models (Doubao Seed on the mainland) at the pay-as-you-go endpoint. Its own key variable: a Volcengine Ark (mainland) key does not work here, and the Coding Plan's /api/coding/v3 host is a different product. Not in models.dev, whose volcengine entry is the mainland host with doubao- ids, so it is not linked; models come from discovery, with the 2.0 family seeded from ids confirmed in use. Seed 2.1 Pro is mainland-only as of September 2026 — BytePlus lists 2.1 Turbo, 2.0 Pro, Lite and Mini — and appears here through discovery when BytePlus ships it.
Pointing it somewhere else
A regional host, a gateway, or a server of your own. Overrides in ~/.oharness/config.json are field level, so changing the endpoint does not mean restating the rest of the provider — this is the whole block, shown holding the default so the shape is clear:
{
"providers": {
"byteplus": {
"baseUrl": "https://ark.ap-southeast.bytepluses.com/api/v3"
}
}
}What you get either way
The same agent loop, the same tools, the same MCP servers and the same permission rules, whichever provider is underneath — and switching between them mid-session converts nothing, because history is never stored in a vendor’s shape. What an agent harness is covers why that is the hard part, and the providers reference covers the catalogue itself.