PRYX ComfyUI Higgsfield Video Edit
Swap the object, transfer the motion, keep the original sound
- image
- video
- audio
- references
- video
- local_file
- remote_url
- request_id
- credits (-1 unavailable)
- usd (-1 unavailable)
- status
Video editing is the capability local ComfyUI handles worst and the cloud handles best. You can't download Kling's editing model or ByteDance's Seedance 2.5 edit endpoint - they're API products, full stop. What this node gives you is a ComfyUI socket for them, with your source clip coming straight out of whatever local workflow produced it.
The catalog lists five video-edit endpoints, and the dropdown also covers the catalog's motion-control entries:
- Genjutsu · Motion Transfer and Genjutsu · Object Swap - Higgsfield's own, and the two that behave differently (see below).
- Seedance 2.5 · Video Edit - ByteDance's edit endpoint; ByteDance's product models stay API-only while its components (Depth Anything, PuLID, SDXL-Lightning) ship free, and this is on the paid side of that line.
- Kling O3 · Video Edit and Kling Omni · Video Edit - the Kling family's edit routes.
How it works
Connect your source clip to video. Depending on the selected model you'll also get image, audio and the ordered references input; the frontend only shows sockets the model actually accepts, and the backend re-validates everything before uploading. Then the usual path: validate → upload local media to the provider through presigned URLs → call the estimate route → and, only in generate mode, submit the paid request and poll it down, with bounded retries and no automatic re-submission after a timeout.
The Genjutsu pair is the part worth understanding before you wire anything. Both require a video and an image - the clip supplies the motion or the scene, the image supplies the subject or the object. A prompt is optional there, which is unusual: for motion transfer the reference clip is doing most of the describing.
Inputs you'll set
prompt is a connected input rather than a text box - wire a text or Config UI Prompt node into it. Then:
video- required by the edit models. Nothing renders without it.image- the source/target image for motion and object-swap jobs.resolution-480por720pon the models that expose it.keep_original_sound(yes/no) andgenerate_audio- whether the source audio survives and whether new audio is produced. Both are model-dependent; a model that doesn't support them won't show the field or will ignore it.character_orientation(imageorvideo) - which of your two inputs decides how the character faces in the output. Handy when your reference image and your clip disagree about left and right.mode(std/pro/4k) - the provider's quality tier. Not the billing switch; that'srequest_mode, which staysestimate_onlyuntil you say otherwise.elements- up to 4 JSON items on models that document them.bitrate_mode(standard/high), plus the sharedrequest_mode,max_usd,auto_saveandtimeout.
Outputs
video (native VIDEO, with a local_file path alongside it), remote_url as JSON text of the provider URL, request_id - empty in estimate-only mode - credits and usd for the estimate, -1 when the provider supplies none, and status, the JSON diagnostics blob carrying status, elapsed time, URLs and the reference mapping.
Estimate-only runs return an empty video. That's deliberate: the node's whole safety story is that you see the price before the render.
Install
Manager: search PRYX ComfyUI Higgsfield, install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/PRYX-STUDIO/pryx-comfyui-higgsfield.git pryx-comfyui-higgsfield
python -m pip install -r pryx-comfyui-higgsfield/requirements.txt
Windows portable: ..\python_embeded\python.exe -m pip install -r .\pryx-comfyui-higgsfield\requirements.txt. It pulls higgsfield-client, httpx and jsonschema into ComfyUI's own Python - install with the interpreter that runs ComfyUI or you'll get an import error on restart, which is the classic custom-node foot-gun. Needs ComfyUI 0.35.0+, frontend 1.53.6+, Python 3.10–3.13.
Key in Settings → PRYX ComfyUI Higgsfield → Credentials as a single key-id:key-secret value, or HF_KEY / HF_API_KEY+HF_API_SECRET for headless.
When it goes sideways
- "Missing required parameter" on a Genjutsu model almost always means you connected the clip and skipped the image.
- A weird-looking model ID is not a typo you made. The Genjutsu entries are spelled
higgsfiled-genjutsu-motion-transfer-v1-0and...object-swap-v1-0in the catalog - one L missing from "higgsfield". If you're pasting a model ID into an Advanced Request, copy it exactly as the dropdown spells it. - Video too long or too big gets rejected at validation, before upload, which is the good kind of failure.
estimate_onlyand an empty output is the mode working as intended, not a broken node.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | seedance-2-5-video-edit | Catalog model ID. Connect PRYX ComfyUI Higgsfield Model Catalog or choose a model from the dropdown. |
| resolutionopt | COMBO | 720p | Output resolution supported by the selected model. Choices: 480p, 720p, 1080p. |
| bitrate_modeopt | COMBO | high | Select the encoded video bitrate tier. Choices: standard, high. |
| generate_audioopt | BOOLEAN | true | Generate or include audio when the selected video model supports it. |
| keep_original_soundopt | COMBO | yes | Keep sound from the source video when supported. Choices: yes, no. |
| character_orientationopt | COMBO | video | Generate the orientation of the characters in the video, which can be selected to match the image or the video Choices: image, video. |
| modeopt | COMBO | pro | Provider quality tier; separate from request_mode, which controls billing. Choices: std, pro, 4k. |
| elementsopt | STRING | Catalog-defined model parameter. Items: 0–4. Enter valid JSON; leave blank to omit this optional field. | |
| promptopt | STRING | Prompt text. Connect a Config UI Prompt node for long prompts. | |
| request_modeopt | COMBO | estimate_only | Estimate cost without generating, or submit the paid generation request. |
| max_usdopt | FLOAT | 0.000–10000 | Hard USD limit. Zero disables the limit; no generation is submitted above this value. |
| auto_saveopt | BOOLEAN | true | Save completed media in ComfyUI output; disable to keep it in the temporary directory. |
| timeoutopt | FLOAT | 180010–7200 | Maximum local wait time in seconds. A timed-out remote generation is never submitted again. |
| imageopt | IMAGE | Optional source or target image for motion and editing models. | |
| videoopt | VIDEO | Video to edit. The selected model defines whether it is required. | |
| audioopt | AUDIO | Direct audio reference. The selected model defines whether it is required and the accepted limits. | |
| referencesopt | PRYX_HF_REFERENCES | Optional ordered edit references. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| local_file | STRING | — |
| remote_url | STRING | — |
| request_id | STRING | — |
| credits (-1 unavailable) | FLOAT | — |
| usd (-1 unavailable) | FLOAT | — |
| status | STRING | — |