FAL Kling O3 Edit Video (Soze)
Restyle a clip and keep the motion — and the audio
- video
- image_1
- image_2
- image_3
- image_4
- image_batch
- video
- video_url
- status
The Kling video models are the hosted workhorse for "make this clip different" jobs, and Kling O3 Edit is the specific endpoint that takes an existing video and re-renders it - new style, new content, same motion. FAL Kling O3 Edit Video wraps that endpoint in one node: source video in, edited video back, with an option to keep the original audio track. It's the "restyle this footage" node, sitting alongside the pack's other three Kling O3 variants.
Like everything in the FAL family, this is a paid hosted API. Your machine does none of the heavy lifting - video uploads to fal, the model works, and the finished clip downloads back into your graph as a VIDEO output you can preview or save.
How it works
The required inputs are the shape of the whole Kling O3 family: tier (standard or pro - pro is pricier and generally stronger), the prompt, the video you're editing, and shot_type (customize lets you drive the look with your prompt; intelligent lets the model decide shot composition).
Two details make this node specifically useful:
keep_audio- defaultTrue. Preserve the source clip's audio track through the edit. That's the feature that separates "restyle my footage" from "regenerate and lose the sound". Flip it off if you're editing to a new track anyway.- Reference images - up to four
image_Nslots (or animage_batch, capped at four frames, individual slots winning). Connect them and cite them in the prompt as@Image1through@Image4. This is how you pin a character, object or style into the edit instead of describing it with words alone.
The source video has real constraints from the API: 3–10 seconds, 720–2160px, max 200MB, mp4 or mov. The node doesn't bend those - a 20-second clip just fails, so trim before you send.
Outputs: video (the edited clip as a VIDEO tensor, ready for ComfyUI's video save/preview nodes), video_url (the hosted URL for sharing), and status. As with the rest of the pack, live progress streams on the node body: upload, submit, download.
When it's worth it
Style transfer and content edits on real footage: restyle a brand ad, change a product's environment, swap the season in a landscape clip. The audio preservation is the quiet killer feature - most video APIs nuke your sound; this one can keep it, which makes it viable for actual client footage rather than just abstract clips.
Getting it running and gotchas
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt
Then configure FAL_KEY - environment variable, .env in the pack root, or config.ini under [API]. The first error you'll hit if it's missing is exactly "FAL_KEY is not configured".
Realistic failure modes: video over the size/duration limits (trim first), reference-image uploads failing (per-slot in status), and - the classic - forgetting to cite your images as @Image1 etc. in the prompt, which leaves them uploaded but unused. If your references "aren't doing anything," the prompt is where you fix it.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| tier | COMBO | standard | 2 options: standard, pro |
| prompt | STRING | Cite reference images as @Image1..@Image4. | |
| video | VIDEO | Source video to edit. 3-10s, 720-2160px, max 200MB, mp4/mov. | |
| shot_type | COMBO | customize | 2 options: customize, intelligent |
| keep_audioopt | BOOLEAN | true | Preserve the original audio track. |
| image_1opt | IMAGE | Reference image slot 1. Overrides image_batch when connected. Cite as @Image1 in the prompt. | |
| image_2opt | IMAGE | Reference image slot 2. Overrides image_batch when connected. Cite as @Image2 in the prompt. | |
| image_3opt | IMAGE | Reference image slot 3. Overrides image_batch when connected. Cite as @Image3 in the prompt. | |
| image_4opt | IMAGE | Reference image slot 4. Overrides image_batch when connected. Cite as @Image4 in the prompt. | |
| image_batchopt | IMAGE | Optional IMAGE batch (capped at 4 frames). Ignored if any image_N slot is connected. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| video_url | STRING | — |
| status | STRING | — |