Nodes/comfyui-seedance-nodes/Seedance – Image to Video (Reference)
ComfyUI Node

Seedance – Image to Video (Reference)

Seedance Reference Video

By theclueless-ai·Created 5 months ago·Updated 5 months ago· 0
Seedance – Image to Video (Reference)
  • reference_image_1
  • reference_image_2
  • reference_image_3
  • reference_image_4
  • reference_video
  • reference_audio
  • video
  • last_frame
  • frames
  • video_url
  • video_path
  • last_frame_url
api_key
promptA boy wearing glasses and a blue T-shirt from [Image 1] and a corgi dog from [Image 2], sitting on the lawn, in 3D cartoon style
modeldreamina-seedance-2-0-260128
ratio16:9
duration5
resolutiondefault
generate_audiofalse
watermarkfalse
return_last_frametrue
poll_interval10
max_wait600
ref_url_1
ref_url_2
ref_url_3
ref_url_4
reference_video_url
reference_audio_url

The reference node is the one that does what style cards and character sheets only pretend to do. Instead of locking your image into a specific frame position, it lets you hand Seedance up to four images that guide the look and subject of a video - a character here, an environment there, a whole art style on top - and the model composes a fresh shot from the mix. No frame-position locking, which is the whole point: the reference isn't the first frame, it's the influence.

Like the rest of this pack, it's a wrapper around ByteDance's closed Seedance 2.0 model on the BytePlus ARK API. Your reference images get base64-encoded, tagged with a reference_image role, and the prompt tells the model how to combine them. There are no local weights involved, and every call is metered.

The part that makes it tick: [Image N] tokens

Each reference image has a number, and you address them inside the prompt. The default prompt is the best tutorial the pack will ever give you:

"A boy wearing glasses and a blue T-shirt from [Image 1] and a corgi dog from [Image 2], sitting on the lawn, in 3D cartoon style"

That's it - that's the whole interaction model. reference_image_1 is required and maps to [Image 1]; reference_image_2, _3, and _4 are optional. (The README says "one to three," but the shipped code supports four sockets and the prompt tooltip says [Image 1-4] - the code wins, you have four.)

The classic moves:

  • Character from one, setting from another. Reference image 1 is your person, image 2 is the location, prompt says "the woman from [Image 1] walking through [Image 2]."
  • Style transfer. One reference image carrying a specific art direction, and the prompt asks for everything "in the style of [Image 1]."
  • Mix and match. This is the node that lets you fuse a face from one photo with a costume from another without either being locked to frame one.

There are URL overrides (ref_url_1 through ref_url_4) if an image is already hosted, plus optional reference_video / reference_audio sockets referenced as [Video 1] / [Audio 1] - so a reference video can carry the motion feel while the images carry the look.

Everything else is the pack standard: prompt, ratio (16:9 default), duration (4–15s), resolution, generate_audio, watermark, return_last_frame, poll_interval, max_wait. Outputs are the usual six: video, last_frame, frames, video_url, video_path, last_frame_url.

Install

ComfyUI Manager, search comfyui-seedance-nodes. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/theclueless-ai/comfyui-seedance-nodes
pip install -r ComfyUI/custom_nodes/comfyui-seedance-nodes/requirements.txt

Four lightweight Python deps (requests, Pillow, numpy, opencv-python), no models to fetch. Set ARK_API_KEY (or paste into the api_key field), restart ComfyUI, and find the node under Seedance / Video Generation.

Where people get burned

  • Forgetting the tokens. A reference image that's never named in the prompt is vague influence at best. The API can't read your mind - say "from [Image 1]" explicitly.
  • Disjointed references. Ask for a photoreal person from a photo, an anime background from an illustration, and 3D cartoon styling, and the model has to reconcile three worlds at once. Keep references stylistically closer and the result gets more coherent.
  • The usual API gotchas. Missing key errors out immediately; long 1080p jobs can outlast the 600s max_wait (raise it up to 3600); and remember this is a paid, metered call with your images leaving the machine - ByteDance's hosted products moderate what comes back, and no local node can bypass that.
CategorySeedance/Video Generation

Inputs (23)

NameTypeDefaultDescription
api_keySTRING
reference_image_1IMAGEPrimary reference image ([Image 1] in prompt).
promptSTRINGA boy wearing glasses and a blue T-shirt from [Image 1] and a corgi dog from [Image 2], sitting on the lawn, in 3D cartoon styleUse [Image 1-4] for reference images, [Video 1] for reference video, [Audio 1] for reference audio.
modelCOMBOdreamina-seedance-2-0-2601281 options: dreamina-seedance-2-0-260128
ratioCOMBO16:96 options: 16:9, 9:16, 1:1, 4:3, 3:4, adaptive
durationINT54–15Video duration in seconds. Seedance 2.0 supports 4–15 s. seedance-1-5-pro-251215 is capped at 12 s.
resolutionCOMBOdefault4 options: default, 480p, 720p, 1080p
generate_audioBOOLEANfalse
watermarkBOOLEANfalse
return_last_frameBOOLEANtrueAsk the API for a watermark-free PNG of the last frame.
poll_intervalINT105–60
max_waitINT60060–3600
reference_image_2optIMAGESecond reference image ([Image 2] in prompt).
reference_image_3optIMAGEThird reference image ([Image 3] in prompt).
reference_image_4optIMAGEFourth reference image ([Image 4] in prompt).
ref_url_1optSTRINGHTTP URL override for reference image 1.
ref_url_2optSTRINGHTTP URL override for reference image 2.
ref_url_3optSTRINGHTTP URL override for reference image 3.
ref_url_4optSTRINGHTTP URL override for reference image 4.
reference_videooptVIDEOConnect any ComfyUI VIDEO node (Load Video, another Seedance output, etc.). Takes priority over reference_video_url. Reference as [Video 1] in the prompt.
reference_video_urloptSTRINGHTTP URL of a reference video. Used only when reference_video is not connected. Reference as [Video 1] in the prompt.
reference_audiooptAUDIOConnect any ComfyUI AUDIO node (Load Audio, etc.). Takes priority over reference_audio_url. Reference as [Audio 1] in the prompt.
reference_audio_urloptSTRINGHTTP URL of a reference audio track. Used only when reference_audio is not connected. Reference as [Audio 1] in the prompt.

Outputs (6)

NameTypeDescription
videoVIDEO
last_frameIMAGE
framesIMAGE
video_urlSTRING
video_pathSTRING
last_frame_urlSTRING