DIGIT Seedance Video (2.0 / 2.5)
Seedance video from ComfyUI — three providers, one node, and a live price tag
- first_frame
- last_frame
- source_video
- reference_image1
- reference_image2
- reference_image3
- reference_image4
- reference_image5
- reference_image6
- reference_image7
- reference_image8
- reference_image9
- reference_video1
- reference_video2
- reference_video3
- reference_audio1
- reference_audio2
- reference_audio3
- video
- video_paths
- status
ByteDance's Seedance is a closed video model - you literally cannot download it, so if you want it inside ComfyUI, you call it. That's what DIGIT Seedance Video does, and it's the rare node that gives you a real choice about how you call it: one node, one provider dropdown, and it routes to fal, MUAPI, or Replicate for Seedance 2.0 or 2.5.
The interesting part is what the providers differ on. This isn't just "pick your favorite reseller." fal is fast but filters strictly - it blocks real people and likenesses. MUAPI runs a much lighter filter (people are fine) and is the only route to 1080p/4K without the heavy censorship, at the cost of routing through a smaller provider. Replicate is the backup, ByteDance's own stock filter, 2.0 only. If content policy matters to you, you pick by filter, not by price. That's a real decision this node is honest about.
How it works
Mode auto-detects from what you connect, the same pattern as the Veo node in this pack: nothing connected → text-to-video; first_frame → image-to-video; first_frame + last_frame → interpolation; reference inputs → reference-to-video (up to 9 images, 3 videos, 3 audio - cite them in the prompt as @Image1, @Video1, @Audio1); source_video → Seedance 2.5 video edit (or video_task: extend to continue from the last frame).
The inputs that drive your bill:
provider- fal (default), muapi, or replicate. Filter difference is the real differentiator.model-seedance-2.0(default),seedance-2.0-fast, orseedance-2.5(30s clips, video edit, MUAPI 4K).resolution- 480p/720p/1080p/4k. Cost driver #1.duration- cost driver #2, billed per second. 2.0 tops out at 15s, 2.5 at 30s.same_as_inputprobes your source video's length.batch_count- 1–8, cost driver #3: you pay per clip.aspect_ratio,generate_audio,bitrate_mode,seed, andnegative_prompt(replicate only).
The muapi_route dropdown (default auto) is the escape hatch when you want a specific tier. And the node shows a live cost estimate that updates as you change provider/resolution/duration - a genuinely useful touch, because per-second video pricing is where surprise bills come from.
Outputs: video (first clip as a VIDEO tensor), video_paths (all clips - feed to a DIGIT Video Saver), and status (provider, route, actual cost, per-job request IDs).
Installing and configuring
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/thedepartmentofexternalservices/comfyui-digit.git
cd comfyui-digit
pip install -r requirements.txt
Or ComfyUI Manager → search comfyui-digit. No GCP needed for this one - it's provider-key based: export FAL_KEY, MUAPIAPP_API_KEY, and/or REPLICATE_API_TOKEN before starting ComfyUI. If you hit "environment variable is not set," that's the fix.
Where people get burned
The two traps are filters and prices. Pick fal because it's the default, feed it a real person, and watch it refuse - that's the strict filter, not a bug; switch to muapi if people are the job. And don't assume 4K on muapi 2.5 is native - it's upscaled from 720p there, while 2.0's 4K VIP route is native. The cost strip and the status output's actual Cost: line exist precisely because this stuff adds up fast. Start with one clip, read the price line, then scale the batch.
Inputs (31)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| provider | COMBO | fal | fal — Strict filtering: blocks real people and likenesses. Fastest queue. muapi — Low/reduced filtering: people OK. Cheapest at 480/720p; only low-censorship route to 1080p/4K. replicate — ByteDance stock filter: blocks sensitive content incl. people. Backup provider. |
| model | COMBO | seedance-2.0 | fal + muapi. seedance-2.5 unlocks 30s clips, MUAPI 4K (upscaled), and video edit/extend. Replicate is 2.0 only. |
| resolution | COMBO | 720p | Cost driver #1. On muapi 2.0, 1080p/4k auto-route to VIP. On muapi 2.5, 1080p/4k are upscaled from 720p. fal 2.5 tops out at 720p. |
| aspect_ratio | COMBO | 16:9 | 7 options: auto, 21:9, 16:9, 4:3, 1:1, 3:4, +1 |
| duration | COMBO | 5 | Cost driver #2 — billed per second. 2.0 max 15s, 2.5 max 30s. same_as_input probes the first connected source/reference video. Video edit inherits source length (use same_as_input or auto). |
| generate_audio | BOOLEAN | true | — |
| bitrate_mode | COMBO | standard | High requests a larger, higher-quality encode (fal + muapi). |
| batch_count | INT | 41–8 | Cost driver #3 — you pay per clip. Submits this many generations before polling. |
| seed | INT | 00–2147483647 | 0 creates distinct random seeds. A positive value is the first seed in a consecutive batch. fal + replicate always; MUAPI Seedance 2.5 also accepts seed. |
| first_frameopt | IMAGE | Image-to-video mode. Mutually exclusive with reference inputs and source_video. | |
| last_frameopt | IMAGE | Optional end frame for first-to-last interpolation, or MUAPI 2.5 video-extend target frame. | |
| source_videoopt | VIDEO | Seedance 2.5 video edit (default) or extend. Mutually exclusive with first_frame and reference_video*. | |
| video_taskopt | COMBO | auto | Used when source_video is connected. auto = edit. extend continues from the last frame. |
| muapi_routeopt | COMBO | auto | muapi only. auto = cheapest low-censorship 2.0 endpoint, or the matching 2.5 endpoint when model is seedance-2.5. |
| negative_promptopt | STRING | replicate only. | |
| reference_image1opt | IMAGE | — | |
| reference_image2opt | IMAGE | — | |
| reference_image3opt | IMAGE | — | |
| reference_image4opt | IMAGE | — | |
| reference_image5opt | IMAGE | — | |
| reference_image6opt | IMAGE | — | |
| reference_image7opt | IMAGE | — | |
| reference_image8opt | IMAGE | — | |
| reference_image9opt | IMAGE | — | |
| reference_video1opt | VIDEO | — | |
| reference_video2opt | VIDEO | — | |
| reference_video3opt | VIDEO | — | |
| reference_audio1opt | AUDIO | — | |
| reference_audio2opt | AUDIO | — | |
| reference_audio3opt | AUDIO | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| video_paths | VIDEO_PATHS | — |
| status | STRING | — |