SeeDance 2.0 (BudgetPixel)
SeeDance 2.0 — four modes in one node, billed like it
- audio
- end_image
- image
- reference_images
- video
- video
SeeDance 2.0 is where the Seedance line stops being "animate my image" and becomes a full video suite in a single node. This one node does text-to-video, image-to-video (start plus optional end frame), reference-to-video from up to nine images, and video-to-video editing - you decide the mode by which sockets you connect. That's genuinely convenient, and it's also the reason the credit meter moves fast: 220 credits per second at the top of the range, with 4K resolution available and each mode priced by resolution. It's the most capable Seedance here, and it's the most expensive one too.
The modes, by input
- Text-to-video: prompt only. Length 4–15 seconds, any aspect ratio.
- Image-to-video: wire
image(start frame) and optionallyend_image; the model interpolates between them. - Reference-to-video: connect
reference_images(up to 9) - note this can't be combined withimage/end_image. - Video editing: connect
videoand it runs in edit mode, applying the prompt to your clip. Video-edit billing is the sneaky part: you're billed on the input duration at half the output per-second rate plus the output. A 10-second clip isn't a 10-second job.
You can also feed a reference audio track alongside an image or video - but audio can't be the only input.
The inputs that matter
- prompt - required; in video-edit mode it's the edit instruction.
- video - the input clip (2–15s, ≤100MB) for video-to-video. Sets edit mode.
- reference_images - up to 9, reference-to-video.
- length_seconds - 4–15.
- resolution - 480p/720p/1080p/4k. Pricing varies by resolution; 4K is for text/image/reference modes, not video-edit.
- generate_audio - off by default, no price impact when on.
- audio - optional reference audio (MP3/WAV/OGG) that guides the sound.
Output is video (VIDEO) - needs a 2025+ ComfyUI for the core video type.
How it works
Standard pack mechanics: media is serialized and uploaded, a job is created against the API, the node polls (video jobs take minutes) and downloads the finished MP4 into the temp folder. As everywhere in this pack, interrupting the graph abandons the wait, not the job - a submitted generation keeps rendering and billing server-side.
Install and key setup
ComfyUI Manager → BudgetPixel, or:
cd ComfyUI/custom_nodes
git clone https://github.com/budgetpixel-ai/comfyui-budgetpixel.git
pip install -r comfyui-budgetpixel/requirements.txt
Only requests. API key from a paid plan via BUDGETPIXEL_API_KEY or budgetpixel.json; never in workflow JSON.
Where people get burned
Two things. First, the video-edit double bill - input duration at half rate plus output, which most people don't see coming until they hit the cost estimate. Use the BudgetPixel Cost Estimate node before running a video-edit if you care about the number. Second, mode conflicts: image/end_image and video/reference_images are mutually exclusive, so a "wrong-looking" output is usually a stray connection forcing a mode you didn't intend. And remember force_rerun - ComfyUI caches unchanged inputs, so your rerun may be showing you last week's clip.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Text description of the video. | |
| aspect_ratioopt | COMBO | 16:9 | Aspect ratio. Ignored when an input image or video already sets the frame. |
| audioopt | AUDIO | Optional reference audio (MP3/WAV/OGG) for the generated video. Provide a public audio URL or an uploaded-file URL from POST /v1/uploads (passed by URL, not inlined). Must accompany an image (`image` or `reference_images`) or a `video` input — audio can't be the only input. | |
| end_imageopt | IMAGE | Optional end frame, used together with `image` (the start frame) to interpolate the video between the two frames. Same input forms as `image`. | |
| generate_audioopt | BOOLEAN | false | Generate audio with the video. |
| imageopt | IMAGE | Optional start frame for image-to-video. Provide a public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads. Omit for text-to-video. | |
| length_secondsopt | INT | 54–15 | Video length in seconds (4–15). |
| reference_imagesopt | IMAGE | Optional reference images that guide the generated video. Each item is a public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads. Can't be combined with `image`/`end_image` (start/end frames). Up to 9 on their own (reference-images-to-video); may also accompany a `video` to guide a video-edit, in which case up to 6 are used. | |
| resolutionopt | COMBO | 720p | Output resolution. Pricing varies by resolution — see `resolution_pricing` in GET /v1/models. |
| videoopt | VIDEO | Optional input video for video-to-video editing (2-15s, ≤100MB). Provide a public video URL or an uploaded-file URL from POST /v1/uploads (videos are passed by URL, not inlined). When set, the request runs in video-edit mode; you may also pass `reference_images` (up to 6) and/or an `audio` track to guide the edit. Not combinable with `image`/`end_image`. Billed on the INPUT duration at half the output per-second rate in addition to the output — estimate via POST /v1/cost. | |
| force_rerunopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |