Nodes/Quality of Life Nodes for ComfyUI/FAL Kling O3 Reference Video To Video (Soze)
ComfyUI Node

FAL Kling O3 Reference Video To Video (Soze)

Restyle a clip with up to four look references, audio kept

By SozeInc·Created 2 years ago·Updated 8 days ago· 10
FAL Kling O3 Reference Video To Video (Soze)
  • video
  • image_1
  • image_2
  • image_3
  • image_4
  • image_batch
  • video
  • video_url
  • status
tierstandard
prompt
duration5
aspect_ratioauto
shot_typecustomize
keep_audiotrue

Where does Kling O3 Edit Video and this node differ? Edit Video restyles a clip from a prompt alone. Reference Video To Video is the same idea with reference images in the driver's seat: you feed a source video plus up to four reference images, cite them as @Image1@Image4, and the model re-renders the clip to match those references while keeping the source's motion. Think "my character, but rendered in this style" rather than "this video, but with different content."

Paid hosted API, like every FAL node in this pack. The source video and references upload to fal, the model works, and the finished clip downloads back into your graph as a VIDEO output.

How it works

Two inputs anchor it:

  • video - the source clip. The API's constraints are real: 3–10 seconds, 720–2160px, max 200MB, mp4 or mov. Overshoot and it fails, so trim first.
  • prompt - describe what should change, and cite your references. The convention is @Image1 through @Image4, matching the four image_N slots (or an image_batch, capped at four frames, individual slots winning).

The other family-standard controls: tier (standard/pro), duration (3–14+ seconds), aspect_ratio (auto/16:9/9:16/1:1), and shot_type (customize or intelligent). And the one that makes this node worth choosing over the plain edit variant: keep_audio, default True - your source clip's audio track survives the restyle. That's the difference between "client-usable restyle" and "regenerate and redo the sound."

Outputs: video (the VIDEO tensor for ComfyUI's save/preview nodes), video_url (hosted, for sharing), and status, with live progress streaming on the node body.

When it's worth it

The killer case is the one reference-style transfer where the source footage and the look reference both exist: your product video, re-rendered in a brand's visual style; your character clip, re-rendered in an illustrated style. The audio preservation makes it viable for real footage, not just abstract clips. If your source is a still image rather than a video, the Reference To Video variant (or First-Last-Frame for two stills) is the leaner pick - this node is specifically for existing clips.

Getting it running and gotchas

Standard pack install, then the FAL_KEY:

cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt

FAL_KEY in your environment, a .env in the pack root, or config.ini under [API] - missing it reads "FAL_KEY is not configured" on the node body.

The gotchas that actually bite: reference images uploaded but never cited as @ImageN in the prompt (the model has no reason to use them), source video over the API's size/duration limits, and image_batch frames past four getting silently dropped. If your clip comes back looking like the source with no visible restyle, your prompt probably describes content changes instead of the style the references define.

CategoryFAL/VideoGeneration

Inputs (12)

NameTypeDefaultDescription
tierCOMBOstandard2 options: standard, pro
promptSTRINGCite reference images as @Image1..@Image4.
videoVIDEOSource video. 3-10s, 720-2160px, max 200MB, mp4/mov.
durationCOMBO513 options: 3, 4, 5, 6, 7, 8, +7
aspect_ratioCOMBOauto4 options: auto, 16:9, 9:16, 1:1
shot_typeCOMBOcustomize2 options: customize, intelligent
keep_audiooptBOOLEANtruePreserve the original audio track.
image_1optIMAGEReference image slot 1. Overrides image_batch when connected. Cite as @Image1 in the prompt.
image_2optIMAGEReference image slot 2. Overrides image_batch when connected. Cite as @Image2 in the prompt.
image_3optIMAGEReference image slot 3. Overrides image_batch when connected. Cite as @Image3 in the prompt.
image_4optIMAGEReference image slot 4. Overrides image_batch when connected. Cite as @Image4 in the prompt.
image_batchoptIMAGEOptional IMAGE batch (capped at 4 frames). Ignored if any image_N slot is connected.

Outputs (3)

NameTypeDescription
videoVIDEO
video_urlSTRING
statusSTRING