ltx-2.3-cpu / README.md
Nekochu's picture
LTX 2.3 CPU Space: 10Eros + cond_safe distill via ComfyUI GGUF
ea83dff
metadata
title: LTX 2.3 CPU
emoji: 🎬
colorFrom: purple
colorTo: red
sdk: docker
app_port: 7860
pinned: false
license: other
short_description: 22B video diffusion on free CPU via GGUF + ComfyUI

LTX 2.3 CPU

LTX 2.3 CPU, cond_safe distill 1.1 + Sulphur-2 merge = 10Eros.

How it works

ComfyUI runs headless with --cpu --force-fp32 --cache-none. Models are GGUF (mmap'd from disk, per-layer dequant). Workflow matches RuneXX's proven LTX 2.3 GGUF pattern: DualCLIPLoaderGGUF + SamplerCustomAdvanced + CFGGuider.

Component Source Size Format
DiT unsloth/LTX-2.3-GGUF distilled-1.1 13.4 GB UD-Q3_K_M GGUF (Unsloth Dynamic 2.0)
Text encoder unsloth/gemma-3-12b-it-GGUF ~6 GB Q3_K_M GGUF
Text projection Kijai/LTX2.3_comfy 2.2 GB bf16 safetensors
VAE Kijai/LTX2.3_comfy (TaeL tiny VAE) 22 MB safetensors
LoRA TenStrip/LTX2.3_Distilled_Lora_1.1_Experiments cond_safe 662 MB safetensors

Performance

First call downloads ~20 GB of models (cached on 50 GB ephemeral disk). Verified benchmark:

Resolution Duration Steps Time Hardware
512x320 2 sec 8 (distilled-1.1) 74 min free CPU (2 vCPU)

Curl test

TOKEN="hf_xxx"
SPACE="https://werecooking-ltx-2-3-cpu.hf.space"

EVT=$(curl -s -X POST "$SPACE/gradio_api/call/generate" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"data":["A woman walking through a neon-lit Tokyo alley", 2.0, 8, -1]}' \
  | python -c "import sys,json;print(json.load(sys.stdin)['event_id'])")
curl -sN "$SPACE/gradio_api/call/generate/$EVT" -H "Authorization: Bearer $TOKEN"

Logs

curl -N -H "Authorization: Bearer $TOKEN" "https://huggingface.co/api/spaces/WeReCooking/ltx-2.3-cpu/logs/build"
curl -N -H "Authorization: Bearer $TOKEN" "https://huggingface.co/api/spaces/WeReCooking/ltx-2.3-cpu/logs/run"

Credits

License

Same as upstream LTX-2 Community License.