Nodes/Protoface/Protoface Seedance 2.5 · Image to Video
ComfyUI Node

Protoface Seedance 2.5 · Image to Video

Thirty seconds, one shot, no aspect ratio override

By protoface-ai·Created 22 days ago·Updated 13 days ago· 0
Protoface Seedance 2.5 · Image to Video
    • video
    • files
    • run id
    ◄prompt►
    ◄image▾►
    ◄resolution720p►
    ◄duration5►
    ◄generate_audiotrue►
    ◄last_image▾►
    ◄generation_id0►
    ◄request_scope►

    What changed in 2.5

    The headline is duration: 4 to 30 seconds in a single generation, double what 2.0 gives you. That's not a small thing. Thirty seconds is long enough to hold a whole beat - a turn, a walk, a reaction - without stitching segments and then hiding the seams.

    The other change is quieter and it bites people coming from 2.0: this node has no aspect_ratio field at all. The 2.0 animate node offered one with "adapts to the input image if left empty"; 2.5 just adapts. If your workflow relied on forcing 16:9 onto a portrait anchor frame, that option isn't here. Frame your source image at the ratio you want to deliver.

    How the node works

    Protoface is a third-party aggregator, not a model host: the pack's nodes are HTTP clients over one shared implementation, with per-model controls generated from the provider's public request schema. This node uploads your start frame, submits a job, polls, downloads the result, and returns a native ComfyUI VIDEO. ByteDance keeps Seedance closed, so there's no local fallback - the file leaves your machine and comes back rendered.

    Inputs

    image is the anchor frame. Native ComfyUI Image connects straight in, or use a URL, data URI or Protoface asset id. This is the node's reason to exist over the text version.

    prompt describes motion, camera and mood. The frame carries the content.

    last_image sets the ending frame, so the clip interpolates between your two stills. With a 30-second ceiling this becomes a genuinely useful planning tool - two local renders plus a movement prompt is a shot with a beginning and an end, not a lucky loop.

    resolution: 480p, 720p, 1080p or 4K. duration: 4–30. generate_audio defaults true and this tier's native audio is the family's better half.

    generation_id is the paid-job handle: fixed ID with identical inputs resumes the recorded run; increment it for a fresh, newly billed generation. request_scope is auto-assigned per node and only concerns headless clients.

    Outputs: video (list), files (all originals), run id (what Resume Run takes).

    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
    

    Manager route: search Protoface, install protoface-nodes, restart, reload the browser. Use ComfyUI's interpreter for pip. Then paste your key via the Protoface button in the lower-right, or set PROTOFACE_API_KEY for headless. Requirements: httpx, jsonschema, Pillow, PyAV.

    The invoice is the plot

    2.5 is priced well above 2.0 and the per-second numbers make it real: roughly 10 credits per second at 480p, 23 at 720p, 59 at 1080p and 180 at 4K, with a four-second minimum. A five-second 720p clip is ~115 credits; push that to thirty seconds at 1080p and you're into the thousands for one shot. Which is fair, and also why the community's first question about 2.5 was whether it would be affordable enough to use rather than just to admire - the version of the model you can iterate with matters more than the benchmark.

    Practical translation: treat the long durations as an option, not a default. Most drafting should happen at 480p and short; the 30-second capabilities are for the shot you've already decided on.

    Where it goes wrong

    You can't force aspect ratio. Expect to re-generate your anchor image if it's the wrong shape for delivery.

    Re-rolling 30-second clips. Iterating on a long clip at full resolution is the single most expensive habit available in this pack. Short and cheap first, then extend the winner, or pay once at length.

    Bumping generation_id after a timeout. That's a second charge for a render that's probably still running. Requeue unchanged, or use the run id with Resume Run. The pack journals the request before submitting precisely so this works.

    Deleting the cache. ~/.cache/protoface-comfyui holds the job journal. Wiping it to "fix" an unresolved submission destroys your recovery path.

    Shared servers. The interactive key lives in server memory and out of workflow exports - fine - but anyone who can queue a workflow can spend it. Not a pack bug; a fact of metered graphs.

    Verdict

    The best-quality image-to-video the pack offers, and the first seedance node where a 30-second single take is genuinely usable. Just don't discover its pricing by accident at 1080p.

    CategoryProtoface/Video/bytedance

    Inputs (8)

    NameTypeDefaultDescription
    promptSTRINGDescribe the scene, action, camera movement, and mood for the video.
    imageCOMBOA public URL, a data URI, or an asset id.
    resolutionCOMBO720pThe output video resolution.
    durationINT54–30The duration of the generated video in seconds (4-30s).
    generate_audioBOOLEANtrueWhether to generate native audio synchronized with the output video. Defaults to true.
    last_imageCOMBOA public URL, a data URI, or an asset id.
    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—