Video

Install

uv tool install git+https://github.com/Blaizzy/mlx-video.git

Download Model

HF_HUB_DISABLE_XET=1 hf download Wan-AI/Wan2.2-TI2V-5B --local-dir Wan2.2-TI2V-5B --max-workers 1
HF_HUB_DISABLE_XET=1 hf download Wan-AI/Wan2.2-T2V-A14B --local-dir Wan2.2-T2V-A14B --max-workers 1

Convert

~/.local/share/uv/tools/mlx-video/bin/python -m mlx_video.models.wan_2.convert \
		--checkpoint-dir models/Wan-AI/Wan2.2-TI2V-5B \
		--output-dir models/Wan-AI/Wan2.2-TI2V-5B-mlx
~/.local/share/uv/tools/mlx-video/bin/python -m mlx_video.models.wan_2.convert \
		--checkpoint-dir models/Wan-AI/Wan2.2-T2V-A14B \
		--output-dir models/Wan-AI/Wan2.2-T2V-A14B-mlx \
		--dtype bfloat16

Run

Wan2.2-TI2V-5B
t2v
mlx_video.wan_2.generate \
		--model-dir models/Wan-AI/Wan2.2-TI2V-5B-mlx \
		--prompt 'A cinematic aerial shot of the Great Wall of China at sunrise' \
		--width 1280 \
		--height 704 \
		--num-frames 81 \
		--steps 40 \
		--guide-scale 5.0 \
		--shift 5.0 \
		--scheduler unipc \
		--seed 3478 \
		--output-path video/great_wall1.mp4
i2v
mlx_video.wan_2.generate \
		--model-dir models/Wan-AI/Wan2.2-TI2V-5B-mlx \
		--prompt 'A cat is boating on the river' \
		--image models/Wan-AI/Wan2.2-TI2V-5B/examples/i2v_input.JPG \
		--width 1280 \
		--height 704 \
		--num-frames 81 \
		--steps 40 \
		--guide-scale 5.0 \
		--shift 5.0 \
		--scheduler unipc \
		--seed 13633 \
		--output-path video/cat.mp4
Wan2.2-T2V-A14B
mlx_video.wan_2.generate \
		--model-dir models/Wan-AI/Wan2.2-T2V-A14B-mlx \
		--prompt 'A cinematic aerial shot of the Great Wall of China at sunrise' \
		--width 1280 \
		--height 720 \
		--num-frames 81 \
		--steps 40 \
		--guide-scale 3.0,4.0 \
		--shift 12.0 \
		--scheduler unipc \
		--seed 11846 \
		--output-path video/great_wall2.mp4

Upload

HF_HUB_DOWNLOAD_TIMEOUT=120 HF_HUB_DISABLE_XET=1 hf upload-large-folder rickylin20260522/Wan2.2-TI2V-5B-mlx models/Wan-AI/Wan2.2-TI2V-5B-mlx --repo-type model --num-workers 2

Audio

Install

brew install ffmpeg
uv pip install mlx mlx-audio

Convert

model
python -m mlx_audio.convert \
	--hf-path models/MediaTek-Research/Breeze-ASR-25 \
	--mlx-path models/MediaTek-Research/Breeze-ASR-25-mlx \
	--dtype bfloat16 \
	--model-domain stt
audio
ffmpeg \
	-i ~/Downloads/talk.m4a \
	-ar 16000 \
	-ac 1 \
	-c:a pcm_s16le \
	~/Downloads/talk.wav

Run

Breeze-ASR-25
python -m mlx_audio.stt.generate \
		--model models/MediaTek-Research/Breeze-ASR-25-mlx \
		--audio ~/Downloads/talk.wav \
		--output-path talk_text \
		--format json \
		--language zh \
		--verbose

Upload

hf upload-large-folder rickylin20260522/Breeze-ASR-25-mlx model/MediaTek-Research/Breeze-ASR-25-mlx --repo-type model --num-workers 1