Seedance 2.0 · Reference to Video
Nine images, three clips, three tracks, one shot
- reference_image_urls
- reference_video_urls
- reference_audio_urls
- video
- last frame
- task id
Reference-to-video is the mode this generation of video models quietly got good at, and it's the one local setups can still only approximate. Give it material instead of a starting frame - up to nine images, three clips, three audio tracks - and describe the shot you want. The model carries the characters, style and composition from the images, the motion and pacing from the clips, and the beat from the audio, then renders 4 to 15 seconds at 480p, 720p, 1080p or 4K. From $0.0431 per second with a video reference attached.
If you've ever searched for "Seedance reference to video local alternative", this is the node that answers it - the community's own answer being to stack an IC-LoRA on a local model and accept it won't be as good.
The reference sockets
There is no image_url on this node and no last_image_url. Instead you get three autogrow groups: reference_image_urls, reference_video_urls, reference_audio_urls. Connect one item and the node grows the next socket (reference_image_0, reference_image_1, …) up to the model's limits - 9 images, 3 clips, 3 audio tracks.
The author's own descriptions are unusually specific, so use them: images carry over characters, style and scene composition; video references carry motion and pacing; audio references drive the generated soundtrack. And the cost warning is on reference_video_urls: reference footage is billed on the same linear basis as clip length, so a ten-second reference is real money on top of your generated seconds. Trim references to the beats you need.
Everything else on the node
prompt is what the new shot is, once your references have established who and how. It's multiline, and detail pays off.
aspect_ratio defaults to adaptive (plus 16:9, 9:16, 4:3, 1:1, 3:4, 21:9). resolution runs 480p, 720p, 1080p, 4k - the full ladder, which is the biggest difference between this node and its Mini sibling. duration_seconds is the dropdown with -1 at the top: smart duration, the model chooses the length; otherwise 4 to 15 and that's what you're billed for.
generate_audio is on by default and price-neutral at a given resolution. return_last_frame also emits the final frame as an IMAGE, which is how you hand a shot to the next node. bitrate_mode picks standard or high delivery; watermark adds the model's visible "AI generated" mark.
seed is fixed after generate so that re-queueing a graph doesn't buy a second render by accident.
Outputs
video → Save Video. last frame → an IMAGE, only populated with return_last_frame on. task id → a string; it's the task's id in your console and the thing to quote when something fails.
Install
Manager → search SpicyAPI → Install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Restart, then Settings > SpicyAPI → paste a key from spicyapi.ai/console/keys (or export SPICY_API_KEY on a server). Restart once more so the node list comes from your account. No dependencies, no weights, no GPU - the pack is a client.
Practical warnings
Images over 10 MiB get re-encoded to JPEG and eventually refused; video and audio uploads cap at 90 MiB. Uploads are hashed and cached for 12 hours, so iterating on a prompt doesn't re-upload the same portrait six times. 40004 means your option combination isn't served; the message names the field. Cancelling keeps the job alive and charged if it succeeds. And a run whose cost could exceed your Max cost per run stops before anything is billed - set that ceiling before you start attaching references to 4K requests, because this node can get expensive quickly.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | What to generate: subject, action, camera movement and mood. | |
| aspect_ratio | COMBO | adaptive | Aspect ratio of the generated video. |
| resolution | COMBO | 720p | Output resolution. Super-resolution tiers are not offered. |
| duration_seconds | COMBO | 5 | Clip length in seconds. This is the billed quantity. Pass -1 for smart duration: the model picks the length itself instead of a fixed number. |
| generate_audio | BOOLEAN | true | Generate a native soundtrack synchronised to the picture. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
| return_last_frame | BOOLEAN | false | Also return the clip’s final frame as a separate image. |
| bitrate_mode | COMBO | standard | Encoding bitrate of the delivered file: standard, or high for crisper detail and a larger file. |
| watermark | BOOLEAN | false | Add the model’s visible "AI generated" watermark to the video. |
| reference_image_urlsopt | COMFY_AUTOGROW_V3 | Reference image URLs (up to 9). Characters, style and scene composition are carried over from them. | |
| reference_video_urlsopt | COMFY_AUTOGROW_V3 | Reference video URLs (total length 15 s or less, up to 3). Motion and pacing are carried over from them. Reference footage is billed on the same linear basis as clip length, so longer references cost more. | |
| reference_audio_urlsopt | COMFY_AUTOGROW_V3 | Reference audio URLs (total length 15 s or less, up to 3). The generated soundtrack follows them. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| last frame | IMAGE | Needs return_last_frame turned on. |
| task id | STRING | The SpicyAPI task id, for the console logs or support. |