Nodes/Seedance 2.0 BytePlus/๐ŸŒฑ Seedance 2.0 Image-to-Video
ComfyUI Node

๐ŸŒฑ Seedance 2.0 Image-to-Video

Animating up to nine reference images into a clip

By nnnnkatsuยทCreated 3 months agoยทUpdated about a month agoยท 1
๐ŸŒฑ Seedance 2.0 Image-to-Video
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • image_7
  • image_8
  • image_9
  • video_url
  • first_frame
  • request_id
  • batch_json
โ—„promptThe character in @image1 walks through a beautiful garden, cinematic motionโ–บ
โ—„aspect_ratio16:9โ–บ
โ—„resolution480pโ–บ
โ—„duration5โ–บ
โ—„seed-1โ–บ
โ—„batch_count1โ–บ
โ—„api_keyโ–บ
โ—„endpointโ–บ
โ—„generate_audiotrueโ–บ

The step up from text-to-video: Seedance 2.0 Image-to-Video lets you feed Seedance up to nine reference images and it generates a clip that actually respects them. This is the node you reach for when a prompt alone isn't enough - you have a character, a location, a product shot, or a storyboard frame you want the video to start from or be built around.

Same core deal as every generation node in this pack: ByteDance's Seedance 2.0 is closed, so "running it" means calling the BytePlus API, paying per render, and waiting in a queue (typically 5โ€“25 minutes, worse in China's peak hours). Your images leave the machine and ByteDance's moderation applies to them. None of that is this node's fault - it's the nature of the model.

The inputs that matter

The core set is identical to Text-to-Video: prompt, aspect_ratio (smart through 1:1), resolution (480pโ€“4k, with the caveat that 1080p/4k availability depends on your endpoint), duration (4โ€“15s), seed, and batch_count (cost and wait scale with it). Then the differentiator:

  • image_1 through image_9 - up to nine IMAGE inputs, fed straight from ComfyUI's Load Image or any node producing an IMAGE tensor.

The prompt is where the magic of the reference system lives. You reference your images in the prompt text with @image1, @image2, etc. - the default is literally "The character in @image1 walks through a beautiful garden, cinematic motion." The first reference image is generally the anchor, so wire your strongest image into image_1.

How it works

Each wired image tensor is Base64-encoded and uploaded to BytePlus as part of the task request; the @imageN tokens in your prompt get resolved against those uploads when the payload is built. Then it's the same job cycle as the other generators: submit, poll, return.

Outputs: video_url (the short-lived STRING - save it within ~24h or lose it), first_frame (IMAGE, for a quick preview thumbnail), request_id (for Retrieve Task Result), and batch_json (feed this into the batch browser if you ran batch_count > 1).

Where people get burned

Three classic traps, in order of how often I see them:

  1. Referencing an image that isn't wired in. @image3 in the prompt with nothing connected to image_3 is a recipe for a confusing render (or an API error). The @imageN numbering maps 1:1 to the input ports.
  2. Forgetting the 24-hour expiry. Every output URL from this pack rots. If you like a result, Save Video it before the task data disappears.
  3. Pushing a real person's photo through a ref and tripping moderation. BytePlus's safety filters are aggressive on identifiable faces in reference material - community reports of InputImageSensitiveContentDetected.PrivacyInformation from exactly this workflow are common. Synthesized characters and anonymous figures pass cleanly; a clear photo of a specific person is a gamble.

Install: ComfyUI Manager โ†’ Install via Git URL โ†’ https://github.com/nnnnkatsu/seedance2-comfyui-byteplus, restart. No model files, no GPU needed.

Category๐ŸŒฑ Seedance 2.0

Inputs (18)

NameTypeDefaultDescription
promptSTRINGThe character in @image1 walks through a beautiful garden, cinematic motionโ€”
aspect_ratioCOMBO16:97 options: smart, 16:9, 9:16, 4:3, 3:4, 21:9, +1
resolutionCOMBO480pBytePlus output resolution. 1080p/4k availability depends on the selected endpoint.
durationINT54โ€“15โ€”
seedINT-1-1โ€“4294967295โ€”
batch_countINT11โ€“10Create multiple tasks with different seeds. Cost and wait time scale with this count.
api_keyoptSTRINGโ€”
endpointoptSTRINGBytePlus ModelArk endpoint ID, for example ep-...
generate_audiooptBOOLEANtrueโ€”
image_1optIMAGEโ€”
image_2optIMAGEโ€”
image_3optIMAGEโ€”
image_4optIMAGEโ€”
image_5optIMAGEโ€”
image_6optIMAGEโ€”
image_7optIMAGEโ€”
image_8optIMAGEโ€”
image_9optIMAGEโ€”

Outputs (4)

NameTypeDescription
video_urlSTRINGโ€”
first_frameIMAGEโ€”
request_idSTRINGโ€”
batch_jsonSTRINGโ€”