CatsAPI Seedance 2.0
Seedance 2.0 for your video workflow — beautiful, API-only, and it'll cost you
- start_image
- end_image
- reference_images
- video_path
- cost_coins
- task_id
- metadata
ByteDance's Seedance line is some of the best hosted video you can call, and it's also the canonical example of the community's cost objection to API video. When Seedance 2.0 showed up as a ComfyUI API node, the top comment was a flat "go kick rocks" at the very idea of it not running locally, and someone else did the math on how few videos a monthly subscription buys. None of that means it's bad. It means you should know exactly what you're buying before you wire it in. CatsAPISeedance20 is one of seven nodes in the ComfyUI_Catsapi pack, a paid-API wrapper that reaches Seedance 2.0 at catsapi.com and drops a finished .mp4 into your output folder.
What you set
prompt- multiline text for the scene and motion.resolution-480por720p. The cost knob you'll actually turn.duration-4through15seconds.aspect_ratio-16:9(default),9:16,4:3,3:4,1:1,21:9.max_coins- spending cap;0means uncapped. On this node, treat that as a warning label.start_image,end_image,reference_images(all optional) -IMAGEtensors. Seedance is the pack's video heavyweight here: start + end frames for bookend consistency, and up to four reference images for character or subject grounding. That's what separates it from the Grok video node, which only takes a single start frame.api_key_override(optional) - leave blank locally.
Under the hood it submits in standard input mode with fast generation, and internally rewrites the prompt False - meaning what you type is what gets sent, no secret embellishment.
What comes out
Video nodes return four outputs: video_path (path to the .mp4 in ComfyUI/output/catsapi/), cost_coins, task_id, and metadata. It's an output node - terminal, no tensor, so pair it with a video player/save step. A start_image + end_image pair is the setup that makes Seedance worth its price: consistent subjects that hold identity across the whole clip.
How it works
Pack-standard plumbing: preview cost, check against max_coins, submit, poll every three seconds (15-minute timeout), download with browser headers and a curl fallback for CDN bot checks. Video means minutes of queue-blocking while it renders - that's normal here, not a hang.
Install and the key
cd ComfyUI/custom_nodes
git clone https://github.com/maodeyu180/ComfyUI_Catsapi.git
# restart ComfyUI
No extra Python deps. You need a paid CatsAPI key from catsapi.com (starts with cats-):
export CATSAPI_API_KEY=cats-your-key
python main.py
No shell env? Use a .env file or ~/.catsapi.env; the node reads both.
Where people get burned
Cost, cost, cost. Video is the fastest way to drain cat-coins in this pack - the community's own verdict on Seedance was that a subscription's worth of credits disappears surprisingly fast, and 720p/15s renders are the expensive end of that. Set max_coins before your first run, and calibrate with a 480p 5-second draft before committing to the long version. The provider is a young Chinese reseller with zero English-community footprint, so verify a couple of cheap clips before loading a balance. And the standing API-node rules: your prompts and reference images leave the machine, and never share a workflow with api_key_override filled in - widget values end up in the JSON. Done right, start/end frames plus a solid prompt make Seedance 2.0 the best-looking motion this pack can produce. Just budget for it.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| resolution | COMBO | 720p | 2 options: 480p, 720p |
| duration | COMBO | 5 | 12 options: 4, 5, 6, 7, 8, 9, +6 |
| aspect_ratio | COMBO | 16:9 | 6 options: 16:9, 9:16, 4:3, 3:4, 1:1, 21:9 |
| max_coins | INT | 00–100000 | — |
| start_imageopt | IMAGE | — | |
| end_imageopt | IMAGE | — | |
| reference_imagesopt | IMAGE | — | |
| api_key_overrideopt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |
| cost_coins | INT | — |
| task_id | STRING | — |
| metadata | STRING | — |