|
|
--- |
|
|
title: Zig |
|
|
emoji: 🏃 |
|
|
colorFrom: green |
|
|
colorTo: purple |
|
|
sdk: gradio |
|
|
sdk_version: 6.2.0 |
|
|
app_file: app.py |
|
|
pinned: false |
|
|
--- |
|
|
|
|
|
|
|
|
# Z-Image Hugging Face Space |
|
|
|
|
|
Gradio Space using the official Z-Image pipeline (`Tongyi-MAI/Z-Image-Turbo`) with optional LoRA injection (Civitai link you provided). There is **no SD1.5 fallback**—if the Z-Image model is unavailable, the Space will fail to load. |
|
|
|
|
|
## Files |
|
|
- `app.py`: Z-Image pipeline, FlowMatch scheduler, LoRA toggle/strength, simple gallery UI. |
|
|
- `requirements.txt`: Python deps for Spaces/local runs. |
|
|
- `lora/`: Place `zit-mystic-xxx.safetensors` here (or point `LORA_PATH` to your filename). |
|
|
- `.gitattributes`: Tracks `.safetensors` via Git LFS for large LoRA files. |
|
|
|
|
|
## Using on Hugging Face Spaces |
|
|
1) Create a Space (Python) and select a GPU hardware type. |
|
|
2) Add/clone this repo into the Space. |
|
|
3) Manually add the LoRA file from https://civitai.com/models/2206377/zit-mystic-xxx to `lora/zit-mystic-xxx.safetensors` (or set `LORA_PATH`). Network fetch of Civitai is not handled in the Space. |
|
|
4) If model download fails with a token error, set `HF_TOKEN` in the Space secrets (some repos require authentication). |
|
|
5) (Optional) Toggle advanced envs below; then the Space will launch `app.py`. The header shows whether the LoRA was detected/loaded. |
|
|
- If the header/log says `PEFT backend is required for LoRA`, install `peft` (already included in `requirements.txt`) and restart/rebuild. |
|
|
|
|
|
## Environment variables |
|
|
- `MODEL_PATH` (default `Tongyi-MAI/Z-Image-Turbo`): HF repo or local path for the Z-Image model. |
|
|
- `LORA_PATH` (default `lora/zit-mystic-xxx.safetensors`): Path to the LoRA file; loaded if present. |
|
|
- `HF_TOKEN`: HF token for gated/private models or faster pulls. |
|
|
- `MODEL_DTYPE` (default `auto`): `bf16` if supported, else `fp16` (override with `bf16`/`fp16`/`fp32`). |
|
|
- `ENABLE_COMPILE` (default `true`): Enable `torch.compile` on the transformer. |
|
|
- `ENABLE_WARMUP` (default `false`): Run a quick warmup across resolutions after load (adds startup time). |
|
|
- `ATTENTION_BACKEND` (default `flash_3`): Backend for transformer attention (falls back to `flash`/`xformers`/`native`). |
|
|
- `OFFLOAD_TO_CPU_AFTER_RUN` (default `false`): Move the model back to CPU after each generation (useful on ZeroGPU; slower on normal GPUs). |
|
|
- `ENABLE_AOTI` (default `true`): Try to load ZeroGPU AoTI blocks via `spaces.aoti_blocks_load` for faster inference. |
|
|
- `AOTI_REPO` (default `zerogpu-aoti/Z-Image`): AoTI blocks repo. |
|
|
- `AOTI_VARIANT` (default `fa3`): AoTI variant. |
|
|
- `AOTI_ALLOW_LORA` (default `false`): Allow AoTI to load even if LoRA adapters are loaded (may crash; AoTI blocks generally don’t support LoRA). |
|
|
- `DEBUG` (default `false`): When set to a truthy value (`1`, `true`, `yes`, `on`), hide the Status/Debug floating panel. |
|
|
|
|
|
## Run locally |
|
|
```bash |
|
|
python -m venv .venv |
|
|
.venv\Scripts\activate # Windows; on Linux/macOS: source .venv/bin/activate |
|
|
pip install -r requirements.txt |
|
|
python app.py |
|
|
``` |
|
|
Place the LoRA file under `lora/` first (or set `LORA_PATH`); otherwise the app will run the base Z-Image model without LoRA. |
|
|
|
|
|
## UI controls |
|
|
- Prompt |
|
|
- Resolution category + explicit WxH selection |
|
|
- Seed (with random toggle) |
|
|
- Steps + Time Shift |
|
|
- Advanced: CFG, scheduler + extra scheduler params, max sequence length |
|
|
- LoRA toggle + strength (enabled only if the file is found) |
|
|
|
|
|
## Git LFS note |
|
|
`.gitattributes` tracks `.safetensors` with LFS. If you commit the LoRA, run `git lfs install` once before pushing so large files go through LFS. |
|
|
|