Git commit
$git rev-parse HEAD
b5d8120
Operating System & Version
Ubuntu 24.04
GGML backends
Vulkan
Command-line arguments used
sd-cli --diffusion-model "$DIFFUSION" --llm "$LLM" --vae "$VAE" --prompt "A quiet Japanese mountain temple after rain, wet stone steps, soft morning mist, hydrangeas, natural diffused light, detailed documentary photography, restrained colors" --steps 8 --cfg-scale 1.0 --sampling-method euler --width 512 --height 512 --seed 42 --diffusion-fa --offload-to-cpu --output krea2-turbo.png --verbose
Steps to reproduce
- Load Krea2 Turbo.
- Generate an image using
--cfg-scale 0.
- Observe the warning:
"unconditioned mode, images won't follow the prompt".
- The prompt is ignored.
- Repeat with
--cfg-scale 1; prompt conditioning works as expected.
What you expected to happen
Krea2 Turbo should follow the prompt when using --cfg-scale 0.
According to the official Krea2 documentation, Turbo is intended to be used with:
Therefore, I expected prompt conditioning to work normally with --cfg-scale 0.
What actually happened
When --cfg-scale 0 is used, stable-diffusion.cpp switches to unconditional generation.
The following warning is printed:
unconditioned mode, images won't follow the prompt
(use cfg-scale=1 for distilled models)
The generated image largely ignores the prompt.
Changing only --cfg-scale from 0 to 1 makes prompt conditioning work correctly.
Logs / error messages / stack trace
Version:
stable-diffusion.cpp master-714
commit b5d8120
sample_params:
txt_cfg: 0.00
img_cfg: 0.00
distilled_guidance: 3.50
[WARN] unconditioned mode, images won't follow the prompt
(use cfg-scale=1 for distilled models)
Additional context / environment details
Environment:
- OS: Ubuntu 24.04
- Backend: Vulkan
- GPU: AMD Radeon 780M (RADV PHOENIX)
Models:
- Krea-2-Turbo-Q4_K_M.gguf
- Qwen3VL-4B-Instruct-Q4_K_M.gguf
- wan_2.1_vae.safetensors
Command options:
--steps 8
--sampling-method euler
--cfg-scale 0
The same command with --cfg-scale 1 follows the prompt correctly.
The prompt is successfully tokenized and encoded by the Qwen3VL text encoder, so it appears that conditioning is disabled only because cfg-scale == 0.
I'm not sure whether this is intentional or an implementation issue. If this behavior is expected, it might be worth documenting in docs/krea2.md, since the official Krea2 documentation recommends CFG=0 for Turbo.
Git commit
$git rev-parse HEAD
b5d8120
Operating System & Version
Ubuntu 24.04
GGML backends
Vulkan
Command-line arguments used
sd-cli --diffusion-model "$DIFFUSION" --llm "$LLM" --vae "$VAE" --prompt "A quiet Japanese mountain temple after rain, wet stone steps, soft morning mist, hydrangeas, natural diffused light, detailed documentary photography, restrained colors" --steps 8 --cfg-scale 1.0 --sampling-method euler --width 512 --height 512 --seed 42 --diffusion-fa --offload-to-cpu --output krea2-turbo.png --verbose
Steps to reproduce
--cfg-scale 0."unconditioned mode, images won't follow the prompt".
--cfg-scale 1; prompt conditioning works as expected.What you expected to happen
Krea2 Turbo should follow the prompt when using
--cfg-scale 0.According to the official Krea2 documentation, Turbo is intended to be used with:
Therefore, I expected prompt conditioning to work normally with
--cfg-scale 0.What actually happened
When
--cfg-scale 0is used, stable-diffusion.cpp switches to unconditional generation.The following warning is printed:
unconditioned mode, images won't follow the prompt
(use cfg-scale=1 for distilled models)
The generated image largely ignores the prompt.
Changing only
--cfg-scalefrom0to1makes prompt conditioning work correctly.Logs / error messages / stack trace
Version:
stable-diffusion.cpp master-714
commit b5d8120
sample_params:
txt_cfg: 0.00
img_cfg: 0.00
distilled_guidance: 3.50
[WARN] unconditioned mode, images won't follow the prompt
(use cfg-scale=1 for distilled models)
Additional context / environment details
Environment:
Models:
Command options:
--steps 8
--sampling-method euler
--cfg-scale 0
The same command with
--cfg-scale 1follows the prompt correctly.The prompt is successfully tokenized and encoded by the Qwen3VL text encoder, so it appears that conditioning is disabled only because
cfg-scale == 0.I'm not sure whether this is intentional or an implementation issue. If this behavior is expected, it might be worth documenting in
docs/krea2.md, since the official Krea2 documentation recommends CFG=0 for Turbo.