Views
No views yet
3d1t variant of the Sync-LoRA.3d1t3d1t — for every sample.
The edit is driven entirely by the first-frame image and the reference video, not by a text
description. So at inference:Always set the text prompt to exactly3d1t.
3d1t is a "special edit token" telling the model to edit via the
first frame + reference.| Input | How it's wired |
|---|---|
| Edited first frame (image) | image conditioning at latent index 0 (VideoConditionByLatentIndex, strength 1.0) — replaces frame 0 |
| Reference video | IC-LoRA reference conditioning (VideoConditionByReferenceLatent, strength 1.0) |
| Text prompt | the constant token 3d1t |
3d1t (text conditioning effectively removed)ltx-2.3-sync-lora-3d1t-r256.safetensors (ComfyUI-style keys, diffusion_model. prefix), step 5000ltx-pipelines IC-LoRA, two-stage distilled
pipeline (stage 1 at half resolution → ×2 spatial upscale → stage 2 refine).distilled-lora-384 together with this Sync-LoRA on both stages (8-step stage 1 + 3-step stage 2).ltx-2.3-22b-dev.safetensors (base)ltx-2.3-22b-distilled-lora-384-1.1.safetensors (distillation LoRA)ltx-2.3-spatial-upscaler-x2-1.1.safetensors (stage-2 upscaler)1python -m ltx_pipelines.ic_lora \
2 --distilled-checkpoint-path ltx-2.3-22b-dev.safetensors \
3 --spatial-upsampler-path ltx-2.3-spatial-upscaler-x2-1.1.safetensors \
4 --gemma-root path/to/gemma \
5 --lora ltx-2.3-sync-lora-3d1t-r256.safetensors 1.0 \
6 --lora ltx-2.3-22b-distilled-lora-384-1.1.safetensors 1.0 \
7 --prompt "3d1t" \
8 --video-conditioning reference.mp4 1.0 \
9 --images edited_first_frame.png 0 1.0 \
10 --height 1024 --width 1024 --num-frames 81 --frame-rate 25 --seed 42 \
11 --output-path out.mp4--prompt "3d1t" (the token) — required.--images <png> 0 1.0 puts the edited frame at index 0; --video-conditioning <mp4> 1.0 is the reference.--height/--width 1024 → stage-1 512 (the
training resolution). Resolution must be divisible by 64; frames must satisfy frames % 8 == 1.--num-frames/--frame-rate accordingly (e.g. a 5.1 s,
30 fps clip → --num-frames 153 --frame-rate 30). Non-square aspect ratios (e.g. portrait 768×1024)
work and avoid cropping a portrait input.distilled-lora-384 on both stages (the stock pipeline leaves stage 2
LoRA-free, which expects an already-fused distilled checkpoint).1from ltx_core.loader import LTXV_LORA_COMFY_RENAMING_MAP, LoraPathStrengthAndSDOps
2from ltx_pipelines.ic_lora import ICLoraPipeline
3
4sync = LoraPathStrengthAndSDOps("ltx-2.3-sync-lora-3d1t-r256.safetensors", 1.0, LTXV_LORA_COMFY_RENAMING_MAP)
5distilled = LoraPathStrengthAndSDOps("ltx-2.3-22b-distilled-lora-384-1.1.safetensors", 1.0, LTXV_LORA_COMFY_RENAMING_MAP)
6
7pipe = ICLoraPipeline(
8 distilled_checkpoint_path="ltx-2.3-22b-dev.safetensors",
9 spatial_upsampler_path="ltx-2.3-spatial-upscaler-x2-1.1.safetensors",
10 gemma_root="path/to/gemma",
11 loras=[sync, distilled],
12)
13video, _ = pipe(
14 prompt="3d1t", # the token
15 seed=42, height=1024, width=1024, num_frames=81, frame_rate=25,
16 images=[("edited_first_frame.png", 0, 1.0)], # edit at frame 0
17 video_conditioning=[("reference.mp4", 1.0)], # reference video
18)3d1t was ever seen during training.