Nodes/fxai-toolkit/凤希AI - LTX2.3采集器
ComfyUI Node

凤希AI - LTX2.3采集器

A custom LTX 2.3 sampler that locks the face and syncs the lips at once

By fxai666·Created 4 months ago·Updated 3 days ago· 35
凤希AI - LTX2.3采集器
  • model
  • positive
  • negative
  • latent
  • ref_latent
  • audio_cond
  • LATENT
steps12
cfg_scale3.00
stg_weight0.38
id_anchor_strength0.35
audio_sync_weight0.45

FxAiLTX23Sampler (凤希AI - LTX2.3采集器) is a drop-in sampler for LTX 2.3 that does three jobs the stock KSampler won't: it merges an audio conditioning into the positive prompt for native audio-video cross-attention, anchors the character's face to a reference latent so it doesn't drift across frames, and applies per-step temporal smoothing. Long LTX clips have two chronic failure modes - the face subtly changes identity between frames, and lipsynced audio drifts out of sync over a few seconds - and this node is the pack's answer to both. It sits under the category LTX23/自定义采样(音画+人物锁定), which translates to "custom sampling, audio+video and person-lock," and that's exactly what it is.

How it works: it's not a new scheduler or a fancy method. It's a per-step callback layered on top of ComfyUI's own comfy.sample.sample (euler/normal). Before sampling, it concatenates your audio_cond (the conditioning from an LTXAudioConditioner, per the source comment) into the positive, so the LTX 2.3 AV cross-attention sees the audio track. Then, on every step, three corrections pile onto the latent x:

  • ID anchor: pulls x toward your ref_latent - the first-frame reference - hard during the first 40% of steps, then fading. That's the face-lock.
  • STG-style temporal constraint: nudges x toward the previous step's latent, suppressing per-frame character drift.
  • Audio sync: a tanh pull toward the reference shaped by audio_sync_weight, which is what drives lip motion toward the audio.

The knobs that matter: steps (default 12), cfg_scale (default 3 - LTX is flow-matching, keep it low), stg_weight (0.38), id_anchor_strength (0.35, how hard the face is glued to ref_latent), and audio_sync_weight (0.45, how hard the mouth follows audio). The three required conditionings are positive, negative, and audio_cond; ref_latent is the latent of your first/reference frame - pull it from a prior segment's latent via FxAiLatentGetFrames and the continuity story gets very tidy. Output is a single LATENT.

The LTX context is worth knowing: LTX is the speed tier of local video (draft in LTX, refine in Wan), and 2.3 is the mainstream primary generator by mid-2026 - but it punishes short prompts and loses to Wan on faces and complex motion. This sampler is a band-aid for exactly that weakness: it trades a bit of sampling time for keeping the face honest and the lips timed.

Install: ComfyUI Manager → "fxai-toolkit", or cd ComfyUI/custom_nodes && git clone https://github.com/fxai666/fxai-toolkit, restart. Auto-installs soundfile/psutil, needs FFmpeg. Labels are Chinese (凤希AI is a Chinese-first author; support in QQ 775649071 / Bilibili).

Troubleshooting: if the face-lock feels like rubber-banding, lower id_anchor_strength rather than the whole sampler. If lips lag, raise audio_sync_weight slowly - past ~0.6 you start warping geometry for the sake of the mouth. And ref_latent must actually be a latent, not a decoded image: encode it or slice it from an earlier latent, or the math silently gets weird. It's a fiddly node, but it's the fiddly node that makes a 3-minute LTX clip hold together.

CategoryLTX23/自定义采样(音画+人物锁定)

Inputs (11)

NameTypeDefaultDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
latentLATENT
ref_latentLATENT
audio_condCONDITIONING
stepsINT124–32
cfg_scaleFLOAT3.001–10
stg_weightFLOAT0.380–1.2
id_anchor_strengthFLOAT0.350.1–0.8
audio_sync_weightFLOAT0.450.1–0.8

Outputs (1)

NameTypeDescription
LATENTLATENT