Nodes/ComfyUI-BytePlus-ModelArk/BytePlus Seedance 2.5 Text to Video
ComfyUI Node

BytePlus Seedance 2.5 Text to Video

30 seconds with sound, for a price

By byteplus-sa·Created 8 days ago·Updated about 8 hours ago· 3
BytePlus Seedance 2.5 Text to Video
    • VIDEO
    • draft_task_id
    • last_frame
    • response
    ◄model▾►
    ◄seed0►
    ◄watermarkfalse►
    ◄generation_count1►
    ◄non_blockingfalse►

    Seedance is the closed video model the open community measures itself against, and 2.5 is the version where two things changed: clips go to 30 seconds, and the model generates audio alongside the picture - dialogue, ambience, effects. That second part is why the prompt box tells you to put spoken lines in double quotes to steer the generated dialogue. Local video models mostly can't do that yet.

    This is the plainest node in the pack's video half. Prompt in, video out, no reference media to manage, no uploads, no Comfy.org login. If you want to know whether the pack works before wiring up a thirteen-node pipeline, start here.

    How it works

    The node submits a content-generation task to ModelArk and the pack's executor polls it until it finishes, reporting progress to the node - that's the bar you see filling up on the canvas. Because it's polling a queue, a five-second clip and a thirty-second clip behave identically on your side: you wait.

    The model picker is the interesting part, and it's a picker rather than three separate nodes. Seedance 2.5 (1080p, up to 30 s, mp4 or mov), Seedance 2.5 Draft (a 480p preview, more on that in a second), Seedance 2.5 Premium (4K), Seedance 2.5 Premium Draft, plus Seedance 2.0, 2.0 Fast and 2.0 Mini for cheaper generations up to 15 s.

    Under the model you picked you get prompt, resolution, ratio, duration (4–30 on 2.5, 4–15 on the 2.0 family), generate_audio (default on) and, on 2.5, output_format (mp4 or mov). Then three inputs sit outside the picker: seed, watermark, generation_count and non_blocking.

    Outputs and the settings that actually matter

    • VIDEO is a list. With generation_count above 1 you get every video back, each generated from seed + N, and the next node down runs once per video. last_frame collects their final frames as one batch, response is the task JSON, and draft_task_id is for the draft workflow.
    • seed does one job: it decides whether the node re-runs. BytePlus results aren't reproducible from a seed, and the tooltip is upfront about it. Change the seed (or the prompt) to force a fresh call - otherwise ComfyUI serves the cached result and you never touched the API.
    • non_blocking submits and returns immediately; you run the node again to collect the finished video. That's for people queuing several long jobs at once rather than staring at a bar.
    • Draft mode is the pack's best cost saver. Pick a Draft model, set the seed control to fixed so the node doesn't regenerate the draft on the next run, and you get a 480p preview plus its draft_task_id. Connect that ID to BytePlus Seedance 2.5 Draft to Final Video and the final render reuses the draft's prompt, references, duration, aspect ratio, seed and audio setting - at 1080p (2.5) or 4K (Premium). Draft IDs stay valid for seven days.

    Nothing gets saved by the node itself. Connect a Save Video or the result lives only in the session, and a node whose output nobody consumes doesn't run at all - so an idle Seedance node costs zero.

    Install and key

    cd ComfyUI/custom_nodes
    git clone https://github.com/byteplus-sa/ComfyUI-BytePlus-ModelArk
    pip install -r ComfyUI-BytePlus-ModelArk/requirements.txt
    

    Restart ComfyUI (0.31.0 or newer), or install from Manager by searching BytePlus ModelArk. Then save the ModelArk API key and its region in Settings → BytePlus - ap-southeast-1 or eu-west-1, and the key must be from the region you pick - or put BYTEPLUS_API_KEY and BYTEPLUS_REGION in user/.env. Activate the Seedance 2.5 model in the ModelArk console first; the key doesn't grant you a model you haven't enabled.

    Where people get burned

    Cost, and the shape of it. Video is metered per second of output, which is why the reaction to Seedance arriving in ComfyUI was considerably less enthusiastic than the reaction to the demo reel. A 30-second 1080p clip with audio is not cheap, and generation_count multiplies it silently - three generations is three bills, not one with options. Draft mode exists precisely so you don't pay 1080p prices to find out your prompt was wrong.

    Second: the double-quote convention is not decoration. Lines in quotes get spoken; the rest is description. Mix them up and you get a narrator reading your stage directions, or silence.

    Third, if you're on a 2.0 model and wondering where your 4K went - 4K is the 2.5 Premium and 2.0 tiers, and the resolution list changes with the model you select. Read the picker, not a tutorial from six months ago.

    CategoryBytePlus ModelArk

    Inputs (5)

    NameTypeDefaultDescription
    modelCOMBOSeedance 2.5 for the newest model, videos up to 30 seconds and mp4/mov output; Seedance 2.5 Draft for a quick 480p preview whose draft_task_id renders the 1080p final in the BytePlus Seedance 2.5 Draft to Final Video node; Seedance 2.5 Premium for 4k output, and Seedance 2.5 Premium Draft for its 480p preview (rendered in 4k); Seedance 2.0 for maximum quality and 4k; Fast for speed optimization; Mini for the fastest, lowest-cost generation.
    seedINT00–2147483647Seed controls whether the node should re-run; results are non-deterministic regardless of seed.
    watermarkBOOLEANfalseWhether to add a watermark to the video.
    generation_countINT1Number of separate generations to run in parallel. With several, generation N uses seed + N so the results differ.
    non_blockingBOOLEANfalseSubmit the task and return at once; run the node again to collect the finished video.

    Outputs (4)

    NameTypeDescription
    VIDEOVIDEOThe generated video, or every video of a generation_count batch (the next node runs once per video).
    draft_task_idSTRINGTask ID of a Seedance 2.5 Draft or Seedance 2.5 Premium Draft run. Connect it to the BytePlus Seedance 2.5 Draft to Final Video node to render the final (1080p, or 4k for Premium). Several drafts (generation_count above 1) give one ID per line.
    last_frameIMAGELast frame of each generated video, as one image batch in the same order as the videos.
    responseSTRINGTask responses as JSON.