Nodes/FLOAT Optimized/FLOAT Advanced Options (Ad)
ComfyUI Node

FLOAT Advanced Options (Ad)

Nfe, ODE solvers, and the one knob that actually fixes hair

By set-soft·Created about a year ago·Updated about a year ago· 33
FLOAT Advanced Options (Ad)
    • advanced_options
    r_cfg_scale1.0
    attention_window2
    audio_dropout_prob0.10
    ref_dropout_prob0.10
    emotion_dropout_prob0.10
    ode_atol0.0000
    ode_rtol0.0000
    nfe10
    torchdiffeq_ode_methodeuler
    face_margin1.6
    rgba_conversionblend_with_color
    bkg_color_hex#000000

    FLOAT Advanced Options (Ad) doesn't generate anything itself. It's a settings-bundler: twelve knobs in, one advanced_options dictionary out, which you feed into the optional advanced_float_options input on Load FLOAT Models (Opt) to change how the whole FLOAT pipeline behaves. Think of it as the config file that got a face. If you're happy with defaults, you can ignore it entirely - but it's also where you go when the default output isn't quite right and you don't want to rebuild the workflow with the Very Advanced nodes.

    What you're actually setting

    Two families of parameters live here, and it's worth knowing which is which before you start fiddling.

    Sampling quality - these control the flow-matching ODE solver, the same machinery behind the sampler in the VA graph. FLOAT doesn't denoise; it integrates a velocity field from noise to the final motion sequence, and these settings decide how carefully that integral runs:

    • nfe (default 10, up to 1000) - Number of Function Evaluations. This is your "quality vs speed" tradeoff. 10 is the shipped default and looks fine; crank it if you're chasing detail and have patience.
    • torchdiffeq_ode_method - euler, midpoint, rk4, heun2, heun3. Euler is fastest and the default; rk4 is the classic "pay more time for more accuracy" pick.
    • ode_atol / ode_rtol (both 1e-05) - solver tolerances. Leave them alone until you're deep in debugging; smaller = slower but tighter.

    Dropouts for CFG - audio_dropout_prob, ref_dropout_prob, emotion_dropout_prob (all default 0.1). During classifier-free guidance the sampler randomly nulls out each condition so it can learn what "missing" looks like. Higher values add variation; that's how the a_cfg_scale/e_cfg_scale guidance in the sampler gets something to push against.

    The ones that affect the picture directly:

    • face_margin (default 1.6, range 1.2–2.0) - the space around the face used for cropping. This is the knob the README actually steers you toward: 1.6 is what the net trained on and usually best, but it can produce artifacts around the hair, and nudging it up or down a tenth at a time often fixes them.
    • rgba_conversion (blend_with_color / discard_alpha / replace_with_color) plus bkg_color_hex (default #000000) - how to handle images with an alpha channel, which you get from Rembg-style background-removal nodes. Blend with a color is the friendly default; discard just drops the transparency; replace fills fully transparent pixels.

    The trap

    attention_window (default 2, max 10) looks like a tunable, but it's an architectural hyperparameter - the FMT model was trained with a specific local attention window, and the README is explicit that it must match the checkpoint. Same story with r_cfg_scale, which only does anything when the experimental include_r_cfg flag is enabled in the VA sampler. Changing these won't "improve" anything; it'll just silently diverge from what the weights expect. That's the difference between this node and a sampler you know from SD: half these fields are configuration the model was born with, not dials for you.

    The advanced_options output is an ADV_FLOAT_DICT that only the Load FLOAT Models (Opt) node consumes, so the wiring is trivial: Options node → Load FLOAT Models. Install is just the pack install - Manager search "ComfyUI-FLOAT_Optimized", or git clone into custom_nodes plus pip install -r requirements.txt, restart, and let the 2.4 GiB unified model download on first run. The pragmatic order of business: if the hair looks bad, touch face_margin; if motion looks loose, raise nfe a bit or switch the method; everything else, earn your way to before you touch it.

    CategoryFLOAT/Advanced

    Inputs (12)

    NameTypeDefaultDescription
    r_cfg_scaleFLOAT1.0
    attention_windowINT21–10
    audio_dropout_probFLOAT0.100–1
    ref_dropout_probFLOAT0.100–1
    emotion_dropout_probFLOAT0.100–1
    ode_atolFLOAT0.00001e-9–0.1
    ode_rtolFLOAT0.00001e-9–0.1
    nfeINT101–1000
    torchdiffeq_ode_methodCOMBOeuler5 options: euler, midpoint, rk4, heun2, heun3
    face_marginFLOAT1.61.2–2
    rgba_conversionCOMBOblend_with_color3 options: blend_with_color, discard_alpha, replace_with_color
    bkg_color_hexSTRING#000000

    Outputs (1)

    NameTypeDescription
    advanced_optionsADV_FLOAT_DICT