2025年9月26日金曜日

LTX-Video を M2 mac mini で動かしてみた

LTX-Video を M2 mac mini で動かしてみた

概要

LTX-Video は軽量な動画生成モデルです
今回は M2Pro mac mini 上で動かしてみました

環境

  • macOS 15.7
  • Python 3.10.12
  • LTX-Video (main revision: 53d263f31727a0021bf65e3e413d1cb139abb86b)

環境準備

  • git clone https://github.com/Lightricks/LTX-Video.git
  • cd LTX-Video
  • pyenv local 3.10.12
  • python -m venv env
  • source env/bin/activate
  • python -m pip install -e .\[inference\]
  • pip install av imageio 'imageio[ffmpeg]'

なぜか av と imageio がインストールされていなかったので手動でインストールしました

実行

今回使用するモデルは ltxv-2b-0.9.8-distilled になります
13b もありますが M2 Pro mac mini では動作しないと判断し軽量な 2b を使っています

入力の画像のサイズは 512x512 にしています

プロンプトは画像に合わせてどういう動画にしたいのかを入力する感じです

PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 \
python inference.py \
--prompt "A cute domestic short-haired cat riding a skateboard quickly along the street, cinematic, smooth motion, highly detailed, realistic lighting" \
--conditioning_media_paths ./input.png \
--conditioning_start_frames 0 \
--height 512 \
--width 512 \
--num_frames 16 \
--pipeline_config configs/ltxv-2b-0.9.8-distilled.yaml

最初に各種モデルのダウンロードが開始されます
結構いろいろなモデルをダウンロードするので全体で40GBほどあるので注意してください

num_frames を大きくすれば動画の長さも長くなります
ただ消費するメモリと生成時間も長くなるので注意してください
上記で紹介している num_frames=6 で生成までにだいたい20分ほどかかりました
動画のサイズは1秒にも満たない長さです

消費メモリはスワップも含めて30GBほどです
CPUとGPUは70%ほどの使用量で推移していました

生成されたファイルは outputs/2025-09-26/video_output_0_a-cute-domestic-shorthaired-cat_171198_512x512x6_1.mp4 という感じで生成されます

生成する動画の長さ

num_frames / frame_rate オプションで決まります
inference.py だとデフォルトは num_frames=121、frame_rate=30 なので4秒の動画が生成されます

なので今回のサンプルコマンドだと 16/30 なので0.5秒の動画になります
なお num_frames は作成したフレーム数+1するほうがいいようです

ちなみに M2 Pro mac mini で生成した際にデフォルトの値でも生成できました
生成時間は20分ほどでした
使用するメモリやCPU/GPUは変わりませんでした (生成する動画の長さに応じて使用するリソースは変化しないのかも?)

4秒版の動画は今の通りです

ちなみに num_frames=241 にしたところ untimeError: Invalid buffer size: 9.16 GiB が発生したので M2 Pro mac mini では 8 秒の長さが限界かもしれません

追記: 画像のサイズを256x256にし動画のサイズも256x256にしたらnum_frames=241でも生成できました

pip freeze

念の為動作したバージョンをメモしておきます

av==15.1.0
certifi==2025.8.3
charset-normalizer==3.4.3
diffusers==0.35.1
einops==0.8.1
filelock==3.19.1
fsspec==2025.9.0
hf-xet==1.1.10
huggingface-hub==0.35.1
idna==3.10
imageio==2.37.0
imageio-ffmpeg==0.6.0
importlib_metadata==8.7.0
Jinja2==3.1.6
-e git+https://github.com/Lightricks/LTX-Video.git@53d263f31727a0021bf65e3e413d1cb139abb86b#egg=ltx_video
MarkupSafe==3.0.2
mpmath==1.3.0
networkx==3.4.2
numpy==2.2.6
packaging==25.0
pillow==11.3.0
psutil==7.1.0
PyYAML==6.0.3
regex==2025.9.18
requests==2.32.5
safetensors==0.6.2
sentencepiece==0.2.1
sympy==1.14.0
timm==1.0.20
tokenizers==0.21.4
torch==2.8.0
torchvision==0.23.0
tqdm==4.67.1
transformers==4.51.3
typing_extensions==4.15.0
urllib3==2.5.0
zipp==3.23.0

最後に

LTX-Video を M2 pro mac mini 上で動かしてみました
これまで Stable Video Diffusion を試してきましたがそれよりも精度や生成スピードなどいろいろな点が良かった気がします

今回は2bモデルを使いましたが13bモデルのほうが精度はいいはずなので機会があれば試してみたいです (ltxv-13b-0.9.8-distilled)

ちなみに種類としては

  • dev -> 高クオリティ、低スピード、VRAM大量消費
  • mix -> 中クオリティ、高スピード、VRAM中消費
  • distilled -> 低クオリティ、中スピード、VRAM低消費

という感じっぽいです

参考サイト

0 件のコメント:

コメントを投稿