Nodes/Quality of Life Nodes for ComfyUI/FAL Seedance 2.5 Reference To Video (Soze)
ComfyUI Node

FAL Seedance 2.5 Reference To Video (Soze)

Seedance 2.5, now with video and audio refs

By SozeInc·Created 2 years ago·Updated a day ago· 10
FAL Seedance 2.5 Reference To Video (Soze)
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • image_7
  • image_8
  • image_9
  • image_batch
  • video_1
  • video_2
  • video_3
  • audio_1
  • audio_2
  • audio_3
  • video
  • video_url
  • status
prompt
resolution720p
durationauto
aspect_ratioauto
generate_audiotrue
bitrate_modestandard
end_user_id

ByteDance's Seedance is one of the video models you can't run locally no matter how many GPUs you own - it's API-only, full stop. So if you want it inside a ComfyUI workflow, you wire in something like this node, which wraps the FAL-hosted Seedance 2.5 endpoint and drops the finished clip back on the canvas. What makes this one worth reaching for over the plain Seedance 2.0 wrappers is the reference buffet: up to nine images, three videos, and three audio clips, all mixed in one call.

What you're actually driving

Seedance 2.5 ships in the usual reference-to-video shape. You connect reference media, then reference them by name in the prompt: @Image1, @Video1, @Audio1. The prompt is where the magic happens - say "the woman in @Image1 walks toward the camera as the room in @Video1 lights up, with the track from @Audio1 playing." Give the audio refs only sense if you have at least one image or video, and expect audio to work best when the visual subject is fixed.

The defaults are sensibly lazy. aspect_ratio and duration both default to auto, which lets the API pick sensible values from your reference media - leave them there on the first run and only pin them when the result isn't what you want. resolution (480p/720p/1080p) and bitrate_mode (standard/high) are the quality dials; high gives a bigger, cleaner file. generate_audio defaults to on, which is the whole point of this model tier. If you want reproducible output, set end_user_id - it's how ByteDance tracks usage and can matter for consistent billing.

How the mechanism works

Like every node in this pack's FAL family, the flow is: convert your connected IMAGE tensors and VIDEO/AUDIO objects to files, upload them to FAL's CDN with your key, POST the request to bytedance/seedance-2.5/reference-to-video, then download the returned mp4 into your output folder and hand it back as a VIDEO object. Your local GPU does none of the work; your FAL balance does the paying. That's the whole trade with API nodes - the video is only as private as the server you sent it to, so don't feed it anything you wouldn't upload to a stranger's cloud.

The three outputs you'll actually use: video (the VIDEO object - wire it to a preview or a video saver), video_url (the CDN link, handy if you want to log it or post it straight from a workflow), and status (a human-readable run summary you can route to a text display).

Install and key

This ships in the Soze pack ("Quality of Life Nodes for ComfyUI"). Easiest route is ComfyUI Manager → search "Soze" → install, then restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt

You need a FAL account with credits and a key. Set FAL_KEY as an environment variable, or create ComfyUI_Soze/config.ini:

[API]
FAL_KEY=your_key_here

Grab the key at fal.ai/dashboard/keys. The repo's .gitignore excludes config.ini - keep it that way.

Common issues

  • Nothing comes back and the node skips. Seedance 2.5 requires at least one reference (it's reference-to-video, not text-to-video). No connected refs → no request.
  • It looks like the run froze. These calls are synchronous and a 1080p Seedance clip takes minutes. The timeout default is generous, but if you crank resolution to 1080p plus high bitrate on a long clip, wait it out.
  • Audio refs ignored. Check you cited @Audio1 and have an image/video ref in the same request - audio alone isn't valid.
CategoryFAL/VideoGeneration

Inputs (23)

NameTypeDefaultDescription
promptSTRINGCite refs as @Image1.., @Video1.., @Audio1..
resolutionCOMBO720p3 options: 480p, 720p, 1080p
durationCOMBOautoSeconds, or 'auto'.
aspect_ratioCOMBOauto7 options: auto, 21:9, 16:9, 4:3, 1:1, 3:4, +1
generate_audioBOOLEANtrue
bitrate_modeCOMBOstandard'high' = higher-quality, larger file.
image_1optIMAGEReference image 1 (cite as @Image1 in the prompt).
image_2optIMAGEReference image 2 (cite as @Image2 in the prompt).
image_3optIMAGEReference image 3 (cite as @Image3 in the prompt).
image_4optIMAGEReference image 4 (cite as @Image4 in the prompt).
image_5optIMAGEReference image 5 (cite as @Image5 in the prompt).
image_6optIMAGEReference image 6 (cite as @Image6 in the prompt).
image_7optIMAGEReference image 7 (cite as @Image7 in the prompt).
image_8optIMAGEReference image 8 (cite as @Image8 in the prompt).
image_9optIMAGEReference image 9 (cite as @Image9 in the prompt).
image_batchoptIMAGEOptional IMAGE batch (capped at 9). Ignored if any image_N slot is connected.
video_1optVIDEOReference video 1 (cite as @Video1).
video_2optVIDEOReference video 2 (cite as @Video2).
video_3optVIDEOReference video 3 (cite as @Video3).
audio_1optAUDIOReference audio 1 (cite as @Audio1). Requires >=1 image or video.
audio_2optAUDIOReference audio 2 (cite as @Audio2). Requires >=1 image or video.
audio_3optAUDIOReference audio 3 (cite as @Audio3). Requires >=1 image or video.
end_user_idoptSTRING

Outputs (3)

NameTypeDescription
videoVIDEO
video_urlSTRING
statusSTRING