RUN — как запускать генерацию
Быстрый старт
cd /home/ubuntu/video
CUDA_VISIBLE_DEVICES=0 python3 generate.py \
--pose drive.mp4 \
--ref dealer/ \
-o output.mp4 \
--width 832 --height 480 \
--steps 6 --shift 5 \
--lora "lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors" \
--lora-strength 0.8 \
--fps 16 --mask \
--positive "The person dances and gestures in a studio" \
--negative ""
Время: ~1 мин SAM3-маски (только первый раз, дальше кэш) + ~1 мин загрузка моделей + ~1 мин генерация (81 кадр, 6 шагов).
Обязательные параметры (критичные!)
| Параметр | Значение | Почему |
|---|---|---|
--shift |
5 | Без ModelSamplingSD3 shift — мыльное пятно вместо видео |
--sampler |
euler (default) | Эталон из workflow автора |
--scheduler |
simple (default) | Эталон из workflow автора |
--steps |
6 (default) | С distill-LoRA хватает; 20 без LoRA — хуже |
--lora |
lightx2v...rank64 | Distill LoRA, включает cfg=1 + мало шагов |
--lora-strength |
0.8 | Как в workflow автора |
--negative |
"" | У автора пустой |
Ключевые флаги
--ref— файл ИЛИ директория. Директория = мультиреференс (первый по алфавиту = основной, остальные = доп. виды). Нативная поддержка SCAIL-2, до N изображений.--mask— SAM3-маски (pose_video_mask + reference_image_mask). Кэшируются в./mask_cache/по хэшу входных файлов. Повторный прогон — маски из кэша.--replacement-mode— режим замены (маски: белый фон для pose, чёрный для ref). С портретными рефами пока даёт мусор — см. NOTES.md.--chunk-length 81 --overlap 5— для видео >81 кадра идёт auto-extend чанками.--max-frames N— обрезать входное видео.--seed— для воспроизводимости. Внутри чанков seed инкрементируется.
Типичные проблемы
- Мыльное пятно → забыл
--shift 5или LoRA. - OOM при масках → уже починено (inference_mode в masks.py); если повторится — не грузить ничего до SAM3.
- Персона по центру вместо позиции из видео → известная проблема animation mode, см. NOTES.md.
- GPU: работаем только на
cuda:0. GPU 2–6 заняты чужой тренировкой (train-babka.py) — НЕ ТРОГАТЬ.
Файлы проекта
generate.py— основной скрипт (загрузка моделей → маски → генерация → mp4)masks.py— SAM3-маски с кэшем (single-person, max_objects=1)composite.py— crop-around-person + composite-back (написан, ещё НЕ подключён)mask_cache/— кэш масок (.pt)