Spaces:
Running
Running
File size: 2,637 Bytes
ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff ce45d75 ea83dff | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | ---
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](https://huggingface.co/Lightricks/LTX-2.3) CPU**, `cond_safe` distill 1.1 + Sulphur-2 merge = [10Eros](https://huggingface.co/TenStrip/LTX2.3-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
```bash
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
```bash
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
- [Lightricks/LTX-2.3](https://huggingface.co/Lightricks/LTX-2.3) -- base model
- [Kijai/LTX2.3_comfy](https://huggingface.co/Kijai/LTX2.3_comfy) -- comfy weights + tiny VAE
- [city96/ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF) -- GGUF loader with per-layer dequant
- [TenStrip](https://huggingface.co/TenStrip/LTX2.3_Distilled_Lora_1.1_Experiments) -- cond_safe distill LoRA
- [unsloth](https://huggingface.co/unsloth/LTX-2.3-GGUF) -- GGUF quantization
## License
Same as upstream [LTX-2 Community License](https://github.com/Lightricks/LTX-2/blob/main/LICENSE).
|