Nodes/VRGameDevGirl Video Enhancement Nodes/VRGDG LTX Speed Character Lora Training
ComfyUI Node

VRGDG LTX Speed Character Lora Training

Train an LTX character LoRA without leaving the graph

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
VRGDG LTX Speed Character Lora Training
  • model
  • image1
  • image2
  • image3
  • image4
  • image5
  • image6
  • image7
  • image8
  • image9
  • image10
  • image11
  • image12
  • image13
  • image14
  • image15
  • image16
  • image17
  • image18
  • image19
  • image20
  • model
  • latest_state_path
  • log_path
  • video_filename_prefix
  • output_name
  • completed_steps
  • total_target_steps
workspace_dirA:/MUSUBI/Training/SpeedCharacterLoraTraining
run_nameSpeedCharacterLoraTrainingRun
output_nameSpeedCharacterLoraTraining
image_count4
resolution_width1256
resolution_height1256
blocks_to_swap0
clear_memory_before_gemmatrue
cache_strategyauto
strength_model1.00
musubi_rootA:/MUSUBI/musubi-tuner-ltx2
ltx2_checkpointA:/MUSUBI/models/ltx2/ltx-2.3-22b-dev.safetensors
gemma_rootA:/MUSUBI/models/gemma3
gemma_recovery_modefalse
gemma_load_in_4bitfalse
caption_1
caption_2
caption_3
caption_4
caption_5
caption_6
caption_7
caption_8
caption_9
caption_10
caption_11
caption_12
caption_13
caption_14
caption_15
caption_16
caption_17
caption_18
caption_19
caption_20

This is the heavyweight of the pack, and the name is doing real work: it's a character-LoRA trainer for LTX video models that runs inside ComfyUI, pointed at a musubi install. Drop in a handful of reference images, give each a caption, and the node builds a training dataset, runs the trainer, and hands back a MODEL with your freshly-trained LoRA applied to it. If you've ever looked at LTX character-LoRA training tutorials - the kind that involve separate Python environments and a folder full of scripts - you'll recognize this as someone wrapping that whole mess in a node.

The two big dependencies

The node needs three things to be true before it can do anything:

  • musubi-tuner-ltx2, installed somewhere on disk. The musubi_root input (default A:/MUSUBI/musubi-tuner-ltx2) points at it. Musubi is one of the real trainers people use for LTX, and the pack assumes a specific folder layout.
  • The LTX-2.3 checkpoint. ltx2_checkpoint defaults to A:/MUSUBI/models/ltx2/ltx-2.3-22b-dev.safetensors - that's the 22B LTX-2.3 model, the one whose release the community credit with making LTX actually competitive.
  • The Gemma text encoder. gemma_root defaults to A:/MUSUBI/models/gemma3. This is the exact text encoder that caused so much pain on LTX-2/2.3 launch - it's huge, and offloading it badly was the #1 source of OOMs. This node has real answers for that (below).

Notice all those A:/MUSUBI/... defaults. This node was born on a Windows machine with a specific drive layout. You will be editing every path the first time you run it.

The inputs that matter

  • image_count (1–20) and the dynamic image1…image20 inputs with matching caption_1…caption_20 fields - your training set. This is the modern no-text-encoder-training approach: you caption the reference images, the node writes them into a dataset folder inside workspace_dir, and the trainer consumes it. workspace_dir is the node's scratch space: cache, output, logs, config, and that managed dataset all live there.
  • resolution_width / resolution_height - training bucket resolution, default 1256×1256. LTX-2.3 needs dimensions divisible by 32; the node steps by 8, so pick carefully.
  • blocks_to_swap - how many transformer blocks to push to CPU. 0 is fastest if your VRAM allows it; on a 12–16GB card you'll be setting this to something real.
  • cache_strategy - auto (reuse the cached text embeddings), force (rebuild them), skip (don't create them). Since text-encoder caching is the single biggest speed lever in modern training, auto is the right default - the Gemma pass is the expensive one.
  • gemma_load_in_4bit - loads Gemma in 4-bit during caching. Lowers VRAM more than 8-bit but slower and less stable; this is your OOM escape hatch.
  • clear_memory_before_gemma - flushes Comfy and CUDA memory before the Gemma cache stage. Leave it on.
  • strength_model - how strongly the newest trained LoRA is applied back onto the returned MODEL (default 1.0).
  • run_name / output_name - logs and output naming.

Outputs: model (your trained model), latest_state_path, log_path, video_filename_prefix, output_name, and completed_steps / total_target_steps so you can see training progress in the graph.

Install and the honest expectations

The node itself ships with the pack (Manager → "vrgamedev", or git clone into custom_nodes), but musubi and the model files are on you - the README doesn't set up the trainer, and this node has no download toggle. Plan on: a musubi-tuner-ltx2 clone, the 22B LTX-2.3 checkpoint (that's ~25GB fp8), and a Gemma 3 model. Expect the first run to be slow and memory-hungry, and budget a full pass at blocks_to_swap = 0 with your whole VRAM free.

The take: this is a "for this author's workflow" node more than a general training harness. If you already live in musubi and know its scripts, you may find the node more restrictive than your scripts. If you're new, though, it removes the scariest part - dataset layout and the trainer command line - and gives you progress numbers in the graph. It's opinionated, but for character LoRAs on LTX it's a real path from reference images to a working model.

CategoryVRGDG/Training

Inputs (56)

NameTypeDefaultDescription
modelMODEL
workspace_dirSTRINGA:/MUSUBI/Training/SpeedCharacterLoraTrainingWorkspace folder for cache, output, logs, config, and the managed dynamic dataset.
run_nameSTRINGSpeedCharacterLoraTrainingRunRun name used for logs.
output_nameSTRINGSpeedCharacterLoraTrainingLoRA output name used for checkpoints and downstream preview naming.
image_countINT41–20How many dynamic image inputs and caption fields to show.
resolution_widthINT125664–4096Training bucket width. Pick the resolution preset you want to train at.
resolution_heightINT125664–4096Training bucket height. Pick the resolution preset you want to train at.
blocks_to_swapINT00–64How many transformer blocks to swap to CPU. 0 is fastest if VRAM allows it.
clear_memory_before_gemmaBOOLEANtrueClears Comfy and CUDA memory before the Gemma cache stage.
cache_strategyCOMBOautoCache behavior. auto reuses cache when present, force rebuilds, skip bypasses cache creation.
strength_modelFLOAT1.00-100–100Strength used when applying the newest trained LoRA back onto the returned MODEL.
musubi_rootSTRINGA:/MUSUBI/musubi-tuner-ltx2Root folder of your musubi install.
ltx2_checkpointSTRINGA:/MUSUBI/models/ltx2/ltx-2.3-22b-dev.safetensorsPath to the LTX-2.3 DiT checkpoint.
gemma_rootSTRINGA:/MUSUBI/models/gemma3Path to the Gemma model root used by this preset.
gemma_recovery_modeBOOLEANfalseExperimental. If enabled, the node will try alternate Gemma cache settings after the normal path fails.
gemma_load_in_4bitBOOLEANfalseLoads Gemma in 4-bit mode during text encoder caching. This lowers VRAM more than 8-bit, but can be slower or less stable.
image1optIMAGE
image2optIMAGE
image3optIMAGE
image4optIMAGE
image5optIMAGE
image6optIMAGE
image7optIMAGE
image8optIMAGE
image9optIMAGE
image10optIMAGE
image11optIMAGE
image12optIMAGE
image13optIMAGE
image14optIMAGE
image15optIMAGE
image16optIMAGE
image17optIMAGE
image18optIMAGE
image19optIMAGE
image20optIMAGE
caption_1optSTRING
caption_2optSTRING
caption_3optSTRING
caption_4optSTRING
caption_5optSTRING
caption_6optSTRING
caption_7optSTRING
caption_8optSTRING
caption_9optSTRING
caption_10optSTRING
caption_11optSTRING
caption_12optSTRING
caption_13optSTRING
caption_14optSTRING
caption_15optSTRING
caption_16optSTRING
caption_17optSTRING
caption_18optSTRING
caption_19optSTRING
caption_20optSTRING

Outputs (7)

NameTypeDescription
modelMODEL
latest_state_pathSTRING
log_pathSTRING
video_filename_prefixSTRING
output_nameSTRING
completed_stepsINT
total_target_stepsINT