Juggernaut Z Fast
Juggernaut Z Fast in ComfyUI — the whole realism lineage, minus your GPU
- seedImage
- maskImage
- outpaint
- lora
- ultralytics
- acceleratorOptions
- advancedFeatures.watermark.image
- image
Juggernaut was the answer to "which SDXL checkpoint for realistic people" for two straight years, and after Ragnarok closed the SDXL line in 2025, Kandoo and RunDiffusion restarted the brand on Alibaba's Z-Image base in 2026. This node is the Fast member of that new family, and it comes to your ComfyUI graph through Runware's cloud inference rather than as a checkpoint you download. No Z-Image weights on your disk, no VRAM budget, no --fp8 gambling - just a prompt and a per-run fee.
The one sentence you actually need: this is the drafting node. Runware's own model page is blunt about it - Juggernaut Z Fast is a LoRA-distilled variant built for rapid prototyping, for prompt testing, layout and lighting checks, and early composition work, before you switch to the higher-fidelity Juggernaut Z for the final pass. The tell is in the widgets: steps defaults to 8 and the scheduler to FlowMatchEulerDiscreteScheduler, both very Z-Image - flow-matching distilled models are happy at a handful of steps. It's a photoreal-ish workhorse for iterating, not a showpiece.
What you set. The required inputs are positivePrompt, width, and height (128–2048, step 16 - 1024² is a sane default for Z-Image). That's genuinely all you need to queue a first image. The optional fields worth knowing on day one:
seed- defaults to 0, and per the tooltip a missing seed means a random one in the unsigned 32-bit range, so don't expect lockstep reproducibility unless you set it.negativePrompt- ignored whenever guidance is off (CFG ≤ 1), which is how you should run a distilled model most of the time.numberResults- up to 20, each with its own seed; the cheapest way to explore a composition.seedImage+maskImage+strength- this node does img2img and inpainting too, all on Runware's side.- The
lora,outpaint, andultralyticssockets are for the pack's builder nodes (Runware/Params); skip them until you need them.
Output is a native IMAGE - wire it into Preview Image or Save Image and it behaves like any local sampler's result, even though the actual diffusion ran on Runware's backend.
Install. This is one pack for the whole Runware catalog, so it's a one-time setup:
# ComfyUI Manager (recommended): Custom Nodes Manager → search "Runware" → install → restart
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart ComfyUI, then add an API key from your Runware dashboard - paste it under ComfyUI Settings → Runware API key, or set RUNWARE_API_KEY. No model files download; everything in this pack is remote, and your only real dependency is runware-sdk plus pillow/soundfile for decoding results.
Where people get burned. It's a cloud node, so the usual API-node math applies: every queue is a metered call, and your prompt and any reference image leave the machine. ComfyUI shows you the cost of each run in the node's title bar (along with the NSFW flag when a content check ran) - watch it the first few times, because drafts add up fast if you iterate like it's free. And remember what "Fast" means: when a layout finally works, re-run the winning prompt on plain Juggernaut Z for the keeper.
Inputs (34)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| width | INT | 1024128–2048 | Width of the generated media in pixels. |
| height | INT | 1024128–2048 | Height of the generated media in pixels. |
| seedImageopt | IMAGE | — | |
| maskImageopt | IMAGE | — | |
| outpaintopt | RUNWARE_OUTPAINT | — | |
| loraopt | RUNWARE_LORA | — | |
| ultralyticsopt | RUNWARE_ULTRALYTICS | — | |
| acceleratorOptionsopt | RUNWARE_ACCELERATOROPTIONS | — | |
| advancedFeatures.watermark.imageopt | IMAGE | — | |
| negativePromptopt | STRING | Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1). | |
| seedopt | INT | 00–9223372036854776000 | Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range. |
| stepsopt | INT | 81–50 | Total number of denoising steps. Higher values generally produce more detailed results but take longer. |
| scheduleropt | COMBO | FlowMatchEulerDiscreteScheduler | Scheduler to use for the diffusion process. |
| CFGScaleopt | BOOLEAN | false | Enable to set CFGScale. Off uses the model's default. |
| CFGScale_valueopt | FLOAT | 0.000–20 | Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt. |
| strengthopt | BOOLEAN | false | Enable to set strength. This setting has usage rules in this model, so it is off unless you enable it. |
| strength_valueopt | FLOAT | 0.800–1 | Strength of the transformation. Lower values result in more influence from the original input. |
| maskMarginopt | BOOLEAN | false | Enable to set maskMargin. Off uses the model's default. |
| maskMargin_valueopt | INT | 3232–128 | Extra context pixels around the masked region during inpainting. The model zooms into the masked area with these additional pixels for better integration. |
| numberResultsopt | INT | 11–20 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| advancedFeaturesopt | BOOLEAN | false | Enable to set advancedFeatures. Off uses the model's default. |
| advancedFeatures.watermark.bgColoropt | STRING | Background color in hex format. | |
| advancedFeatures.watermark.displayPositionopt | COMBO | (default) | Watermark position. |
| advancedFeatures.watermark.fontColoropt | STRING | Text color in hex format. | |
| advancedFeatures.watermark.opacityopt | BOOLEAN | false | Enable to set advancedFeatures.watermark.opacity. Off uses the model's default. |
| advancedFeatures.watermark.opacity_valueopt | FLOAT | 0.100.1–1 | Watermark opacity. |
| advancedFeatures.watermark.textopt | STRING | Watermark text. | |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. Increases total generation time. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | JPG | File format for the generated image. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |