Nodes/Protoface/Protoface Seedance 2.5 · Edit Video Turbo
ComfyUI Node

Protoface Seedance 2.5 · Edit Video Turbo

The 720p feedback loop for people who hate waiting

By protoface-ai·Created 22 days ago·Updated 13 days ago· 0
Protoface Seedance 2.5 · Edit Video Turbo
    • video
    • files
    • run id
    ◄prompt►
    ◄video▾►
    ◄resolution720p►
    ◄generate_audiotrue►
    ◄reference_audios▾►
    ◄reference_images▾►
    ◄generation_id0►
    ◄request_scope►

    The quick version

    Same editing operation as Seedance 2.5 Edit, run through the speed-optimised path, limited to 720p and 1080p. Nothing else changes: your clip goes in, an instruction comes out as a new clip, up to 4K is off the table and 480p is off the table.

    Where I'd actually use it: as the middle of an iterative loop. Edit at 720p turbo, see whether the idea works, then rerun the winning instruction on the standard node at whatever resolution you're delivering. The turbo operation doesn't shave anything off the per-second rate in the catalog - 720p and 1080p carry the same quality-tier pricing as the rest of 2.5 - so the saving you're buying is time, and that's a real thing to buy when you're the one staring at the node.

    How it runs

    The Protoface pack is one shared API client with per-model controls generated from the provider's public schema. This node uploads the source clip, submits a job, polls (two-second interval, two-hour timeout), downloads the edit, returns a native ComfyUI VIDEO. Seedance is closed at ByteDance, so nothing runs locally and there's no offline fallback. Your footage goes to their servers.

    Controls

    video is the source clip - native ComfyUI Video, URL, data URI or asset id. Keep it short; you pay for input seconds.

    prompt describes the edit, and the tooltip notes that "Edit the input video." is prepended automatically. Write the instruction, not the framing.

    resolution: 720p or 1080p. Nothing else.

    generate_audio defaults true - and on this operation, setting it false means the input video's original audio track is carried onto the output. If the clip has speech in it, this is the field that decides whether the result is usable.

    reference_images and reference_audios are optional dynamic lists for steering with a look or a voice. They sit alongside the source clip, not in place of it.

    generation_id is the paid-job handle: fixed ID plus identical inputs resumes the recorded run; increment it for a new generation. request_scope is auto-assigned per node, and only headless clients have to think about it.

    Outputs: video (list), files (originals), run id (for 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 and reload. Run pip with ComfyUI's interpreter. Then click Protoface in the lower-right and enter your key; headless use PROTOFACE_API_KEY or PROTOFACE_API_KEY_FILE. Requirements: httpx, jsonschema, Pillow, PyAV.

    Where it goes wrong

    No cheap tier. Turbo starts at 720p. That's a real cost floor per attempt, and the reason I'd do motion exploration on an animate node at 480p before spending edit passes here.

    Long sources. The edit operation bills input seconds alongside output, with the source capped at 30 seconds and a four-second minimum. Trim first.

    Delivery on 720p. Easy to forget you're on the cheap-resolution path and ship a soft clip next to sharp 1080p material. The standard 2.5 Edit node is one node swap away.

    Re-queueing with a new generation_id. That's a second charge, not a retry. Requeue unchanged inputs or use the run id with Resume Run.

    Deleted cache. ~/.cache/protoface-comfyui holds the job journal (relocate with PROTOFACE_STATE_DIR, don't delete it). Losing it loses your ability to resume an unresolved paid submission.

    Wrap

    A latency tool, not a value tool. If you're iterating on a specific edit instruction, it'll cut your loop time noticeably and keep you in flow. If you're batch-processing a folder overnight, use the standard node and keep the resolution range.

    CategoryProtoface/Video/bytedance

    Inputs (8)

    NameTypeDefaultDescription
    promptSTRINGDescribe the edit you want applied to the input video. The prefix "Edit the input video." is added automatically.
    videoCOMBOA public URL, a data URI, or an asset id.
    resolutionCOMBO720pTurbo output resolution.
    generate_audioBOOLEANtrueWhether to generate native audio for the edited output. Defaults to true. When set to false, the input video's audio track is preserved on the output instead.
    reference_audiosCOMBOPublic URLs, data URIs, or asset ids.
    reference_imagesCOMBOPublic 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—