Seedance 2.0
The full-quality ByteDance video model, in the graph
- referenceImages
- frameImages
- referenceVideos
- video
This is the flagship half of Runware's ByteDance video pairing. Where Seedance 2.0 Fast is the draft tier, this node (bytedance:[email protected]) is the full-quality render - the one you queue when a prompt has earned a final take. Same family, same inputs, deliberately better output, and the only difference that matters on your side is cost and wall time.
It's also the honest answer to "can ComfyUI do this video model?" Seedance isn't open weights; it's an API product from ByteDance, so your options are Runware, other inference hosts, or nothing. Having it as a native ComfyUI node with a real VIDEO output means video generation lives in the same graph as everything else instead of being a side-trip to some web app. Install the pack once (ComfyUI Manager → Runware, or clone https://github.com/Runware/ComfyUI-Runware into custom_nodes/), add your API key in ComfyUI Settings, and you're queuing video like any other node.
How it works
Text-to-video plus editing inputs: prompt in, 4–15 second clip out. The full model runs the heavy inference path rather than the distilled Fast one, which shows up as coherence, motion quality, and detail - and in a longer queue time. The inputs are otherwise identical to Fast, which is the point: you build your workflow against the family, then swap tiers by node rather than rebuilding.
Inputs and outputs
- positivePrompt (required) - describe the shot with motion and camera language.
- referenceImages / frameImages - consistency anchors: keep a character or scene recognizable, or pin the opening frame.
- referenceVideos - builder socket (
RUNWARE_REFERENCEVIDEOS) for reference/extend modes, e.g. matching a clip's look or extending from it. The builder'stypeisreferenceorextend, and itsvideofield is a URL/UUID with a 15-second max and a minimum pixel count (the tooltip quotes 1,866,240 total pixels, ~1920×972). - size - 29 presets, default
720p (16:9). - duration - 4–15 seconds.
- settings.audio - synchronized audio, on by default.
- advanced_json - the escape hatch; the tooltip points it at
inputs.referenceAudios, i.e. attaching audio to a video render. - numberResults (1–4), safety gate (with
checkContentandmode),outputFormat/outputQuality.
Output is a single video (VIDEO) socket into SaveVideo, per the pack's example workflow.
The things worth knowing
- Audio is on by default.
settings.audiodefaulting to true is the surprise on everyone's first render. For a "video" you expect silent, that's a non-obvious default. - The Fast sibling exists for a reason. If you're iterating on prompts, the full node is expensive iteration. Fast → this node is the workflow, not a compromise.
- Reference video constraints are real. 15 seconds max and a minimum pixel count; feed smaller/different clips and the builder drops the feature or the API rejects it.
- Cloud latency is the hidden cost. No VRAM, but a full-quality clip is a round trip to ByteDance's hardware. Budget for it.
Seedance 2.0 sits in the pack's "I'd actually pay for this" tier: it's the model people genuinely can't run locally, and the node makes it feel like a first-class part of ComfyUI rather than an API detour.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| referenceImagesopt | IMAGE | — | |
| frameImagesopt | IMAGE | — | |
| referenceVideosopt | RUNWARE_REFERENCEVIDEOS | — | |
| sizeopt | COMBO | 720p (16:9) | Output size. Only one of resolution or dimensions is sent. |
| durationopt | INT | 54–15 | Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps). |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| settings.audioopt | BOOLEAN | true | Generate synchronized audio. |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| safety.modeopt | COMBO | fast | Safety checking mode for video generation. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | MP4 | File format for the generated video. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
| advanced_jsonopt | STRING | Optional JSON merged into the request. For: inputs.referenceAudios |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |