mirror of
https://github.com/easydiffusion/easydiffusion.git
synced 2024-11-26 02:05:09 +01:00
img2img prompt strength config
This commit is contained in:
parent
05f986ef14
commit
7fcd7918af
18
index.html
18
index.html
@ -87,7 +87,8 @@
|
|||||||
<label for="width">Width:</label> <select id="width" name="width" value="512"><option value="128">128</option><option value="256">256</option><option value="512" selected>512</option><option value="768">768</option><option value="1024">1024</option></select><br/>
|
<label for="width">Width:</label> <select id="width" name="width" value="512"><option value="128">128</option><option value="256">256</option><option value="512" selected>512</option><option value="768">768</option><option value="1024">1024</option></select><br/>
|
||||||
<label for="height">Height:</label> <select id="height" name="height" value="512"><option value="128">128</option><option value="256">256</option><option value="512" selected>512</option><option value="768">768</option></select><br/>
|
<label for="height">Height:</label> <select id="height" name="height" value="512"><option value="128">128</option><option value="256">256</option><option value="512" selected>512</option><option value="768">768</option></select><br/>
|
||||||
<label for="num_inference_steps">Number of inference steps:</label> <input id="num_inference_steps" name="num_inference_steps" value="50"><br/>
|
<label for="num_inference_steps">Number of inference steps:</label> <input id="num_inference_steps" name="num_inference_steps" value="50"><br/>
|
||||||
<label for="guidance_scale">Guidance Scale:</label> <input id="guidance_scale" name="guidance_scale" value="75" type="range" min="10" max="200"> <span id="guidance_scale_value"></span></span><br/>
|
<label for="guidance_scale">Guidance Scale:</label> <input id="guidance_scale" name="guidance_scale" value="75" type="range" min="10" max="200"> <span id="guidance_scale_value"></span><br/>
|
||||||
|
<span id="prompt_strength_container"><label for="prompt_strength">Prompt Strength:</label> <input id="prompt_strength" name="prompt_strength" value="8" type="range" min="0" max="10"> <span id="prompt_strength_value"></span><br/></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button id="makeImage">Make Image</button> <br/><br/>
|
<button id="makeImage">Make Image</button> <br/><br/>
|
||||||
@ -118,12 +119,15 @@ let widthField = document.querySelector('#width')
|
|||||||
let heightField = document.querySelector('#height')
|
let heightField = document.querySelector('#height')
|
||||||
let initImageSelector = document.querySelector("#init_image")
|
let initImageSelector = document.querySelector("#init_image")
|
||||||
let initImagePreview = document.querySelector("#init_image_preview")
|
let initImagePreview = document.querySelector("#init_image_preview")
|
||||||
|
let promptStrengthField = document.querySelector('#prompt_strength')
|
||||||
|
let promptStrengthValueLabel = document.querySelector('#prompt_strength_value')
|
||||||
|
|
||||||
let makeImageBtn = document.querySelector('#makeImage')
|
let makeImageBtn = document.querySelector('#makeImage')
|
||||||
|
|
||||||
let imagesContainer = document.querySelector('#images')
|
let imagesContainer = document.querySelector('#images')
|
||||||
let initImagePreviewContainer = document.querySelector('#init_image_preview_container')
|
let initImagePreviewContainer = document.querySelector('#init_image_preview_container')
|
||||||
let initImageClearBtn = document.querySelector('#init_image_clear')
|
let initImageClearBtn = document.querySelector('#init_image_clear')
|
||||||
|
let promptStrengthContainer = document.querySelector('#prompt_strength_container')
|
||||||
|
|
||||||
let showConfigToggle = document.querySelector('#configToggleBtn')
|
let showConfigToggle = document.querySelector('#configToggleBtn')
|
||||||
let configBox = document.querySelector('#config')
|
let configBox = document.querySelector('#config')
|
||||||
@ -201,6 +205,7 @@ async function makeImage() {
|
|||||||
|
|
||||||
if (initImagePreview.src.indexOf('data:image/png;base64') !== -1) {
|
if (initImagePreview.src.indexOf('data:image/png;base64') !== -1) {
|
||||||
reqBody['init_image'] = initImagePreview.src
|
reqBody['init_image'] = initImagePreview.src
|
||||||
|
reqBody['prompt_strength'] = promptStrengthField.value / 10
|
||||||
}
|
}
|
||||||
|
|
||||||
let res = ''
|
let res = ''
|
||||||
@ -289,6 +294,7 @@ async function makeImage() {
|
|||||||
initImagePreview.src = imgBody
|
initImagePreview.src = imgBody
|
||||||
|
|
||||||
initImagePreviewContainer.style.display = 'block'
|
initImagePreviewContainer.style.display = 'block'
|
||||||
|
promptStrengthContainer.style.display = 'block'
|
||||||
|
|
||||||
randomSeedField.checked = false
|
randomSeedField.checked = false
|
||||||
seedField.value = seed
|
seedField.value = seed
|
||||||
@ -320,6 +326,13 @@ function updateGuidanceScale() {
|
|||||||
guidanceScaleField.addEventListener('input', updateGuidanceScale)
|
guidanceScaleField.addEventListener('input', updateGuidanceScale)
|
||||||
updateGuidanceScale()
|
updateGuidanceScale()
|
||||||
|
|
||||||
|
function updatePromptStrength() {
|
||||||
|
promptStrengthValueLabel.innerHTML = promptStrengthField.value / 10
|
||||||
|
}
|
||||||
|
|
||||||
|
promptStrengthField.addEventListener('input', updatePromptStrength)
|
||||||
|
updatePromptStrength()
|
||||||
|
|
||||||
function checkRandomSeed() {
|
function checkRandomSeed() {
|
||||||
if (randomSeedField.checked) {
|
if (randomSeedField.checked) {
|
||||||
seedField.disabled = true
|
seedField.disabled = true
|
||||||
@ -334,6 +347,7 @@ checkRandomSeed()
|
|||||||
function showInitImagePreview() {
|
function showInitImagePreview() {
|
||||||
if (initImageSelector.files.length === 0) {
|
if (initImageSelector.files.length === 0) {
|
||||||
initImagePreviewContainer.style.display = 'none'
|
initImagePreviewContainer.style.display = 'none'
|
||||||
|
promptStrengthContainer.style.display = 'none'
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -344,6 +358,7 @@ function showInitImagePreview() {
|
|||||||
// console.log(file.name, reader.result)
|
// console.log(file.name, reader.result)
|
||||||
initImagePreview.src = reader.result
|
initImagePreview.src = reader.result
|
||||||
initImagePreviewContainer.style.display = 'block'
|
initImagePreviewContainer.style.display = 'block'
|
||||||
|
promptStrengthContainer.style.display = 'block'
|
||||||
})
|
})
|
||||||
|
|
||||||
if (file) {
|
if (file) {
|
||||||
@ -357,6 +372,7 @@ initImageClearBtn.addEventListener('click', function() {
|
|||||||
initImageSelector.value = null
|
initImageSelector.value = null
|
||||||
initImagePreview.src = ''
|
initImagePreview.src = ''
|
||||||
initImagePreviewContainer.style.display = 'none'
|
initImagePreviewContainer.style.display = 'none'
|
||||||
|
promptStrengthContainer.style.display = 'none'
|
||||||
})
|
})
|
||||||
|
|
||||||
setInterval(healthCheck, HEALTH_PING_INTERVAL * 1000)
|
setInterval(healthCheck, HEALTH_PING_INTERVAL * 1000)
|
||||||
|
2
main.py
2
main.py
@ -19,6 +19,7 @@ class ImageRequest(BaseModel):
|
|||||||
width: str = "512"
|
width: str = "512"
|
||||||
height: str = "512"
|
height: str = "512"
|
||||||
seed: str = "30000"
|
seed: str = "30000"
|
||||||
|
prompt_strength: str = "0.8"
|
||||||
|
|
||||||
@app.get('/')
|
@app.get('/')
|
||||||
def read_root():
|
def read_root():
|
||||||
@ -48,6 +49,7 @@ async def image(req : ImageRequest):
|
|||||||
|
|
||||||
if req.init_image is not None:
|
if req.init_image is not None:
|
||||||
data['input']['init_image'] = req.init_image
|
data['input']['init_image'] = req.init_image
|
||||||
|
data['input']['prompt_strength'] = req.prompt_strength
|
||||||
|
|
||||||
if req.seed == "-1":
|
if req.seed == "-1":
|
||||||
del data['input']['seed']
|
del data['input']['seed']
|
||||||
|
Loading…
Reference in New Issue
Block a user