Nodes/ComfyUI_MieNodes/Set Doubao (Volcano Ark) LLM Service Connector ๐Ÿ‘
ComfyUI Node

Set Doubao (Volcano Ark) LLM Service Connector ๐Ÿ‘

The one where the 'model' can be an endpoint id

By MieMieeeeeยทCreated 2 years agoยทUpdated 3 days agoยท 273
Set Doubao (Volcano Ark) LLM Service Connector ๐Ÿ‘
    • llm_service_connector
    โ—„api_tokenโ–บ
    โ—„model_selectdoubao-seed-2-0-pro-260215โ–บ
    โ—„custom_modelโ–บ
    โ—„config_filemie_llm_keys.jsonโ–บ
    โ—„config_keydoubaoโ–บ
    โ—„prefer_local_configtrueโ–บ

    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."

    Category๐Ÿ‘ MieNodes/๐Ÿ‘ LLM Service Config

    Inputs (6)

    NameTypeDefaultDescription
    api_tokenSTRINGโ€”
    model_selectCOMBOdoubao-seed-2-0-pro-2602156 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_modeloptSTRINGโ€”
    config_fileoptSTRINGmie_llm_keys.jsonโ€”
    config_keyoptSTRINGdoubaoโ€”
    prefer_local_configoptBOOLEANtrueโ€”

    Outputs (1)

    NameTypeDescription
    llm_service_connectorLLMServiceConnectorโ€”