Protoface Seedance 2.5 · Text to Video Turbo
720p/1080p only, and worth it anyway
- video
- files
- run id
What you're choosing
Seedance 2.5's text-to-video operation on the speed-optimised path. Everything from the standard node is here - prompt, references, native audio, up to 30-second durations - with one exception: resolution drops to 720p or 1080p. No 480p, no 4K.
That's a strange-looking trade until you think about who it's for. Not for the person who wants the cheapest draft (the 2.0 Mini tier exists for that) and not for the person who wants a 4K master (standard 2.5). For the person sitting in front of the screen, changing one clause of a prompt and queueing again, where turnaround is the difference between a session and a chore. The catalog doesn't price the turbo operation at a discount - 720p and 1080p carry the same per-second quality rates as everything else in 2.5, roughly 23 and 59 credits. You're buying time, plainly.
The mechanism
One shared implementation under the whole Protoface pack, with per-model controls generated from the provider's public request schema. This node assembles the request, uploads references, submits an async job, polls, downloads, returns a native ComfyUI VIDEO. No local model, no VRAM cost, and no option to run it offline - ByteDance sells Seedance and doesn't release it.
Controls
prompt: scene, action, camera, mood. Short and specific wins when you're iterating fast; three fast variants teach you more than one perfect paragraph.
resolution: 720p or 1080p. aspect_ratio: the full grid from 1:1 through 9:16 and 21:9. duration: 4–30 seconds.
generate_audio defaults true - native synchronised audio is the reason to use this family at all.
reference_images, reference_videos, reference_audios: dynamic lists taking native media nodes, asset ids or URLs. Attach a reference video and its input seconds are metered alongside your output. This is where the node stops being a prompt box and starts being direction.
generation_id: fixed ID plus identical inputs resumes the recorded run; increment it for a new, newly-billed generation. request_scope: auto-assigned per node, non-secret, only relevant to headless clients.
Outputs: video (list), files (every original asset), 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 the browser. Use ComfyUI's interpreter for pip. Then paste a key via the Protoface button, or export PROTOFACE_API_KEY / PROTOFACE_API_KEY_FILE on a server. Dependencies: httpx, jsonschema, Pillow, PyAV.
Where it goes wrong
Treating turbo as the cheap node. It isn't. There's no 480p here, so every experiment is a real 720p generation at ~23 credits a second. Cheap exploration lives on the 2.0 tiers.
Long runs. A 30-second 1080p turbo generation is fast in relative terms and expensive in absolute ones. Most shots want 6–10 seconds.
The retry mistake. A timeout is not a failure - the pack journals the request before submitting, so requeueing unchanged inputs resumes the run. Bumping generation_id "to retry" buys a second job and the first may still be generating.
Deleting ~/.cache/protoface-comfyui. That's the job journal. Move it with PROTOFACE_STATE_DIR if you must; deleting it removes your ability to resolve an unclear paid submission.
Forgetting who holds the key. Interactive keys stay in server memory and stay out of workflow exports - but anyone who can queue on the instance can spend them.
Verdict
The interactive node. If your workflow is "queue, look, adjust, queue," this is the version that respects your afternoon, and 1080p is a fine place to land. If your workflow is "render overnight," you're paying for speed you sleep through - use the standard node and keep 4K available.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the scene, action, camera movement, and mood for the video. | |
| resolution | COMBO | 720p | The output video resolution. |
| duration | INT | 54–30 | The duration of the generated video in seconds (4-30s). |
| aspect_ratio | COMBO | 16:9 | The aspect ratio of the generated video. |
| generate_audio | BOOLEAN | true | Whether to generate native audio synchronized with the output video. Defaults to true. |
| reference_audios | COMBO | Public URLs, data URIs, or asset ids. | |
| reference_images | COMBO | Public URLs, data URIs, or asset ids. | |
| reference_videos | COMBO | Public URLs, data URIs, or asset ids. | |
| generation_id | INT | 00–9007199254740991 | Keep fixed to reuse/resume this paid job. Increment for a fresh paid generation; independent of the model seed. |
| request_scope | STRING | Automatically assigned per node. Headless clients must supply a stable unique workflow/node ID. This is not a secret. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| files | PROTOFACE_FILE | — |
| run id | STRING | — |