Nodes/Replicate Select/Z-Image Turbo I2I (Replicate)
ComfyUI Node

Z-Image Turbo I2I (Replicate)

Z-Image Turbo I2I — img2img with LoRA support, all in the cloud

By Pharma-Lobby·Created 2 months ago·Updated 2 months ago· 0
Z-Image Turbo I2I (Replicate)
  • image
  • image
prompt
strength0.60
num_inference_steps8
guidance_scale0.00
seed0
lora_weights
lora_scales
output_formatjpg
output_quality80

This is the img2img sibling of Replicate_prunaai_z_image_turbo, and it's the more interesting node of the pair for one reason: it can load LoRAs. In the cloud. The img2img variant of Alibaba's open Z-Image Turbo takes your image, your prompt, and optionally a list of LoRA weights via URL, and does the whole transformed-render on Replicate's hardware. If you've built a nice LoRA stack locally, this is the only node in this pack that lets you take it on the road without a GPU.

It's still an open model rented per call, so the same "why not run it locally" question applies - answer: no GPU. But the LoRA bit changes the math slightly: this node isn't just "generation without a card," it's "your tuned model without a card." That's a meaningfully different offer, and for a specific workflow it's worth the meter.

How it works

Standard pack engine around prunaai/z-image-turbo-img2img. Your input image goes up as PNG, the prompt rides along, and on the way the API loads any LoRAs you point it at. Output comes back as an IMAGE tensor. The img2img strength input controls how much of the original survives - same concept as local denoise strength, just with a cleaner name.

The inputs that matter

  • prompt (required) - the text prompt for the transformation.
  • image (required) - your input image.
  • strength - default 0.6. 0.0 is no change, 1.0 is full transformation. For a gentle restyle stick around 0.4–0.6; for a big re-render push toward 1.0.
  • num_inference_steps - default 8, and the tooltip adds a fun detail: it results in (num_inference_steps - 1) DiT forwards. Turbo rule stands - 8 is the target.
  • guidance_scale - default 0, should stay 0 for Turbo. Same trap as the T2I node.
  • lora_weights - the headline feature. A URL list as a string, e.g. ['https://example.com/lora1.safetensors', 'https://example.com/lora2.safetensors']. Supports .safetensors, tar, and zip URLs. The files have to be fetchable - Replicate's server downloads them, so no local paths.
  • lora_scales - one float per LoRA, defaults to 1.0 if omitted. Must match the count in lora_weights.
  • seed - set for reproducibility.
  • output_format / output_quality - jpg/80 by default.

Single output: image, an IMAGE tensor.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/Pharma-Lobby/ComfyUI-Replicate-Select

Or ComfyUI Manager → Install Custom Nodes → "Replicate Select", restart. Only dependency: replicate>=1.0.7. Auth as an environment variable:

export REPLICATE_API_TOKEN=r8_...

Where people get burned

  • LoRAs must be URL-addressable. Local paths won't work - Replicate's workers need to fetch the file themselves. Host it somewhere public or on the Files API first.
  • Mismatched LoRA/scale lists. The tooltip is blunt: scales must match the number of weights. A mismatch is an error, not a graceful default.
  • Strength surprises. 1.0 is a full transformation; expect the source to be unrecognizable. If you want "same person, new background," that's a much lower strength than you think.
CategoryReplicate Select/image

Inputs (10)

NameTypeDefaultDescription
promptSTRINGText prompt for image generation
imageIMAGEInput image for img2img
strengthoptFLOAT0.600–1Strength of the img2img transformation. 0.0 is no change, 1.0 is full transformation
num_inference_stepsoptINT81–50Number of inference steps. This actually results in (num_inference_steps - 1) DiT forwards
guidance_scaleoptFLOAT0.000–20Guidance scale. Should be 0 for Turbo models
seedoptINT0-2147483648–2147483647Random seed. Set for reproducible generation
lora_weightsoptSTRINGLoRA weights as an array of URLs. Supports .safetensors URLs, tar files, and zip files (e.g., ['https://example.com/lora1.safetensors', 'https://example.com/lora2.safetensors'])
lora_scalesoptSTRINGScales for each LoRA as an array of floats. Must match the number of lora_weights. Defaults to 1.0 for each if not provided.
output_formatoptCOMBOjpgFormat of the output images
output_qualityoptINT800–100Quality when saving the output images, from 0 to 100. 100 is best quality, 0 is lowest quality. Not relevant for .png outputs

Outputs (1)

NameTypeDescription
imageIMAGE