butaixianran / Stable-Diffusion-Webui-Civitai-Helper

Stable Diffusion Webui Extension for Civitai, to manage your model much more easily.
2.41k stars 288 forks source link

error downloading some models/embeddings #262

Closed syntaxterror9 closed 10 months ago

syntaxterror9 commented 10 months ago

I'm having errors when I try to download some models/embeddings. Any hints?

Examples:

Embedding - https://civitai.com/models/6339/style-nebula-magic

Civitai Helper: Getting model info by: https://civitai.com/models/6339/style-nebula-magic37/100 Civitai Helper: Run get_model_id_from_url Civitai Helper: Request model info from civitai Civitai Helper: Get subfolder for: C:\work\Code\stable-diffusion-webui\embeddings Civitai Helper: Get following info for downloading: Civitai Helper: model_name:Style Nebula Magic Civitai Helper: model_type:ti Civitai Helper: subfolders:['\Chars', '\Outfits', '\Scenes', '\Styles', '/'] Civitai Helper: version_strs:['Nebula Magic_7440'] Civitai Helper: Start downloading from: https://civitai.com/api/download/models/7440 Traceback (most recent call last): File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 488, in run_predict output = await app.get_blocks().process_api( File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1431, in process_api result = await self.call_function( File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1103, in call_function prediction = await anyio.to_thread.run_sync( File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync return await get_asynclib().run_sync_in_worker_thread( File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\anyio_backends_asyncio.py", line 877, in run_sync_in_worker_thread return await future File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\anyio_backends_asyncio.py", line 807, in run result = context.run(func, args) File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\gradio\utils.py", line 707, in wrapper response = f(args, **kwargs) File "C:\work\Code\stable-diffusion-webui\extensions\Stable-Diffusion-Webui-Civitai-Helper\scripts\civitai_helper.py", line 93, in dl_model_by_input return model_action_civitai.dl_model_by_input(dl_model_info, dl_model_type_txtbox, dl_subfolder_drop, dl_version_drop, dl_all_ckb, max_size_preview, skip_nsfw_preview) File "C:\work\Code\stable-diffusion-webui\extensions\Stable-Diffusion-Webui-Civitai-Helper\scripts\ch_lib\model_action_civitai.py", line 484, in dl_model_by_input filepath = downloader.dl(url, model_folder, None, None) File "C:\work\Code\stable-diffusion-webui\extensions\Stable-Diffusion-Webui-Civitai-Helper\scripts\ch_lib\downloader.py", line 37, in dl total_size = int(rh.headers['Content-Length']) File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\requests\structures.py", line 52, in getitem return self._store[key.lower()][1] KeyError: 'content-length'

Lora - https://civitai.com/models/195171?modelVersionId=219384

Civitai Helper: Getting model info by: https://civitai.com/models/195171?modelVersionId=2193840 Civitai Helper: Run get_model_id_from_url Civitai Helper: Request model info from civitai Civitai Helper: Get subfolder for: C:\work\Code\stable-diffusion-webui\models\Lora Civitai Helper: Get following info for downloading: Civitai Helper: model_name:Twisted torso Civitai Helper: model_type:lora Civitai Helper: subfolders:['\Chars', '\Outfits', '\Scene', '\Styles', '/'] Civitai Helper: version_strs:['v0.1_219384'] Civitai Helper: Start downloading from: https://civitai.com/api/download/models/219384 Traceback (most recent call last): File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 488, in run_predict output = await app.get_blocks().process_api( File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1431, in process_api result = await self.call_function( File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1103, in call_function prediction = await anyio.to_thread.run_sync( File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync return await get_asynclib().run_sync_in_worker_thread( File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\anyio_backends_asyncio.py", line 877, in run_sync_in_worker_thread return await future File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\anyio_backends_asyncio.py", line 807, in run result = context.run(func, args) File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\gradio\utils.py", line 707, in wrapper response = f(args, **kwargs) File "C:\work\Code\stable-diffusion-webui\extensions\Stable-Diffusion-Webui-Civitai-Helper\scripts\civitai_helper.py", line 93, in dl_model_by_input return model_action_civitai.dl_model_by_input(dl_model_info, dl_model_type_txtbox, dl_subfolder_drop, dl_version_drop, dl_all_ckb, max_size_preview, skip_nsfw_preview) File "C:\work\Code\stable-diffusion-webui\extensions\Stable-Diffusion-Webui-Civitai-Helper\scripts\ch_lib\model_action_civitai.py", line 484, in dl_model_by_input filepath = downloader.dl(url, model_folder, None, None) File "C:\work\Code\stable-diffusion-webui\extensions\Stable-Diffusion-Webui-Civitai-Helper\scripts\ch_lib\downloader.py", line 37, in dl total_size = int(rh.headers['Content-Length']) File "C:\work\Code\stable-diffusion-webui\venv\lib\site-packages\requests\structures.py", line 52, in getitem return self._store[key.lower()][1] KeyError: 'content-length'

I'm running it locally, on Windows

Thank you in advance,

butaixianran commented 10 months ago

Looks like civitai has added a new rule, model's author can set a login request, so you have to login civitai to donwload his/her models.

Following fork of this project has already support this by using civtai's API Key. https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper

Check its API Key section from its document. https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper#api-key

I'll add the same thing to this extension too.

butaixianran commented 10 months ago

OK, updated this extension to 1.9.0, now it supports civitai API key.

Update your extension, then following the tutorial in the document to make it work: https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper#civitai-api-key

syntaxterror9 commented 10 months ago

Awesome. Thank you!