1本镜像为LTX2官方训练器的专用LoRA训练环境,内置text-to-video基础模型,支持用户对视频生成模型进行个性化微调。提供一键启动的简易操作流程,适合初学者快速入门,同时支持依据官方文档进行高级参数调整与定制化训练,适用于视频风格迁移、角色一致性训练等AI创作场景。
创建实例后点击【Juoyterlab】进行操作

请将您的训练视频(.mp4)和对应的描述文件(.txt)上传到容器内的以下目录:
📂 /workspace/LTX-2/datasets/
💡 注意:不需要手动生成 json 文件,脚本会自动扫描该目录。
打开终端,根据您的需求运行以下命令:
如果您大部分视频是标准比例,且时长在 2 秒左右:
/workspace/LTX-2/run_training.sh
默认使用 960x544, 49帧
如果您想训练特定尺寸(例如竖屏):
/workspace/LTX-2/run_training.sh "720x1280x49"
如果您的素材库里既有横屏又有竖屏,或者既有短视频又有长视频,请用逗号 , 分隔多个设置。脚本会自动将视频归类到最合适的"桶"里。
/workspace/LTX-2/run_training.sh "960x544x49,640x360x89"
/workspace/LTX-2/run_training.sh "960x544x49,720x1280x49"
宽x高x帧数8n+1 规律(如 25, 49, 89, 121), 隔开,不要加空格""训练完成后,LoRA 模型文件将保存在:
📂 /workspace/LTX-2/outputs/checkpoints/
由于云端问题,checkpoints 文件夹被链接了无法直接打开,请使用以下命令获取您的 LoRA:
# 1. 在 outputs 里面创建一个叫 "My_LoRAs" 的文件夹
mkdir -p /workspace/LTX-2/outputs/My_LoRAs
# 2. 把所有 safetensors 复制进去
cp /workspace/LTX-2/outputs/checkpoints/*.safetensors /workspace/LTX-2/outputs/My_LoRAs/
cp /workspace/LTX-2/outputs/checkpoints/*.safetensors /workspace/LTX-2/outputs/My_LoRAs/
# ==========================================
# 1. 重写数据扫描脚本 (支持图片 + 不强求音频)
# ==========================================
cat << 'EOF' > /workspace/LTX-2/make_dataset_json.py
import json
from pathlib import Path
# 支持的格式:包含图片和视频
MEDIA_EXTS = {'.mp4', '.mov', '.avi', '.mkv', '.jpg', '.jpeg', '.png', '.webp'}
def main():
dataset_dir = Path("datasets") # 依赖外部 cd
output_json = dataset_dir / "dataset.json"
print(f"📂 扫描目录: {dataset_dir.absolute()}")
items = []
# 遍历文件
for f in sorted(dataset_dir.iterdir()):
if f.suffix.lower() in MEDIA_EXTS:
txt = f.with_suffix(".txt")
if txt.exists():
items.append({
"id": f.stem,
"video": f.name,
"caption": txt.read_text("utf-8").strip()
})
if not items:
print("❌ 未找到任何数据,请检查文件名是否匹配!")
return
with open(output_json, "w") as f:
json.dump(items, f, indent=2)
print(f"✅ 成功加载 {len(items)} 条数据 (支持图片/视频)")
if __name__ == "__main__":
main()
EOF
# ==========================================
# 2. 生成纯画面配置文件 (基于官方 AV 配置修改)
# ==========================================
cd /workspace/LTX-2/packages/ltx-trainer/configs/
# 复制一份新的配置
cp ltx2_av_lora.yaml ltx2_lora.yaml
# 精准修改配置:关闭音频训练、关闭音频生成、切换 STG 模式
# 1. 训练策略关闭音频
sed -i 's/with_audio: true/with_audio: false/g' ltx2_lora.yaml
# 2. 验证生成时关闭音频
sed -i 's/generate_audio: true/generate_audio: false/g' ltx2_lora.yaml
# 3. STG 引导模式改为仅视频 (防止报错)
sed -i 's/stg_mode: "stg_av"/stg_mode: "stg_v"/g' ltx2_lora.yaml
echo "✅ 纯画面配置文件 ltx2_lora.yaml 已生成!"
# ==========================================
# 3. 更新启动脚本 (指向新配置 + 去除音频参数)
# ==========================================
cat << 'EOF' > /workspace/LTX-2/run_training.sh
#!/bin/bash
set -e
# 强制进入目录
cd /workspace/LTX-2
# 默认分辨率参数 (图片训练建议用 "1024x1024x1")
DEFAULT_RES="960x544x49"
INPUT_RES=${1:-$DEFAULT_RES}
echo "🚀 [1/6] 初始化..."
source .venv/bin/activate || true
echo "🧹 [2/6] 清理环境..."
rm -rf .precomputed datasets/.precomputed
echo "📝 [3/6] 生成配置..."
python make_dataset_json.py
# 检查数据
COUNT=$(grep -c "video" datasets/dataset.json || true)
if [ "$COUNT" -eq "0" ]; then
echo "❌ 错误:datasets 目录下没有找到 txt/mp4/jpg 配对文件!"
exit 1
fi
echo "👀 待处理样本数: $COUNT"
echo "⚙️ [4/6] 预处理 (图片/无声模式)..."
# 注意:这里不再加 --with-audio 参数
CMD="uv run python packages/ltx-trainer/scripts/process_dataset.py datasets/dataset.json"
# 处理分辨率参数
IFS=',' read -ra BUCKETS <<< "$INPUT_RES"
for bucket in "${BUCKETS[@]}"; do
bucket=$(echo "$bucket" | xargs)
CMD="$CMD --resolution-buckets $bucket"
done
CMD="$CMD --model-path checkpoints/ltx-2-19b-dev.safetensors"
CMD="$CMD --text-encoder-path models/gemma"
CMD="$CMD --video-column video"
echo " -> 执行预处理..."
eval $CMD
echo "🚚 [5/6] 搬运数据..."
if [ -d "datasets/.precomputed" ]; then
mv datasets/.precomputed .
else
echo "❌ 预处理失败,未生成数据。"
exit 1
fi
echo "🔥 [6/6] 启动训练 (使用纯画面配置)..."
# 指向刚才生成的无音频配置文件
uv run python packages/ltx-trainer/scripts/train.py packages/ltx-trainer/configs/ltx2_lora.yaml
EOF
chmod +x /workspace/LTX-2/run_training.sh
echo "🎉 所有补丁应用完毕!现在可以训练图片了。"
/workspace/LTX-2/run_training.sh "1024x1024x1"
关于视频打标已经在之前视频讲过了,详细可以看 B站教程。
官方文档详细说明:https://github.com/Lightricks/LTX-2/blob/main/packages/ltx-trainer/docs/dataset-preparation.md
# 默认训练
/workspace/LTX-2/run_training.sh
# 自定义单分辨率
/workspace/LTX-2/run_training.sh "720x1280x49"
# 多分辨率混合
/workspace/LTX-2/run_training.sh "960x544x49,720x1280x49"
# 获取 LoRA 文件
mkdir -p /workspace/LTX-2/outputs/My_LoRAs
cp /workspace/LTX-2/outputs/checkpoints/*.safetensors /workspace/LTX-2/outputs/My_LoRAs/
