kabachuha / sd-webui-text2video

Auto1111 extension implementing text2video diffusion models (like ModelScope or VideoCrafter) using only Auto1111 webui dependencies
Other
1.28k stars 106 forks source link

API Args Dict [Bug]: #140

Closed dotsimulate closed 1 year ago

dotsimulate commented 1 year ago

Is there an existing issue for this?

Are you using the latest version of the extension?

What happened?

API isn't working with the progress bar changes. I noticed this at first when it was changed, but had fixed this one my end by changing render.py line 17 back to [i+0]... But I just realized that that change breaks things in the webui. and after testing the call in the local docs, I am getting the same error.

Steps to reproduce the problem

  1. Go to local docs to test out api
  2. Add test parameters and run the t2v/run
  3. IndexError: tuple index out of range

What should have happened?

No response

WebUI and Deforum extension Commit IDs

webui commit id - 22bcc7be txt2vid commit id - 4fea1ada

What GPU were you using for launching?

4080/16g

On which platform are you launching the webui backend with the extension?

Local PC setup (Windows)

Settings

This is specific to the API and not the webui, but I can confirm that the API call was working before this change to render.py and is working currently when I change the [i+2] to [i+0]

Console logs

venv "F:\SD-Master\3.28\torch1\stable-diffusion-webui\venv\Scripts\Python.exe"
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
Commit hash: 22bcc7be428c94e9408f589966c2040187245d81
Installing requirements for Web UI

Launching Web UI with arguments: --api --vae-path models\Stable-diffusion\vae-ft-mse-840000-ema-pruned.vae.pt --xformers
Error running preload() for F:\SD-Master\3.28\torch1\stable-diffusion-webui\extensions\sd-webui-controlnet\preload.py
Traceback (most recent call last):
  File "F:\SD-Master\3.28\torch1\stable-diffusion-webui\modules\script_loading.py", line 28, in preload_extensions
    module.preload(parser)
  File "F:\SD-Master\3.28\torch1\stable-diffusion-webui\extensions\sd-webui-controlnet\preload.py", line 2, in preload
    parser.add_argument("--controlnet-dir", type=str, help="Path to directory with ControlNet models", default=None)
  File "C:\Users\DotSimulate\AppData\Local\Programs\Python\Python310\lib\argparse.py", line 1441, in add_argument
    return self._add_action(action)
  File "C:\Users\DotSimulate\AppData\Local\Programs\Python\Python310\lib\argparse.py", line 1807, in _add_action
    self._optionals._add_action(action)
  File "C:\Users\DotSimulate\AppData\Local\Programs\Python\Python310\lib\argparse.py", line 1643, in _add_action
    action = super(_ArgumentGroup, self)._add_action(action)
  File "C:\Users\DotSimulate\AppData\Local\Programs\Python\Python310\lib\argparse.py", line 1455, in _add_action
    self._check_conflict(action)
  File "C:\Users\DotSimulate\AppData\Local\Programs\Python\Python310\lib\argparse.py", line 1592, in _check_conflict
    conflict_handler(action, confl_optionals)
  File "C:\Users\DotSimulate\AppData\Local\Programs\Python\Python310\lib\argparse.py", line 1601, in _handle_conflict_error
    raise ArgumentError(action, message % conflict_string)
argparse.ArgumentError: argument --controlnet-dir: conflicting option string: --controlnet-dir

ControlNet v1.1.102
ControlNet v1.1.102
Loading weights [9aba26abdf] from F:\SD-Master\3.28\torch1\stable-diffusion-webui\models\Stable-diffusion\deliberate_v2.safetensors
Creating model from config: F:\SD-Master\3.28\torch1\stable-diffusion-webui\configs\v1-inference.yaml
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
Loading VAE weights from commandline argument: models\Stable-diffusion\vae-ft-mse-840000-ema-pruned.vae.pt
Applying xformers cross attention optimization.
Textual inversion embeddings loaded(0):
Model loaded in 3.4s (load weights from disk: 0.2s, create model: 0.4s, apply weights to model: 0.6s, apply half(): 0.6s, load VAE: 0.2s, move model to device: 0.6s, load textual inversion embeddings: 0.8s).
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
Startup time: 9.9s (import torch: 1.6s, import gradio: 1.0s, import ldm: 0.6s, other imports: 0.9s, load scripts: 1.3s, load SD checkpoint: 3.5s, create ui: 0.6s, scripts app_started_callback: 0.2s).
Error processing the video: tuple index out of range
Traceback (most recent call last):
  File "F:\SD-Master\3.28\torch1\stable-diffusion-webui\extensions\sd-webui-text2video\scripts\api_t2v.py", line 116, in t2v_run
    videodat = run(
  File "F:\SD-Master\3.28\torch1\stable-diffusion-webui/extensions/sd-webui-text2video/scripts\t2v_helpers\render.py", line 17, in run
    args_dict = {component_names[i]: args[i+2] for i in range(0, len(component_names))}
  File "F:\SD-Master\3.28\torch1\stable-diffusion-webui/extensions/sd-webui-text2video/scripts\t2v_helpers\render.py", line 17, in <dictcomp>
    args_dict = {component_names[i]: args[i+2] for i in range(0, len(component_names))}
IndexError: tuple index out of range

Additional information

apologies I didn't report this sooner. The API has been working so well I totally forgot I made this change.

cerspense commented 1 year ago

This is still broken. The API does not work without the workaround mentioned, and the workaround seems to break the webui. Would be great to have this fixed!

kabachuha commented 1 year ago

Fixed in https://github.com/kabachuha/sd-webui-text2video/pull/185