Seedance API Config
The only node in this pack that calls no model — and the one you can't skip
- api_config
Seedance API Config is the unglamorous heart of the whole ComfyUI_Seedance pack. It doesn't generate a single pixel. What it does is hold your API key and endpoint so the ~60 other nodes in this pack don't each need to. You add it once, fill in two fields, and wire its single api_config output into every generation node you drop on the canvas. If you've used an API wrapper pack before - IF_Gemini, or anything pointed at a reseller's base_url - this is the same shape: a credential holder with a widget face.
The two inputs are the whole story:
base_url- defaults tohttps://api.seedance.nz, the gateway for 贞贞's AI shop, the reseller this pack talks to. You can normally leave it alone.api_key- create one athttps://api.seedance.nz/console→ API tokens. This is the one that bites people, see below.
That's it. One output, api_config (typed SEEDANCE_CONFIG), which the generation nodes consume. Under the hood the node's build() doesn't do much - it trims whitespace and validates the key - but the validation is genuinely useful. Keys must start with sk-, be pure ASCII, and contain no spaces or newlines. That last rule exists because someone at some point pasted a Chinese prompt into the api_key box and then spent an hour staring at a weird header encoding error. The node refuses that up front with a readable message instead.
How the key resolution actually works
Worth knowing, because it decides whether you ever touch this node. Each generation node takes an api_config input, but none of them require it. The priority chain is:
- The
Seedance API Confignode, if you connect it. - The
SEEDANCE_API_KEY/SEEDANCE_BASE_URLenvironment variables. - A
config/.envfile inside the plugin directory (it's gitignored, so it's the safe long-term option).
So if you're allergic to wiring, you can set an env var, launch ComfyUI, and never add this node. The node route is nicer when you want to switch keys without restarting, or when you share a workflow where the key should be a blank field.
Installing it
This is a node in the T8mars/ComfyUI_Seedance pack, so you install the pack. ComfyUI Manager → search "ComfyUI Seedance" (registry id seedance, publisher t8star) → install → restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/ComfyUI_Seedance.git
cd ../../ComfyUI
python -m pip install -r custom_nodes/ComfyUI_Seedance/requirements.txt
That requirements file is a single line: requests>=2.28. There are no weights to download, no models to stash in models/ - this pack runs entirely against api.seedance.nz. You bring the key, not a GPU.
Where people get burned
- "Missing API key" at run time. You didn't connect the node and you didn't set an env var or
.env. Pick one of the three paths. - The key validation error when you're sure the key is right - almost always means the key is in the wrong box, or there's a trailing space. The node tells you the exact shape it wants.
- SSL certificate errors on Windows portable Python. Try
python -m pip install -U requests certifiin ComfyUI's Python, or pointSEEDANCE_CA_BUNDLEat a CA bundle.SEEDANCE_SSL_VERIFY=0exists but is a debugging lever, not a lifestyle.
One thing the README hammers that's worth internalizing: result links from this API expire. Save anything you care about. And never commit the key into a shared workflow JSON - the pack's own examples ship with the key blank for exactly this reason. Since this is a third-party reseller endpoint, your prompts and uploaded reference materials leave your machine, which is the standard trade you accept with any API wrapper node.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| base_url | STRING | https://api.seedance.nz | — |
| api_key | STRING | Create at https://api.seedance.nz/console -> API tokens. | 在控制台「API 令牌」页面创建。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| api_config | SEEDANCE_CONFIG | — |