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 a day ago· 742
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—