Standalone inference script for Zeta-Chroma, a pixel-space DiT finetuned from Z-Image-Turbo.
No ComfyUI required — runs directly with PyTorch + Transformers.
Requires Python 3.13+ and uv:
uv sync
Model weights (~13GB) and the text encoder are downloaded automatically from Hugging Face on first run.
# Basic generation (1024×1024, 30 steps, no CFG)
uv run python inference.py --prompt "a cat sitting on a windowsill"
# With classifier-free guidance and negative prompt
uv run python inference.py \
--prompt "a portrait photograph" \
--negative_prompt "blurry, low quality, deformed" \
--cfg_scale 3.0 --steps 12
# Custom resolution and seed
uv run python inference.py \
--prompt "a landscape" \
--width 1024 --height 1024 \
--seed 123 --output landscape.png
| Flag | Default | Description |
|---|---|---|
--prompt | (required) | Text prompt (up to 512 tokens) |
--negative_prompt | "" | Negative prompt (only used when cfg_scale > 1.0) |
--output | output.png | Output file path |
--width | 1024 | Image width (must be divisible by 32) |
--height | 1024 | Image height (must be divisible by 32) |
--steps | 30 | Sampling steps (12 to 70 recommended) |
--cfg_scale | 0.0 | CFG scale (0.0 = no guidance, 3.0 = moderate) |
--seed | 42 | Random seed |
--max_tokens | 512 | Max text encoder tokens |
Based on experimentation:
1 commits
Python
100.0%
Standalone inference script for Zeta-Chroma, a pixel-space DiT finetuned from Z-Image-Turbo.
No ComfyUI required — runs directly with PyTorch + Transformers.
Requires Python 3.13+ and uv:
uv sync
Model weights (~13GB) and the text encoder are downloaded automatically from Hugging Face on first run.
# Basic generation (1024×1024, 30 steps, no CFG)
uv run python inference.py --prompt "a cat sitting on a windowsill"
# With classifier-free guidance and negative prompt
uv run python inference.py \
--prompt "a portrait photograph" \
--negative_prompt "blurry, low quality, deformed" \
--cfg_scale 3.0 --steps 12
# Custom resolution and seed
uv run python inference.py \
--prompt "a landscape" \
--width 1024 --height 1024 \
--seed 123 --output landscape.png
| Flag | Default | Description |
|---|---|---|
--prompt | (required) | Text prompt (up to 512 tokens) |
--negative_prompt | "" | Negative prompt (only used when cfg_scale > 1.0) |
--output | output.png | Output file path |
--width | 1024 | Image width (must be divisible by 32) |
--height | 1024 | Image height (must be divisible by 32) |
--steps | 30 | Sampling steps (12 to 70 recommended) |
--cfg_scale | 0.0 | CFG scale (0.0 = no guidance, 3.0 = moderate) |
--seed | 42 | Random seed |
--max_tokens | 512 | Max text encoder tokens |
Based on experimentation:
1 commits
Python
100.0%