schedulers_sigma is a hidden OptionInfo registration; the visible control is the sampler-accordion dropdown. Its choices still listed the k-diffusion set, including polyexponential (which the diffusers backend does not support) and omitting betas, lambdas, and flowmatch. Align the list with what sd_samplers_diffusers accepts and the dropdown offers. The list feeds warn-only validation, so this clears a dead value and spurious debug logs, not user-facing behavior.
img2img still defaulted sampler_name to UniPC after the txt2img default was switched to Default in 7fbac675f, so an img2img request that omits the sampler forced UniPC instead of keeping the model's own scheduler. The control endpoint already used Default; align img2img with both.
validate_sampler_name only matched the exact, case-sensitive name, so near-miss client names such as lowercase variants were rejected while an omitted name silently used the model scheduler via the Default sentinel. Fall back to find_sampler and return the canonical name so create_sampler applies the intended sampler; unknown names still return 404. Add an API test covering case-insensitive resolution and rejection of unknown names.
Gradio renders radio and checkboxgroup titles as a bare block-info span
outside any label, so the hint scan missed them and those titles never
received a tooltip or localization. Add the block-info selector to the
element scan, deduplicating against the nodes already collected.
Rebuild the core bundle.
Document the space or comma separated model-type list that quantization
skips, with the family codes shown in the load log and an example.
Mark it as requiring a model reload, matching the other quantization
settings, since the value is read only during model load.
Nothing sets keep_prompts on the model, so the guard never affected behavior.
JSON-caption prompts are preserved by the JSON short-circuit in
apply_curly_braces_to_prompt; the per-process p.keep_prompts path
(detailer, mixture-of-diffusers) is unchanged.
The prompt-enhancer grafts an lm_head onto the shared Qwen3-VL body, so its
forward needs a device guard the stock forward lacks. Applying that patch
globally at load left it active for the whole process, including unrelated
Qwen3-VL users such as the VQA captioner.
Apply the hijack around the enhancer generate call and restore the stock
forward in a finally, so the patch affects only the ideogram enhancer.
Register the subclass with generic.set_pipeline and build it with
from_pretrained, passing the SDNQ transformers and shared text encoder
while the vae, scheduler, and tokenizer load from the repo.
The dynamic-prompt brace processor in apply_styles_to_prompts strips the
{} and [] out of a JSON caption, leaving non-JSON that trips the model's
weight-baked safety placeholder. Let a model opt out of style and wildcard
processing via keep_prompts and set it for Ideogram4, then normalize the
prompt in encode_prompt: valid JSON to the compact training form, plain
text wrapped into a minimal caption so basic prompts still generate.