Replicate prunaai/z-image-turbo-lora
Z-Image Turbo with LoRAs, and no VRAM budget at all
- IMAGE
- API_JSON
Z-Image Turbo is the model that killed Flux 2 Dev's launch hype. Alibaba's Tongyi-MAI lab distilled a 6B model down to roughly eight steps, and suddenly consumer GPUs were doing near-Flux quality in seconds - "Z-Image on 3060, 30 sec per gen" became a whole genre of thread. So here's the honest question: if it runs great locally, why would you want it as an API node?
Because the Replicate prunaai/z-image-turbo-lora node from the ComfyUI-API-DockerCPU pack is the version that runs on a machine with no GPU at all, and it adds LoRA stacking on top. Pruna AI hosts Z-Image Turbo on Replicate with LoRA support, and this node is the ComfyUI front door to that. On a CPU-only Docker box or a thin VM, "run a 6B model locally" is not an option - this is how you get Z-Image-quality output there anyway.
How it works
Same mechanism as every node in this pack: your prompt and settings go out as a Replicate prediction against prunaai/z-image-turbo-lora, and the model's reply comes back as an IMAGE tensor plus API_JSON (the payload that was sent). The node is generated straight from the model schema, so every parameter you'd set on Replicate's website is a widget in the graph.
The inputs that matter:
prompt- Z-Image rewards natural language over tag soup, and Chinese prompts give a noticeable adherence boost (the text encoder is Qwen3-4B, natively bilingual). Worth knowing even in an API context.num_inference_steps- default 8, which is exactly the distilled sweet spot. More steps on a distilled model often hurts quality; the schema notes the actual cost is steps minus one DiT forwards.guidance_scale- default 0, and the schema says it plainly: "Should be 0 for Turbo models." This is a CFG-1 distilled model. Crank it up and you're fighting the training.lora_weights- the headline. An array of LoRA URLs -.safetensors, tarballs, or zips. This is how you stack styles without ever downloading a checkpoint.lora_scales- one float per LoRA, defaulting to 1.0 each. Must match the count inlora_weights.width/height- both default 1024. Native range is roughly 1MP to 2MP; beyond that quality starts degrading, so generate small and upscale rather than pushing the slider.
seed for reproducibility, output_format (png/jpg/webp), output_quality - all behave exactly like you'd expect.
Install
ComfyUI Manager (search "ComfyUI-API-DockerCPU") or:
cd ComfyUI/custom_nodes
git clone https://github.com/trustypangolin/ComfyUI-API-DockerCPU
cd ComfyUI-API-DockerCPU && pip install -r requirements.txt
export REPLICATE_API_TOKEN="your_token_here"
Restart ComfyUI. No model downloads - that's the design. The node appears under π¨ DockerCPU API/π¨ Replicate.
Troubleshooting
- "Should be 0" is not a suggestion - if your output looks overcooked and contrasty, the first suspect is a non-zero
guidance_scale. Reset it and re-run before touching anything else. - LoRAs not applying -
lora_scalescount must matchlora_weightscount. And the weights need to be actual URLs Replicate can fetch, not local paths. - Bad quality at high resolution - you're past the native ceiling. Generate at ~1MP and upscale (SeedVR2 is right there in the same pack).
- Cost per image - the honest tradeoff. Locally, a 3060 does this in about 30 seconds for free. If you own a GPU and just want fast generation, run the local node and save the API call. This node is for CPU-only setups, or for the convenience of swapping LoRA URLs without touching your models folder.
- Young pack - April 2026, zero stars. Early-adopter territory, though the schema-driven approach means the wiring is straightforward.
The one-liner: this is the same Z-Image Turbo the community gushed over, minus the hardware requirement and plus proper LoRA stacking. If your box can't run a 6B model, it's how you get the hype anyway.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| dry_run | BOOLEAN | false | β |
| force_rerun | BOOLEAN | false | β |
| prompt | STRING | β | |
| heightopt | INT | 102464β1440 | β |
| widthopt | INT | 102464β1440 | β |
| num_inference_stepsopt | INT | 81β50 | β |
| guidance_scaleopt | FLOAT | 0.000β20 | β |
| seedopt | INT | 0 | β |
| lora_weightsopt | STRING | β | |
| lora_scalesopt | STRING | β | |
| output_formatopt | COMBO | jpg | 3 options: png, jpg, webp |
| output_qualityopt | INT | 800β100 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |
| API_JSON | STRING | β |