AUTOMATIC1111 / stable-diffusion-webui

Stable Diffusion web UI
GNU Affero General Public License v3.0
141.7k stars 26.77k forks source link

[Bug]: Img2Img API returns image with unexpected size when a mask is present in the request #8262

Open yadreny opened 1 year ago

yadreny commented 1 year ago

Is there an existing issue for this?

What happened?

When using a mask in a request, the resulting image has size different from the specified. In detail, the image with size 1280x760 has been downscaled to 1024x512. This problem occurs when using the API, everything works correctly through the form.

Steps to reproduce the problem

Just add a mask to request.

What should have happened?

It would be nice if the API will return image with specified size, like WebUI form do.

Commit where the problem happens

0cc0ee1bcb4c24a8c9715f66cede06601bfc00c8

What platforms do you use to access the UI ?

Windows

What browsers do you use to access the UI ?

Google Chrome

Command Line Arguments

set COMMANDLINE_ARGS=
call webui.bat --api

List of extensions

sd-webui-controlnet

Console logs

venv "D:\SD\new sd\stable-diffusion-webui\venv\Scripts\Python.exe"
Python 3.10.9 (tags/v3.10.9:1dd9be6, Dec  6 2022, 20:01:21) [MSC v.1934 64 bit (AMD64)]
Commit hash: 0cc0ee1bcb4c24a8c9715f66cede06601bfc00c8
Installing requirements for Web UI

Launching Web UI with arguments: --api
No module 'xformers'. Proceeding without it.
Loading weights [0aecbcfa2c] from D:\SD\new sd\stable-diffusion-webui\models\Stable-diffusion\dreamlike-diffusion-1.0.ckpt
Creating model from config: D:\SD\new sd\stable-diffusion-webui\configs\v1-inference.yaml
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
Applying cross attention optimization (Doggettx).
Textual inversion embeddings loaded(0):
Model loaded in 4.1s (load weights from disk: 0.8s, create model: 0.4s, apply weights to model: 0.5s, apply half(): 0.8s, move model to device: 0.7s, load textual inversion embeddings: 0.9s).
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
100%|██████████████████████████████████████████████████████████████████████████████████| 46/46 [01:58<00:00,  2.57s/it]
100%|██████████████████████████████████████████████████████████████████████████████████| 46/46 [01:56<00:00,  2.54s/it]
Total progress: 92it [05:31,  2.62s/it]

Additional information

Here is ths request { "init_images":["img"], "mask":"img", "width":1280, "height":760, "denoising_strength":0,75, "resize_mode":1, "mask_blur":1, "inpainting_mask_invert":0, "inpainting_fill":0, "inpaint_full_res":true, "inpaint_full_res_padding":0, "batch_size":1, "n_iter":1, "steps":60, "cfg_scale":10, "prompt":"text", "negative_prompt":"text", "style":[], "seed":7777, "subseed":-1, "subseed_strength":0, "seed_resize_from_h":-1, "seed_resize_from_w":-1, "restore_faces":false, "sampler_index":"Euler a", "batch_count":1 }

arrix commented 1 year ago

You need to specify false for inpaint_full_res, which corresponds to "Whole picture" for "Inpaint area" in web ui.

diplomatist commented 1 year ago

You need to specify false for inpaint_full_res, which corresponds to "Whole picture" for "Inpaint area" in web ui.

Hello, where did you find the corresponding webui function for this parameter? Can you provide me with a document link? Thank you.

yuki1sntSnow commented 1 year ago

I have encountered the same issue as you. When using the img2img API without the mask parameter, the result is resized. However, when using the mask parameter, the result does not resize. Here are my request and response.

Request

{
  "prompt": "string",
  "negative_prompt": "EasyNegative",
  "width": 512,
  "height": 512,
  "sampler_name": "DPM++ SDE Karras",
  "denoising_strength": 0.75,
  "resize_mode": 0,
  "mask_blur": 0,
  "inpainting_fill": 0,
  "inpaint_full_res": true,
  "inpainting_mask_invert": 0,
  "inpaint_full_res_padding": 0,
  "batch_size": 1,
  "steps": 20,
  "seed": -1,
  "cfg_scale": 7,
  "init_images": ["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"],
  "mask": "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"
}

Response: The decoded base64 image resolution is 32 * 32, not 512 * 512.

{
  "images": [
    "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"
  ],
  "parameters": {
    "init_images": null,
    "resize_mode": 0,
    "denoising_strength": 0.75,
    "image_cfg_scale": null,
    "mask": null,
    "mask_blur": 0,
    "inpainting_fill": 0,
    "inpaint_full_res": true,
    "inpaint_full_res_padding": 0,
    "inpainting_mask_invert": 0,
    "initial_noise_multiplier": null,
    "prompt": "string",
    "styles": null,
    "seed": -1,
    "subseed": -1,
    "subseed_strength": 0,
    "seed_resize_from_h": -1,
    "seed_resize_from_w": -1,
    "sampler_name": "DPM++ SDE Karras",
    "batch_size": 1,
    "n_iter": 1,
    "steps": 20,
    "cfg_scale": 7,
    "width": 512,
    "height": 512,
    "restore_faces": false,
    "tiling": false,
    "do_not_save_samples": false,
    "do_not_save_grid": false,
    "negative_prompt": "EasyNegative",
    "eta": null,
    "s_min_uncond": 0,
    "s_churn": 0,
    "s_tmax": null,
    "s_tmin": 0,
    "s_noise": 1,
    "override_settings": null,
    "override_settings_restore_afterwards": true,
    "script_args": [],
    "sampler_index": "Euler",
    "include_init_images": false,
    "script_name": null,
    "send_images": true,
    "save_images": false,
    "alwayson_scripts": {}
  },
  "info": "{\"prompt\": \"string\", \"all_prompts\": [\"string\"], \"negative_prompt\": \"EasyNegative\", \"all_negative_prompts\": [\"EasyNegative\"], \"seed\": 4183637642, \"all_seeds\": [4183637642], \"subseed\": 1513884820, \"all_subseeds\": [1513884820], \"subseed_strength\": 0, \"width\": 512, \"height\": 512, \"sampler_name\": \"DPM++ SDE Karras\", \"cfg_scale\": 7.0, \"steps\": 20, \"batch_size\": 1, \"restore_faces\": false, \"face_restoration_model\": null, \"sd_model_hash\": \"59ffe2243a\", \"seed_resize_from_w\": -1, \"seed_resize_from_h\": -1, \"denoising_strength\": 0.75, \"extra_generation_params\": {\"Noise multiplier\": 0.5}, \"index_of_first_image\": 0, \"infotexts\": [\"string\\nNegative prompt: EasyNegative\\nSteps: 20, Sampler: DPM++ SDE Karras, CFG scale: 7.0, Seed: 4183637642, Size: 512x512, Model hash: 59ffe2243a, Model: ChilloutMix-ni-fp16, Seed resize from: -1x-1, Denoising strength: 0.75, Clip skip: 2, Noise multiplier: 0.5\"], \"styles\": [], \"job_timestamp\": \"20230626141615\", \"clip_skip\": 2, \"is_using_inpainting_conditioning\": false}"
}
hdh999 commented 1 year ago

You need to specify false for inpaint_full_res, which corresponds to "Whole picture" for "Inpaint area" in web ui.

Thanks. You've helped me a lot.