๐ฑ Seedance 2.0 Omni Reference
The kitchen-sink node for image + video + audio references
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_8
- image_9
- video_ref_1
- video_ref_2
- video_ref_3
- video_url
- first_frame
- request_id
- batch_json
Seedance 2.0 Omni Reference is the flagship of this pack and the one node that does everything: text plus up to nine reference images, three reference videos, and three reference audio clips, all mixed into a single generation. If you've been building reference-heavy workflows on the other generators and hitting their ceilings - "I need a video reference and audio" - this is where you land.
The mental model is a single prompt with typed placeholders. You write @image1 for images, @video1/@video2/@video3 for video references, and @audio1/@audio2/@audio3 for audio, and the node resolves those tokens against what you've wired into the matching ports. The default prompt shows the pattern: "A person @image1 walking on the beach at sunset, cinematic lighting."
The inputs that matter
Same generation core as the others - prompt, aspect_ratio, resolution (endpoint-dependent for 1080p/4k), duration 4โ15s, seed, batch_count - plus the multi-modal extras:
image_1โimage_9- IMAGE tensors fromLoad Image, referenced as@image1โ@image9.video_ref_1โvideo_ref_3- theSEEDANCE2_VIDEO_REFtype, fed from the S3 upload/browse nodes orVideo Reference URL. Referenced as@video1โ@video3. This is the key rule: BytePlus does not accept local video files in the request - a private file sitting inComfyUI/input/will not work. You must upload it to S3 first and pass the resultingvideo_ref. The pack actively errors out on legacy local-video inputs to stop you from trying.delete_s3_references_after_generation- whentrue, the node deletes connected S3video_refobjects after a successful generation. Handy for cleanup, but note it only triggers on success.audio_file_1โaudio_file_3- dropdowns of mp3/wav files inComfyUI/input/.audio_url_1โaudio_url_3- a public http(s) URL, anasset://ID, adata:audio/...URL, or an absolute local path that gets Base64-encoded.
BytePlus's audio limits are worth memorizing: 2โ15 seconds per clip, max 3 clips, total โค 15 seconds, each file โค 15 MB. Clips outside those bounds are the most common cause of an Omni failure.
How it works
Images are uploaded and encoded; video refs are resolved to fetchable URLs (or error out if local); audio is validated and encoded; then everything is assembled into one task payload and submitted through the standard BytePlus cycle. Outputs: video_url, first_frame (IMAGE), request_id, batch_json.
The trap to plan around
Real-person reference video is the sharpest edge. Community reports on BytePlus's Seedance API are consistent: reference footage containing identifiable real people frequently trips InputImageSensitiveContentDetected.PrivacyInformation - the safety filter treats recognizable faces, tattoos, name tags, even license plates as privacy risk. The practical workaround is anonymized or synthetic subjects in your references. It's ByteDance's moderation, running on their servers, and no node setting gets around it.
Install: ComfyUI Manager โ Install via Git URL โ https://github.com/nnnnkatsu/seedance2-comfyui-byteplus, restart. The S3 path needs boto3, which the pack's requirements.txt installs. And remember the ~24h URL expiry on anything it outputs - save the keepers.
Inputs (28)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | A person @image1 walking on the beach at sunset, cinematic lighting | โ |
| aspect_ratio | COMBO | 16:9 | 7 options: smart, 16:9, 9:16, 4:3, 3:4, 21:9, +1 |
| resolution | COMBO | 480p | BytePlus output resolution. 1080p/4k availability depends on the selected endpoint. |
| duration | INT | 54โ15 | โ |
| seed | INT | -1-1โ4294967295 | โ |
| batch_count | INT | 11โ10 | Create multiple tasks with different seeds. Cost and wait time scale with this count. |
| api_keyopt | STRING | โ | |
| endpointopt | STRING | BytePlus ModelArk endpoint ID, for example ep-... | |
| generate_audioopt | BOOLEAN | true | โ |
| image_1opt | IMAGE | โ | |
| image_2opt | IMAGE | โ | |
| image_3opt | IMAGE | โ | |
| image_4opt | IMAGE | โ | |
| image_5opt | IMAGE | โ | |
| image_6opt | IMAGE | โ | |
| image_7opt | IMAGE | โ | |
| image_8opt | IMAGE | โ | |
| image_9opt | IMAGE | โ | |
| video_ref_1opt | SEEDANCE2_VIDEO_REF | Reference video object from S3 Upload/Browse or Video Reference URL. S3 refs can be deleted after generation when cleanup is enabled. | |
| video_ref_2opt | SEEDANCE2_VIDEO_REF | Reference video object from S3 Upload/Browse or Video Reference URL. S3 refs can be deleted after generation when cleanup is enabled. | |
| video_ref_3opt | SEEDANCE2_VIDEO_REF | Reference video object from S3 Upload/Browse or Video Reference URL. S3 refs can be deleted after generation when cleanup is enabled. | |
| delete_s3_references_after_generationopt | BOOLEAN | false | Delete connected S3 video_ref objects after this Omni generation succeeds. |
| audio_file_1opt | COMBO | (none) | Pick an mp3 or wav file from ComfyUI/input/. BytePlus audio refs: 2-15s each, max 3 clips, total <=15s, each file <=15 MB. |
| audio_url_1opt | STRING | Reference audio. Use a public http(s) URL, asset:// ID, data:audio URL, or an absolute local mp3/wav path that will be encoded as Base64. | |
| audio_file_2opt | COMBO | (none) | Pick an mp3 or wav file from ComfyUI/input/. BytePlus audio refs: 2-15s each, max 3 clips, total <=15s, each file <=15 MB. |
| audio_url_2opt | STRING | Reference audio. Use a public http(s) URL, asset:// ID, data:audio URL, or an absolute local mp3/wav path that will be encoded as Base64. | |
| audio_file_3opt | COMBO | (none) | Pick an mp3 or wav file from ComfyUI/input/. BytePlus audio refs: 2-15s each, max 3 clips, total <=15s, each file <=15 MB. |
| audio_url_3opt | STRING | Reference audio. Use a public http(s) URL, asset:// ID, data:audio URL, or an absolute local mp3/wav path that will be encoded as Base64. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | โ |
| first_frame | IMAGE | โ |
| request_id | STRING | โ |
| batch_json | STRING | โ |