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

FAL Kling O3 Reference To Video (Soze)

Character and style references in, a matching clip out

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

Text-to-video is fine until you need the video to actually look like the thing in your reference image. FAL Kling O3 Reference To Video is the Kling endpoint built for that: give it up to four reference images - a character, a style, an object - cite them in your prompt, and the generated clip honors them. It's the "I want it to look like this" video node, and it's the most flexible of the pack's four Kling O3 variants because it starts from nothing but references and a prompt.

Paid hosted API, like the rest of the FAL family. No local generation; your machine just orchestrates the upload, the call, and the download.

How it works

The reference images are the heart of it. Up to four image_N slots (or an image_batch, capped at four frames, individual slots winning), and you cite them in the prompt as @Image1 through @Image4. Want the character from image 1 to move through the scene in the style of image 2? Say so in the prompt, with the cites. That citation convention is the single most important thing to get right - connect an image but never mention it, and the model is free to ignore it.

Two extra image slots round it out: start_image and end_image (both optional). Connect them and the clip is additionally pinned to those as its first and last frames - a bridge between pure reference-to-video and the dedicated first-last-frame node.

The rest of the controls are the family standard: tier (standard/pro), duration (3–14+ seconds), aspect_ratio (auto, 16:9, 9:16, 1:1), shot_type (customize for prompt-driven composition, intelligent to let the model compose), and generate_audio (off by default).

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

When it's worth it

Character consistency is the killer app - you have one good image of a character and you need them to do something in a clip. It's also the right node for style transfer into video: reference a painting or a brand look, describe the motion, and the clip inherits the look. If your source is a single image you want to animate rather than a set of references, the First-Last-Frame variant is the leaner pick; if you have a bundle of references defining who and what the clip shows, this is the one.

Getting it running and gotchas

Standard pack install plus a FAL_KEY:

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

FAL_KEY goes in your environment, a .env in the pack root, or config.ini under [API]. Missing it surfaces as "FAL_KEY is not configured" on the node.

The two gotchas that actually bite: unused references (connected but never cited as @ImageN in the prompt - the model has no reason to use them) and the batch cap (a big image_batch gets silently truncated to the first four frames, so if your fourth reference "isn't there," check the count). Everything else is standard paid-API economics: longer + pro tier = more money, so set duration deliberately.

CategoryFAL/VideoGeneration

Inputs (13)

NameTypeDefaultDescription
tierCOMBOstandard2 options: standard, pro
promptSTRINGCite uploaded images as @Image1..@Image4 in the prompt.
durationCOMBO513 options: 3, 4, 5, 6, 7, 8, +7
aspect_ratioCOMBO16:94 options: auto, 16:9, 9:16, 1:1
shot_typeCOMBOcustomize2 options: customize, intelligent
generate_audioBOOLEANfalse
start_imageoptIMAGEOptional first frame.
end_imageoptIMAGEOptional last frame.
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