Float Process (AIIA In-Memory)
Frames Straight Back to RAM
- float_pipe
- ref_image
- ref_audio
- images
If you want a talking head that lip-syncs to any audio and you don't want to wait through EchoMimic or Ditto's setup, FLOAT is the lightweight option - and this is the quick-path version of it. Float Process (AIIA In-Memory) runs the FLOAT model and hands you back a full IMAGE batch, ready to pipe into a preview or a video combine node with zero intermediate files. Fast, seamless, and it will happily OOM you if you give it a long clip. It's the "short clip, iterate quickly" sibling of the To-Disk node.
How it works
You feed it a float_pipe (from the pack's FLOAT loader - the model and its VAE bundled together), a ref_image of the person, and ref_audio to drive the mouth. The node decodes the FLOAT model's latents into frames in GPU chunks (decode_gpu_chunk_size, default 32) and moves each chunk to CPU as it goes, which keeps VRAM reasonable. Output is one images tensor of all frames. Behind the scenes it patches the pipe's decode to be chunked - the same "decode a bit, transfer, free" pattern the pack uses everywhere to fight OOM.
The inputs that matter
ref_image/ref_audio- the two you'll actually wire up. Square, face-centered image; clean audio without background music.a_cfg_scale/r_cfg_scale/e_cfg_scale- FLOAT's three-way guidance: audio, reference-image, and emotion strength. Defaults (2.0 / 1.0 / 1.0) are a fine starting point; raisea_cfg_scaleif the mouth isn't tracking the speech.emotion- pickhappy,sad,angry,surprise… and the face gets a base expression on top of the speech.noneis the neutral default.nfe- the number of function-evaluation steps (default 10). Fewer = faster and rougher; more = smoother but slower. For previews, 10 is fine.crop_input_image- crop the reference to the face region before generation; helps when the source photo has extra background.
The two optional helpers are device_override (force CPU/CUDA) and mask_top_edge_pixels - the latter crops the top N pixel rows off the output to remove a known artifact band; if your generated video shows a streak across the top, bump it.
When to reach for it (and when not to)
Use this node for short clips, lip-sync previews, or any flow where the frames need to stay in memory for the next node. It's the recommended default for quick iteration. But the whole point of the pair is that long audio belongs in the To-Disk variant - this one accumulates every frame in RAM, so a several-minute clip will run you out of memory and kill the queue. If you're generating anything past a minute or so, switch to Float Process (AIIA To-Disk for Long Audio) and let it stream frames to disk instead.
Install
Standard pack install: havvk/ComfyUI_AIIA via ComfyUI Manager or git clone https://github.com/havvk/ComfyUI_AIIA.git into custom_nodes/, restart, then let the FLOAT loader fetch its weights on first run.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| float_pipe | FLOAT_PIPE | — | |
| ref_image | IMAGE | — | |
| ref_audio | AUDIO | — | |
| a_cfg_scale | FLOAT | 2.00–10 | — |
| r_cfg_scale | FLOAT | 1.00–10 | — |
| e_cfg_scale | FLOAT | 1.00–10 | — |
| fps | FLOAT | 25.01–60 | — |
| emotion | COMBO | none | 8 options: none, angry, disgust, fear, happy, neutral, +2 |
| crop_input_image | BOOLEAN | false | — |
| seed | INT | 00–18446744073709550000 | — |
| nfe | INT | 101–100 | — |
| device_overrideopt | COMBO | default | 3 options: default, cuda, cpu |
| decode_gpu_chunk_sizeopt | INT | 321–128 | (In-Memory) GPU解码后一次转移多少帧到CPU。影响显存和速度。 |
| mask_top_edge_pixelsopt | INT | 00–64 | CROPS the top N rows of pixels to remove artifacts. Output height will be smaller. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |