Tune static workflows to CyberRealisticXL recommended settings
The static workflow JSONs default to CyberRealisticXLPlay (set in an earlier commit), but the KSampler still had euler/normal/CFG7/20 — the generic settings I scaffolded with. Updated to the creator-published defaults: dpmpp_2m_sde / karras / CFG 4 / 28 steps. CLIP skip 1 already correct (no node needed; default behavior). Added a section to the deployment README spelling out the trade-off: static workflows are locked to one checkpoint family at a time because Open WebUI's nodes mapping doesn't expose sampler/CFG/scheduler/CLIP skip/prefix. For multi-checkpoint use, the smart_image_gen Tool path is the only one that gets these right per-prompt. Re-paste workflows into Open WebUI Settings → Images to pick up. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -202,11 +202,31 @@ provides a prompt, image, seed, etc. Each entry:
|
||||
|
||||
Recognised `type` strings (per Open WebUI source): `model`, `prompt`,
|
||||
`negative_prompt`, `width`, `height`, `n` (batch size), `steps`, `seed`,
|
||||
and `image` (img2img / edit only).
|
||||
and `image` (img2img / edit only). Notably **not** mappable: sampler,
|
||||
scheduler, CFG, CLIP skip, prompt prefix.
|
||||
|
||||
If you swap in a fancier workflow (SDXL, Flux, ControlNet, custom
|
||||
samplers, NL masking via SAM nodes, etc.), update the matching
|
||||
`*.nodes.json` so the node IDs and input keys still line up.
|
||||
This means the static workflow JSONs are tuned for a single checkpoint
|
||||
family at a time. The shipped defaults match
|
||||
`CyberRealisticXLPlay_V8.0_FP16.safetensors`
|
||||
(`dpmpp_2m_sde` / `karras` / CFG 4 / 28 steps / CLIP skip 1 / no prefix).
|
||||
**If you change the admin's Default Model to a different checkpoint
|
||||
family** (Pony, NoobAI, Illustrious, etc.), edit the workflow JSONs:
|
||||
|
||||
- `KSampler` node: change `sampler_name`, `scheduler`, `cfg`, `steps`
|
||||
- For checkpoints needing CLIP skip 2: add a `CLIPSetLastLayer` node and
|
||||
rewire `CLIPTextEncode` nodes through it (see
|
||||
[openwebui-tools/smart_image_gen.py](openwebui-tools/smart_image_gen.py)
|
||||
for the exact graph).
|
||||
- For Pony or NoobAI/Illustrious: the required quality-tag prefix
|
||||
(`score_9, score_8_up, ...` or `masterpiece, best quality, ...`) has
|
||||
to be typed by the user every time, since the workflow can't inject
|
||||
it. **For multi-checkpoint deployments, use the smart_image_gen Tool
|
||||
instead** — it handles per-checkpoint sampler / CFG / steps / CLIP
|
||||
skip / prefix automatically based on the LLM's `style` choice.
|
||||
|
||||
If you swap in a fancier workflow (Flux, ControlNet, NL masking via
|
||||
SAM nodes, etc.), update the matching `*.nodes.json` so the node IDs
|
||||
and input keys still line up.
|
||||
|
||||
## Common gotchas
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
"class_type": "KSampler",
|
||||
"inputs": {
|
||||
"seed": 0,
|
||||
"steps": 20,
|
||||
"cfg": 7,
|
||||
"sampler_name": "euler",
|
||||
"scheduler": "normal",
|
||||
"steps": 28,
|
||||
"cfg": 4.0,
|
||||
"sampler_name": "dpmpp_2m_sde",
|
||||
"scheduler": "karras",
|
||||
"denoise": 0.75,
|
||||
"model": ["4", 0],
|
||||
"positive": ["6", 0],
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
"class_type": "KSampler",
|
||||
"inputs": {
|
||||
"seed": 0,
|
||||
"steps": 20,
|
||||
"cfg": 7,
|
||||
"sampler_name": "euler",
|
||||
"scheduler": "normal",
|
||||
"steps": 28,
|
||||
"cfg": 4.0,
|
||||
"sampler_name": "dpmpp_2m_sde",
|
||||
"scheduler": "karras",
|
||||
"denoise": 1,
|
||||
"model": ["4", 0],
|
||||
"positive": ["6", 0],
|
||||
|
||||
Reference in New Issue
Block a user