Add Novel decrisper control
This commit is contained in:
parent
110d343eea
commit
d350dbf0d7
|
@ -243,6 +243,7 @@ const defaultSettings = {
|
|||
novel_anlas_guard: false,
|
||||
novel_sm: false,
|
||||
novel_sm_dyn: false,
|
||||
novel_decrisper: false,
|
||||
|
||||
// OpenAI settings
|
||||
openai_style: 'vivid',
|
||||
|
@ -387,6 +388,7 @@ async function loadSettings() {
|
|||
$('#sd_novel_sm').prop('checked', extension_settings.sd.novel_sm);
|
||||
$('#sd_novel_sm_dyn').prop('checked', extension_settings.sd.novel_sm_dyn);
|
||||
$('#sd_novel_sm_dyn').prop('disabled', !extension_settings.sd.novel_sm);
|
||||
$('#sd_novel_decrisper').prop('checked', extension_settings.sd.novel_decrisper);
|
||||
$('#sd_pollinations_enhance').prop('checked', extension_settings.sd.pollinations_enhance);
|
||||
$('#sd_pollinations_refine').prop('checked', extension_settings.sd.pollinations_refine);
|
||||
$('#sd_horde').prop('checked', extension_settings.sd.horde);
|
||||
|
@ -846,6 +848,11 @@ function onNovelSmDynInput() {
|
|||
saveSettingsDebounced();
|
||||
}
|
||||
|
||||
function onNovelDecrisperInput() {
|
||||
extension_settings.sd.novel_decrisper = !!$('#sd_novel_decrisper').prop('checked');
|
||||
saveSettingsDebounced();
|
||||
}
|
||||
|
||||
function onPollinationsEnhanceInput() {
|
||||
extension_settings.sd.pollinations_enhance = !!$('#sd_pollinations_enhance').prop('checked');
|
||||
saveSettingsDebounced();
|
||||
|
@ -2542,6 +2549,7 @@ async function generateNovelImage(prompt, negativePrompt) {
|
|||
height: height,
|
||||
negative_prompt: negativePrompt,
|
||||
upscale_ratio: extension_settings.sd.novel_upscale_ratio,
|
||||
decrisper: extension_settings.sd.novel_decrisper,
|
||||
sm: sm,
|
||||
sm_dyn: sm_dyn,
|
||||
}),
|
||||
|
@ -3185,6 +3193,7 @@ jQuery(async () => {
|
|||
$('#sd_novel_view_anlas').on('click', onViewAnlasClick);
|
||||
$('#sd_novel_sm').on('input', onNovelSmInput);
|
||||
$('#sd_novel_sm_dyn').on('input', onNovelSmDynInput);
|
||||
$('#sd_novel_decrisper').on('input', onNovelDecrisperInput);
|
||||
$('#sd_pollinations_enhance').on('input', onPollinationsEnhanceInput);
|
||||
$('#sd_pollinations_refine').on('input', onPollinationsRefineInput);
|
||||
$('#sd_comfy_validate').on('click', validateComfyUrl);
|
||||
|
|
|
@ -182,6 +182,14 @@
|
|||
</div>
|
||||
<label for="sd_scale" data-i18n="CFG Scale">CFG Scale (<span id="sd_scale_value"></span>)</label>
|
||||
<input id="sd_scale" type="range" min="{{scale_min}}" max="{{scale_max}}" step="{{scale_step}}" value="{{scale}}" />
|
||||
<div data-sd-source="novel" class="marginTopBot5">
|
||||
<label class="checkbox_label" for="sd_novel_decrisper" title="Reduce artifacts caused by high guidance values.">
|
||||
<input id="sd_novel_decrisper" type="checkbox" />
|
||||
<span data-i18n="Decrisper">
|
||||
Decrisper
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<label for="sd_steps" data-i18n="Sampling steps">Sampling steps (<span id="sd_steps_value"></span>)</label>
|
||||
<input id="sd_steps" type="range" min="{{steps_min}}" max="{{steps_max}}" step="{{steps_step}}" value="{{steps}}" />
|
||||
<label for="sd_width" data-i18n="Width">Width (<span id="sd_width_value"></span>)</label>
|
||||
|
@ -192,13 +200,13 @@
|
|||
<select id="sd_model"></select>
|
||||
<label for="sd_sampler" data-i18n="Sampling method">Sampling method</label>
|
||||
<select id="sd_sampler"></select>
|
||||
<label data-sd-source="horde" for="sd_horde_karras" class="checkbox_label">
|
||||
<label data-sd-source="horde" for="sd_horde_karras" class="checkbox_label marginTopBot5">
|
||||
<input id="sd_horde_karras" type="checkbox" />
|
||||
<span data-i18n="Karras (not all samplers supported)">
|
||||
Karras (not all samplers supported)
|
||||
</span>
|
||||
</label>
|
||||
<div data-sd-source="novel" class="flex-container">
|
||||
<div data-sd-source="novel" class="flex-container marginTopBot5">
|
||||
<label class="flex1 checkbox_label" data-i18n="[title]SMEA versions of samplers are modified to perform better at high resolution." title="SMEA versions of samplers are modified to perform better at high resolution.">
|
||||
<input id="sd_novel_sm" type="checkbox" />
|
||||
<span data-i18n="SMEA">
|
||||
|
@ -222,7 +230,7 @@
|
|||
<label for="sd_vae">VAE</label>
|
||||
<select id="sd_vae"></select>
|
||||
</div>
|
||||
<div class="flex-container marginTop10 margin-bot-10px">
|
||||
<div class="flex-container marginTopBot5">
|
||||
<label class="flex1 checkbox_label">
|
||||
<input id="sd_restore_faces" type="checkbox" />
|
||||
<span data-i18n="Restore Faces">Restore Faces</span>
|
||||
|
@ -232,7 +240,7 @@
|
|||
<span data-i18n="Hires. Fix">Hires. Fix</span>
|
||||
</label>
|
||||
</div>
|
||||
<div data-sd-source="auto,vlad,comfy,horde,drawthings">
|
||||
<div data-sd-source="auto,vlad,comfy,horde,drawthings" class="marginTopBot5">
|
||||
<label for="sd_clip_skip">CLIP Skip (<span id="sd_clip_skip_value"></span>)</label>
|
||||
<input type="range" id="sd_clip_skip" min="{{clip_skip_min}}" max="{{clip_skip_max}}" step="{{clip_skip_step}}" value="{{clip_skip}}" />
|
||||
</div>
|
||||
|
|
|
@ -264,7 +264,7 @@ router.post('/generate-image', jsonParser, async (request, response) => {
|
|||
qualityToggle: false,
|
||||
add_original_image: false,
|
||||
controlnet_strength: 1,
|
||||
dynamic_thresholding: false,
|
||||
dynamic_thresholding: request.body.decrisper ?? false,
|
||||
legacy: false,
|
||||
sm: request.body.sm ?? false,
|
||||
sm_dyn: request.body.sm_dyn ?? false,
|
||||
|
|
Loading…
Reference in New Issue