Nodes/FLOAT Optimized/Load FLOAT Models (Opt)
ComfyUI Node

Load FLOAT Models (Opt)

The entire talking-head pipeline in one node

By set-soft·Created about a year ago·Updated about a year ago· 33
Load FLOAT Models (Opt)
  • advanced_float_options
  • float_pipe
modelFLOAT.safetensors
target_devicecpu
cudnn_benchmarkfalse

FLOAT is a talking-portrait model - feed it a square face photo and an audio file, get back a lip-synced video of that face saying what's in the audio. This node is the front door to all of it. It's the only loader in the "regular" flavor of the pack, it grabs every neural network FLOAT needs from a single file, and it hands you one float_pipe that plugs into FLOAT Process (Opt). If you came from the original ComfyUI-FLOAT by yuvraj108c, this is the same idea, optimized: the author (Salvador E. Tropea, aka set-soft) rebuilt the thing to use far less VRAM and avoid writing temp files, so a 2-minute clip that used to OOM a 16 GB card is now realistic on 12 GB.

Here's the kicker: the node is basically "run FLOAT now." You pick a model file, you click, you wait. Don't overthink it.

What's actually happening

Under the hood the node looks in ComfyUI/models/float/ for a model file. Your two choices are FLOAT.safetensors (the default) and float.pth. The .safetensors is the unified model - 2.4 GiB containing every network FLOAT needs (the motion autoencoder, the flow matching transformer, the wav2vec audio encoder, the emotion recognizer). The .pth is the legacy layout, where the wav2vec and emotion models live in separate folders; if you pick it and something's missing, the node downloads the whole pack from HuggingFace. You almost certainly want FLOAT.safetensors.

If the file isn't there, it downloads it on first run. Two important things about that: it's 2.4 GB, and your workflow will sit there looking dead at this node while it happens. The README warns you - the progress shows in the node and in the console, so if you've queued and nothing's moving, check the terminal before you assume it's hung.

Once loaded, the node builds an inference agent, loads the weights, and - this is the "Optimized" part - offloads them off the GPU. That's why FLOAT suddenly fits on modest cards. The author tests on an RTX 3060 12 GB with 32 GB of RAM (plus swap), and the pre-optimization thread history shows people going from 98% VRAM to 28% on a 4060 Ti 16 GB.

The inputs that matter

Three required, and honestly you only touch one of them usually:

  • model - FLOAT.safetensors vs float.pth. Keep the default unless you know why you're switching.
  • target_device - defaults to CPU (the compute gets moved to GPU as needed). This is mainly for multi-GPU setups where you want to pin where it runs. Leave it.
  • cudnn_benchmark - off by default, and the author explicitly says keep it off for RTX 3060 systems. When on, CUDA hunts for the fastest algorithm on the first inference, which makes that first run painfully slow. Off means steady, predictable times.

There's also an optional advanced_float_options input (an ADV_FLOAT_DICT) if you're coming from the advanced nodes and want to override internal defaults - you can wire FLOAT Advanced Options here. Beginners can ignore it entirely.

The single output, float_pipe, wires straight into FLOAT Process (Opt), where you pick your image, audio, fps, and seed.

Install

In ComfyUI Manager, search "ComfyUI-FLOAT_Optimized". Or the manual way:

cd ComfyUI/custom_nodes
git clone https://github.com/set-soft/ComfyUI-FLOAT_Optimized
cd ComfyUI-FLOAT_Optimized
pip install -r requirements.txt

Then restart ComfyUI. The requirements pull in torchdiffeq (the ODE solver FLOAT uses), transformers, librosa, opencv-python, face_alignment, timm and a few others. ComfyUI's own torch is reused deliberately - the author doesn't list it to avoid breaking your install.

Gotchas

  • It's not free to ship. FLOAT is CC BY-NC-SA 4.0 - non-commercial. If a client wants talking-head avatars for money, this isn't your node. The README is blunt about it.
  • Square, front-facing input. The net was trained on 512x512, and FLOAT's known weakness in the community is that it wants a full-on, centered face. Enable face_align on the process node to let it crop properly.
  • Longer audio = more VRAM. A 5-minute clip on 12 GB will feel different from a 30-second one. If you OOM, shorten the audio, drop the fps, or switch to the pack's Very Advanced workflow, which splits the model up and sips VRAM.
  • English audio. It detects emotion but was trained for English.

Debugging, if you need it: set FLOAT_OPTIMIZED_NODES_DEBUG=1 as an environment variable before launching ComfyUI and you'll get per-node logging; 2 and 3 add more.

The short version: install, drop FLOAT Process (Opt) on the canvas, connect this, queue, wait for the 2.4 GB download, and you've got a talking head.

CategoryFLOAT

Inputs (4)

NameTypeDefaultDescription
modelCOMBOFLOAT.safetensors1 options: FLOAT.safetensors
target_deviceCOMBOcpu1 options: cpu
cudnn_benchmarkBOOLEANfalse
advanced_float_optionsoptADV_FLOAT_DICT

Outputs (1)

NameTypeDescription
float_pipeFLOAT_PIPE