Nodes/ComfyUI-Seedance2-Direct-BytePlus/Seedance 2.0 BytePlus Reference to Video
ComfyUI Node

Seedance 2.0 BytePlus Reference to Video

Keep your media hosted, not pasted

By aisam1989·Created 3 months ago·Updated 3 months ago· 0
Seedance 2.0 BytePlus Reference to Video
    • video_url
    • video
    • task_id
    • raw_json
    api_key
    prompt
    modelSeedance 2.0
    resolution720p
    ratioadaptive
    duration5
    generate_audiotrue
    image_url_1
    image_url_2
    image_url_3
    video_url_1
    audio_url_1
    seed0
    watermarkfalse
    poll_seconds9
    timeout_seconds900
    base_urlhttps://ark.ap-southeast.bytepluses.com/api/v3

    Reference-to-video is where Seedance stops being a text box and starts being a tool: you give it one or more images, a video, or even an audio clip, plus a prompt, and it generates a new video that honors those references. This node is the URL-flavored version of that idea. Instead of dragging local media into the graph, you hand it hosted URLs - up to three images, one reference video, and one audio file - and it attaches them to the API request by reference.

    That distinction matters more than it sounds. There's a sibling node in this pack, Seedance2BytePlusMediaReferenceToVideo, that takes local IMAGE and VIDEO tensors directly and base64-encodes them into the request. This node takes no tensors at all: its optional inputs are image_url_1 through image_url_3, video_url_1, and audio_url_1, all plain strings. The tradeoff is simple - URL references are smaller, faster, and don't bloat the request, but the URLs have to be publicly reachable by ByteDance's servers. A localhost link or a private S3 bucket won't work. If your media is already hosted, use this node and skip the base64 dance entirely.

    Mechanically it's the same engine as the text-to-video node: build a content list, POST to {base_url}/contents/generations/tasks, poll until succeeded, download the result. The difference is in the payload - each reference is sent as a typed entry (image_url, video_url, audio_url) with a role label (reference_image, reference_video, reference_audio), and the prompt always leads. One hard rule in the code: if no reference is provided at all, it errors out with "Reference to Video needs at least one image_url, video_url, or audio_url." You need at least one, and honestly you need a good one - reference-video quality lives and dies on what you feed it.

    The rest of the inputs match the pack's other generator: model (Seedance 2.0 or Fast - Fast still refuses 1080p), resolution (480p/720p/1080p), ratio (defaults to adaptive here, sensible when you're matching a reference), duration (4–15 seconds), generate_audio, plus seed, watermark, poll_seconds, timeout_seconds, and base_url if you're routing through a proxy. Outputs are the same four as everywhere in this pack: video_url, video (the Comfy VIDEO object - wire it into the Save Video node), task_id, and raw_json.

    Install

    Manager search ComfyUI-Seedance2-Direct-BytePlus, or:

    cd /path/to/ComfyUI/custom_nodes
    git clone https://github.com/aisam1989/ComfyUI-Seedance2-Direct-BytePlus
    

    Restart and look for Seedance 2.0 BytePlus. No models to download - everything runs on the BytePlus side, billed per task.

    Where people actually get burned

    The moderation is ByteDance's, and it's not subtle. In the community's one substantial thread about this exact API, someone feeding a real person's reference video got rejected with InputImageSensitiveContentDetected.PrivacyInformation - the API flagged the real-person footage as a privacy violation even though the output image was AI-generated. So before you build a workflow around celebrity or family-photo references, know that the closed API enforces ByteDance's content policy, you can't patch it out like you would a checkpoint, and their support is reportedly slow to respond. Cartoon characters and AI-generated references sail through; identifiable real people are the risk zone.

    Also worth knowing: this pack's README notes that BytePlus can reject video references for some accounts - and that warning is aimed at the local-media node. The URL route is the workaround it gestures at. If you hit a wall with local video refs, hosting the clip and using this node is the documented escape hatch.

    CategorySeedance 2.0 Direct/BytePlus

    Inputs (17)

    NameTypeDefaultDescription
    api_keySTRING
    promptSTRING
    modelCOMBOSeedance 2.02 options: Seedance 2.0, Seedance 2.0 Fast
    resolutionCOMBO720p3 options: 480p, 720p, 1080p
    ratioCOMBOadaptive7 options: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, +1
    durationINT54–15
    generate_audioBOOLEANtrue
    image_url_1optSTRING
    image_url_2optSTRING
    image_url_3optSTRING
    video_url_1optSTRING
    audio_url_1optSTRING
    seedoptINT00–2147483647
    watermarkoptBOOLEANfalse
    poll_secondsoptINT93–60
    timeout_secondsoptINT90060–3600
    base_urloptSTRINGhttps://ark.ap-southeast.bytepluses.com/api/v3

    Outputs (4)

    NameTypeDescription
    video_urlSTRING
    videoVIDEO
    task_idSTRING
    raw_jsonSTRING