nic0le โ€” Z-Image Turbo LoRA

Character LoRA for Z-Image Turbo. Trigger word: nic0le.

Trained with ostris/ai-toolkit.

Companion to artokun/nic0le-krea2, which is the same subject trained on Krea 2 Raw. They target different base models and are not interchangeable.

Checkpoints

File Steps
nic0le_zt_000002000.safetensors 2000
nic0le_zt_000002250.safetensors 2250
nic0le_zt_000002500.safetensors 2500
nic0le_zt_000002750.safetensors 2750
nic0le_zt.safetensors 3000 (final)

Training

Base Tongyi-MAI/Z-Image-Turbo (arch zimage:turbo, qfloat8 quantized for training)
Network LoRA, linear 32 / alpha 32
Steps 3000, batch size 1
Optimizer adamw8bit, lr 1e-4, constant
Scheduler flowmatch, linear timesteps
Dataset 19 images at 1024px, captioned with nic0le as the leading token

Usage in ComfyUI

UNETLoader   z_image_turbo_bf16.safetensors โ†’ LoraLoaderModelOnly (this LoRA) โ†’ KSampler
CLIPLoader   qwen_3_4b.safetensors  type=qwen_image
VAELoader    ae.safetensors  (the Z-Image / Flux-style AE, NOT the Qwen image VAE)

Z-Image Turbo is distilled: ~6 steps at cfg 1, res_multistep / simple. Higher cfg over-cooks it.

Useful as a refiner / detailer LoRA

Beyond plain text-to-image, this works well driving a second-pass refiner or an Impact-Pack detailer over output from another model. Without a character LoRA on the refine pass, DetailerForEach re-renders the face with a model that has never seen the subject, and the likeness drifts. Loading this on the refiner's model input keeps identity through the detail pass.

Two large model families in one workflow

If you chain Z-Image with another large model (Krea 2, Flux, etc.) in a single graph, free VRAM between model loads. Loading a second family alongside the first silently corrupted the second model's weights in our testing โ€” sampling to NaN, producing uniform black output with no error in the log. A /free call before the run fixed it completely.

Downloads last month
16
Inference Providers NEW

Model tree for artokun/nic0le-zimage

Adapter
(847)
this model