Nodes/SpicyAPI/Seedance 2.0 Fast · Reference to Video
ComfyUI Node

Seedance 2.0 Fast · Reference to Video

No first frame, just your own material

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Seedance 2.0 Fast · Reference to Video
  • reference_image_urls
  • reference_video_urls
  • reference_audio_urls
  • video
  • last frame
  • task id
◄prompt►
◄aspect_ratioadaptive►
◄resolution720p►
◄duration_seconds5►
◄generate_audiotrue►
◄seed0►
◄return_last_framefalse►
◄bitrate_modestandard►
◄watermarkfalse►

Reference-to-video is the least understood mode in the whole Seedance family, and it's the one people keep asking for a local equivalent of. There isn't a good one. You feed the model up to nine images, three video clips and three audio tracks, describe the shot you want, and it builds a new clip that carries over the characters, style and motion from your references - with no first frame deciding anything.

The community request that keeps surfacing is exactly this: a 3D playblast for motion, a still of the object for the look, and a prompt for everything else. The honest answer that thread reached was "stack IC-LoRA on a local video model and accept it won't be as good." This node is the version that just works, at $0.022539 per second.

What "reference" means in practice

A first frame says start here. A reference says be like this. They are genuinely different jobs, and mixing them up is the main way people get disappointing output from this node - so note what isn't here: no image_url, no last_image_url. The image socket list is reference_image_urls, and it behaves differently from every other image input in ComfyUI.

It's an autogrow group. The node grows a new socket every time you connect one, labelled reference_image_0, reference_image_1 and so on, up to nine. Same for reference_video_urls (up to three clips) and reference_audio_urls (up to three tracks). Wire a Load Image, a video loader, or a Save Audio-adjacent output into each socket you need; the pack uploads them for you.

Then the settings, which will look familiar from the Fast tier: prompt ("subject, action, camera, light, sound, and constraints"), aspect_ratio (16:9, 9:16, 4:3, 3:4, 1:1, 21:9 or adaptive), resolution (480p or 720p only), generate_audio, seed, return_last_frame, bitrate_mode and watermark. duration_seconds is that dropdown with -1 at the top followed by 4 through 15 - pass -1 and the model chooses the length itself.

The cost detail nobody expects

Reference footage is billed on the same linear basis as generated length. So a 10-second reference clip adds real money to the request, on top of the clip you asked for. Keep references short and surgical - a three-second gesture, not a whole scene - unless length is the point.

The video presence also switches the pricing variant (with_video), which is why the node's rate badge moves when you connect a clip socket. That badge is a rate, not a total; the authoritative number is the quote taken when you run.

Outputs and wiring

video (a normal VIDEO, into Save Video), last frame (an IMAGE, only populated when return_last_frame is on), and task id (a string for the console or a support ticket).

A workflow worth trying: reference images of a character plus a short reference clip of their walk, a prompt for a new environment, and a 6-second duration. That's the shape the mode was built for, and it's the one thing on this node a text-to-video prompt can't fake.

Install

Manager → SpicyAPI → Install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi

Restart, paste your key under Settings > SpicyAPI (or export SPICY_API_KEY), restart once more. No model downloads, no pip packages - the pack depends only on what ComfyUI already ships.

Traps

  • Uploads have ceilings. Images are re-encoded to PNG, falling back to JPEG above 10 MiB, and then they fail outright - scale down rather than uploading a 40-megapixel plate. Video and audio inputs cap at 90 MiB.
  • 40004 means no deployment serves your combination; the message names the field to change.
  • Cancelling keeps the job alive on SpicyAPI, charged if it succeeds. Result's in your console for up to 14 days.
  • Set the spend cap in Settings before you start stacking references on 15-second clips.
  • Nothing offline. References and prompts leave your machine; that's the mechanism, not a bug.
CategorySpicyAPI/Video/ByteDance

Inputs (12)

NameTypeDefaultDescription
promptSTRINGDescribe the intended subject, action, camera, light, sound, and constraints.
aspect_ratioCOMBOadaptiveOutput frame ratio.
resolutionCOMBO720pOutput resolution.
duration_secondsCOMBO5Requested output duration in seconds. Pass -1 for smart duration: the model picks the length itself instead of a fixed number.
generate_audioBOOLEANtrueRequest synchronised output audio.
seedINT00–2147483647Same 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_frameBOOLEANfalseAlso return the clip’s final frame as a separate image.
bitrate_modeCOMBOstandardEncoding bitrate of the delivered file: standard, or high for crisper detail and a larger file.
watermarkBOOLEANfalseAdd the model’s visible "AI generated" watermark to the video.
reference_image_urlsoptCOMFY_AUTOGROW_V3Authorised image references.
reference_video_urlsoptCOMFY_AUTOGROW_V3Authorised video references.
reference_audio_urlsoptCOMFY_AUTOGROW_V3Authorised audio references.

Outputs (3)

NameTypeDescription
videoVIDEO—
last frameIMAGENeeds return_last_frame turned on.
task idSTRINGThe SpicyAPI task id, for the console logs or support.