| Detail | Value |
|---|---|
| Providers | volcengine (general + TTS), volcengine-plan (coding) |
| Model auth | VOLCANO_ENGINE_API_KEY |
| TTS auth | VOLCENGINE_TTS_API_KEY or BYTEPLUS_SEED_SPEECH_API_KEY |
| API | OpenAI-compatible models, BytePlus Seed Speech TTS |
Getting started
Set the API key
Run interactive onboarding:This registers both the general (
volcengine) and coding (volcengine-plan) providers from a single API key.Providers and endpoints
| Provider | Endpoint | Use case |
|---|---|---|
volcengine | ark.cn-beijing.volces.com/api/v3 | General models |
volcengine-plan | ark.cn-beijing.volces.com/api/coding/v3 | Coding models |
Both providers are configured from a single API key. Setup registers both automatically, and the coding provider’s model picker also reuses the general provider’s auth (
volcengine-plan is an auth alias of volcengine).Built-in catalog
- General (volcengine)
- Coding (volcengine-plan)
| Model ref | Name | Input | Context |
|---|---|---|---|
volcengine/deepseek-v3-2-251201 | DeepSeek V3.2 | text, image | 128,000 |
volcengine/doubao-seed-1-8-251228 | Doubao Seed 1.8 | text, image | 256,000 |
volcengine/doubao-seed-code-preview-251028 | doubao-seed-code-preview-251028 | text, image | 256,000 |
volcengine/glm-4-7-251222 | GLM 4.7 | text, image | 200,000 |
volcengine/kimi-k2-5-260127 | Kimi K2.5 | text, image | 256,000 |
/models discovery call) and support OpenAI-compatible streamed usage accounting. Tool schemas for both providers automatically drop minLength, maxLength, minItems, maxItems, minContains, and maxContains keywords, since the Volcengine tool-call API rejects them.
Text-to-speech
Volcengine TTS uses the BytePlus Seed Speech HTTP API (voice.ap-southeast-1.bytepluses.com) and is configured separately from the OpenAI-compatible Doubao model API key. In the BytePlus console, open Seed Speech > Settings > API Keys, copy the API key, then set:
openclaw.json:
messages.tts.providers.volcengine: apiKey, voice, speedRatio (0.2-3.0), emotion, cluster, resourceId, appKey, and baseUrl. !emotion=<value> also works as an inline voice directive when voice-setting overrides are allowed.
For voice-note targets, OpenClaw requests provider-native ogg_opus. For normal audio attachments, it requests mp3. Provider aliases bytedance and doubao also resolve to this speech provider.
The default resource id is seed-tts-1.0, the entitlement BytePlus grants to newly created Seed Speech API keys by default. If your project has TTS 2.0 entitlement, set VOLCENGINE_TTS_RESOURCE_ID=seed-tts-2.0.
Legacy AppID/token auth remains supported for older Speech Console applications:
VOLCENGINE_TTS_VOICE, VOLCENGINE_TTS_APP_KEY, and VOLCENGINE_TTS_BASE_URL override the corresponding messages.tts.providers.volcengine config fields when set.
Advanced configuration
Default model after onboarding
Default model after onboarding
openclaw onboard --auth-choice volcengine-api-key sets volcengine-plan/ark-code-latest as the default model while also registering the general volcengine catalog.Model picker fallback behavior
Model picker fallback behavior
During onboarding/configure model selection, the Volcengine auth choice prefers both
volcengine/* and volcengine-plan/* rows. If those models are not loaded yet, OpenClaw falls back to the unfiltered catalog instead of showing an empty provider-scoped picker.Environment variables for daemon processes
Environment variables for daemon processes
If the Gateway runs as a daemon (launchd/systemd), make sure model and TTS env vars such as
VOLCANO_ENGINE_API_KEY, VOLCENGINE_TTS_API_KEY, BYTEPLUS_SEED_SPEECH_API_KEY, VOLCENGINE_TTS_APPID, and VOLCENGINE_TTS_TOKEN are available to that process (for example, in ~/.openclaw/.env or via env.shellEnv).Related
Model selection
Choosing providers, model refs, and failover behavior.
Configuration
Full config reference for agents, models, and providers.
Troubleshooting
Common issues and debugging steps.
FAQ
Frequently asked questions about OpenClaw setup.