Set Doubao (Volcano Ark) LLM Service Connector ๐
The one where the 'model' can be an endpoint id
- llm_service_connector
What it is
Doubao is ByteDance's chat model, served through Volcano Ark (็ซๅฑฑๆน่), and this node connects the pack's call nodes to it. It's the connector you want if you already pay for Ark - cheap, fast Chinese-and-English chat models, and for a lot of image-pipeline work (rewriting a rough idea into a prompt, translating captions) that's all you need.
Same contract as every sibling in this pack: token and model in, one llm_service_connector socket out.
How it works
It's an OpenAI-compatible connector against https://ark.cn-beijing.volces.com/api/v3/chat/completions, sending the standard parameter set - temperature, top_p, top_k, penalties, n, max_tokens - with your Ark key as a Bearer token. The shared base class supplies the 30-second timeout, the three retries five seconds apart for timeouts/connection errors/5xx, and the <think> stripping that keeps reasoning models from leaking scratch-work into your prompt.
The Ark-specific part is the model field, and this is where people lose an afternoon. Ark has two ways to address a model: the versioned doubao-seed-* id, or an inference endpoint id (ep-xxxxxxxx) that you create in the console and point at a model deployment. Historically the ep- id was the only thing that worked and everyone's workflows were full of them. The connector accepts either, so both styles of tutorial you'll find online are still accurate - if a guide tells you to paste an ep- id, put it in custom_model with model_select on Custom and it'll work.
The inputs that matter
api_token - your Ark API key (or IAM key) from the Volcano console. Leave it blank if you're using the key file.
model_select - defaults to doubao-seed-2-0-pro-260215. The list also has doubao-seed-2-0-lite-260215, doubao-seed-2-0-mini-260215, doubao-seed-1-8-251228, doubao-seed-1-6, and Custom. Pro for the rewrites you care about, lite/mini for batch captioning where you're going to skim the results anyway.
custom_model - this is where an ep- endpoint id goes, or a newer date-suffixed id than the dropdown carries.
config_file, config_key (default doubao), prefer_local_config. Output: llm_service_connector - wire it into CallLLMService, Translator, PromptGenerator, BerniniPromptGenerator, QwenImage21PromptGenerator, or CheckLLMServiceConnectivity for a smoke test.
Installing and keying it
cd ComfyUI/custom_nodes
git clone https://github.com/MieMieeeee/ComfyUI-MieNodes
cd ComfyUI-MieNodes && python -m pip install -r requirements.txt
Restart ComfyUI. Manager users: search ComfyUI_MieNodes (publisher mie). The pack installs a handful of small pip packages and needs no model downloads - the LLM side is pure HTTP.
cp mie_llm_keys.json.example mie_llm_keys.json
# then fill the "doubao" entry
prefer_local_config is True by default, meaning the JSON entry overrides the api_token field. So the order to debug a 401 in is: the doubao slot in the file, then the node's box.
Common issues
"Model not found" on an id straight out of the dropdown. Date-suffixed Doubao ids rot - the dropdown lists what existed when the pack was cut, and Ark retires snapshots. Switch to Custom and grab the current id (or the ep- id) from your console.
401 after creating a new endpoint. Two credentials are floating around the Ark console: an API key and an IAM key, and they're not interchangeable in every context. If a key that works in the console's own playground fails here, the fast check is a curl from the machine ComfyUI runs on - the connector's error surfaces the HTTP status, and a network-level block looks like silence rather than a clean failure.
A regional host mismatch. The connector targets Ark's cn-beijing host. If you were issued an endpoint on a different region, you'll need SetGeneralLLMServiceConnector with that base URL plus your model id - nothing exotic, just the general OpenAI-compatible escape hatch the pack provides.
Garbled or truncated Chinese output. That's the token budget on the downstream call node, not the connector. Doubao is a chat model; the connector's job ends at "which provider, which model."
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| api_token | STRING | โ | |
| model_select | COMBO | doubao-seed-2-0-pro-260215 | 6 options: doubao-seed-2-0-pro-260215, doubao-seed-2-0-lite-260215, doubao-seed-2-0-mini-260215, doubao-seed-1-8-251228, doubao-seed-1-6, Custom |
| custom_modelopt | STRING | โ | |
| config_fileopt | STRING | mie_llm_keys.json | โ |
| config_keyopt | STRING | doubao | โ |
| prefer_local_configopt | BOOLEAN | true | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| llm_service_connector | LLMServiceConnector | โ |