Nodes/Protoface/Protoface Seedance 2.0 · Text to Video
ComfyUI Node

Protoface Seedance 2.0 · Text to Video

4K, references, and the best-looking invoice you'll ever dread

By protoface-ai·Created 22 days ago·Updated 13 days ago· 0
Protoface Seedance 2.0 · Text to Video
    • video
    • files
    • run id
    ◄prompt►
    ◄resolution720p►
    ◄duration5►
    ◄aspect_ratio16:9►
    ◄generate_audiotrue►
    ◄reference_audios▾►
    ◄reference_images▾►
    ◄reference_videos▾►
    ◄generation_id0►
    ◄request_scope►

    What it is, and the one thing to internalise

    Seedance 2.0's flagship text-to-video operation, wrapped as a ComfyUI node. Prompt in, clip out at up to 4K with native synchronised audio, 4–15 seconds, no GPU involved.

    The thing to internalise: ByteDance doesn't release Seedance. The Seedream and Seedance lines are API products, full stop, with the company's open releases reserved for components - PuLID, Depth Anything, Bernini, SDXL-Lightning. So there is no "run it locally and stop paying" path here, and anyone telling you otherwise is describing a different model. The pack itself is third-party: Protoface aggregates the API behind one key, independent of Comfy's own Partner Nodes and credits.

    How it works

    One shared implementation sits under every node in the pack; each model's controls are generated from the provider's public request schema. This node builds a request, uploads any reference media, submits an async job, polls it (two-second default interval, two-hour timeout), downloads the result and returns a native ComfyUI VIDEO. Your prompts and references go to a server you don't control - that's the mechanism, not a defect, and it's the trade you make for a model you were never allowed to download.

    What you actually set

    prompt: scene, action, camera movement, mood. Long-form description beats keyword soup with these models.

    resolution - 480p, 720p, 1080p, 4K - is the single most consequential dropdown on the node. aspect_ratio: 16:9, 9:16, 4:3, 3:4, 1:1, 21:9. duration: 4–15 seconds, integer.

    generate_audio defaults true. Native audio is genuinely the selling point of this family - the model writes sound that matches the action - so leave it on unless you're scoring externally.

    reference_images, reference_videos, reference_audios: dynamic list inputs that accept native ComfyUI media nodes, asset ids or public URLs. This is the node's real flexibility. A character sheet plus a location photo plus a voice clip, connected in one graph, gives you a directed shot rather than a lucky sample. It also means members of the community's loudest complaint - that these API nodes lock you into metered everything - are describing a real capability, not a trivial one.

    generation_id and request_scope: the first is the paid-job handle, the second is auto-assigned plumbing for headless clients. There is no seed field on the Seedance video nodes. generation_id is your only lever, and what it buys is resumability, not reproducibility - a fixed ID with identical inputs requeues the same run; change anything and it's a new request.

    Outputs: video (list), files (all original downloads), run id (feeds Resume Run).

    Install

    ComfyUI 0.41.0+ and Python 3.10+.

    cd ComfyUI
    git clone --branch v0.1.0 --depth 1 https://github.com/protoface-ai/protoface-comfyui.git custom_nodes/protoface
    python -m pip install -r custom_nodes/protoface/requirements.txt
    

    Or Manager → search Protoface → install protoface-nodes → restart, reload browser. Pip with ComfyUI's interpreter. Then click Protoface in the lower-right and paste a key from your Protoface account; for headless, PROTOFACE_API_KEY or PROTOFACE_API_KEY_FILE. The dependencies are httpx, jsonschema, Pillow and PyAV - this pack installs in seconds and will never break your torch build.

    The money, honestly

    Output pricing at this tier is roughly 7 credits per second at 480p, 15 at 720p, 37 at 1080p and 78 at 4K, with a four-second minimum. Five seconds at 720p is ~75 credits; the same at 4K is ~390. If you attach a reference_videos clip, its input seconds are metered too, on top of output, capped at 15 seconds total.

    This is the exact objection the subreddit raised when Seedance hit ComfyUI: great capability, real money, and an unhelpful tendency to make you choose between a cheap draft and a final you can ship. The pragmatic version of that argument is the one I'd run: draft at 480p, decide, then pay once at the resolution you'll deliver.

    Where it breaks

    • 4K as a first test. It's twenty-odd times the per-second cost of Mini's 480p. Composition doesn't improve with pixels.
    • Bumping generation_id to "retry". That buys a new job. Requeue unchanged or use run id.
    • Deleting ~/.cache/protoface-comfyui. You've thrown away the journal that lets an unresolved paid submission resume.
    • Expecting a refund on interrupt. Cancellation is best effort upstream.
    • Shared instances. Interactive keys stay in server memory and stay out of exported workflows, but anyone who can queue on your server can spend them.

    Should you use it?

    For final shots from a prompt or a small pile of references, it's the best-looking output in the pack and the plumbing is genuinely native - native VIDEO out, list mapping, resume machinery. It's not a replacement for your local workflow; it's the one job you send outside it.

    CategoryProtoface/Video/bytedance

    Inputs (10)

    NameTypeDefaultDescription
    promptSTRINGDescribe the scene, action, camera movement, and mood for the video.
    resolutionCOMBO720pThe output video resolution.
    durationINT54–15The duration of the generated video in seconds (4-15s).
    aspect_ratioCOMBO16:9The aspect ratio of the generated video.
    generate_audioBOOLEANtrueWhether to generate native audio synchronized with the output video. Defaults to true.
    reference_audiosCOMBOPublic URLs, data URIs, or asset ids.
    reference_imagesCOMBOPublic URLs, data URIs, or asset ids.
    reference_videosCOMBOPublic URLs, data URIs, or asset ids.
    generation_idINT00–9007199254740991Keep fixed to reuse/resume this paid job. Increment for a fresh paid generation; independent of the model seed.
    request_scopeSTRINGAutomatically assigned per node. Headless clients must supply a stable unique workflow/node ID. This is not a secret.

    Outputs (3)

    NameTypeDescription
    videoVIDEO—
    filesPROTOFACE_FILE—
    run idSTRING—