Skip to content

Latest commit

 

History

History
209 lines (125 loc) · 9.53 KB

File metadata and controls

209 lines (125 loc) · 9.53 KB

Stable-Diffusion-Webui-Civitai-Helper

Stable Diffusion Webui 扩展Civitai助手,用于更轻松的管理和使用Civitai模型。

Civitai Url

注意

本插件现在非常稳定,很多人用得很好,如果碰到问题,先看常见问题,并检查命令行窗口的详情。
如果是想声称这个插件不起作用,先看这个:Claim Wall

功能

  • 扫描所有模型,从Civitai下载模型信息和预览图
  • 通过civitai模型页面url,连接本地模型和civitai模型信息
  • 通过Civitai模型页面url,下载模型(含信息和预览图)到SD目录或子目录。
  • 下载支持断点续传
  • 批量检查本地模型,在civitai上的新版本
  • 直接下载新版本模型到SD模型目录内(含信息和预览图)
  • 修改了内置的"Extra Network"模型卡片,每个卡片增加了如下功能按钮:
    • 🖼: 修改文字"replace preview"为这个图标
    • 🌐: 在新标签页打开这个模型的Civitai页面
    • 💡: 一键添加这个模型的触发词到关键词输入框
    • 🏷: 一键使用这个模型预览图所使用的关键词
  • 以上额外功能按钮支持thumbnail模式
  • 增加一直显示按钮的选项,以供触屏用户使用

安装

下载本项目为zip文件,解压到你的SD webui目录/extensions下即可。

不管是安装还是升级本插件,都要整个关闭SD Webui,重新启动它。只是Reload UI不起作用。

(如果用SD webui的插件界面安装,请先给git配置代理。它不是通过浏览器下载,是通过git下载。)

使用方法

更新你的SD webui

本扩展需要取到 Extra Network的卡片列表id。这个是2023-02-06,才添加到SD webui里面的。

所以,如果你用的版本比这个早,你就需要先更新你的SD Webui!

扫描模型

前往扩展页面"Civitai Helper",有个按钮叫:"Scan Model"

点击,就会扫描所有模型,生成SHA256码,用于从civitai获取模型信息和预览图。扫描需要很久,耐心等待

每个模型,本扩展都会创建一个json文件,用来保存从civitai得到的模型信息。这个文件会保存在模型同目录下,名称为:"模型名字.civitai.info"。

如果模型信息文件已经存在,扫描时就会跳过这个模型。如果模型不是civitai的,就会创建个空信息文件,以避免以后重复扫描。

添加新模型

当你下载了新模型之后,只要再次点击扫描按钮即可。已经扫描过的文件不会重复扫描,会自动得到新模型的信息和预览图。无须重启SD webui。

模型卡片

(先完成扫描,再使用卡片功能)
打开SD webui's 内置的 "Extra Network" 页面,显示模型卡片

移动鼠标到模型卡片底部,就会显示4个按钮:

  • 🖼: 修改文字"replace preview"为这个图标
  • 🌐: 在新标签页打开这个模型的Civitai页面
  • 💡: 一键添加这个模型的触发词到关键词输入框
  • 🏷: 一键使用这个模型预览图所使用的关键词

如果你没有看到这些额外的按钮,只要点击Refresh Civitai Helper,他们就会被重新添加到卡片上。

每次当Extra Network刷新,他都会删除掉额外的修改,我们的按钮就会消失。这时你就需要点击Refresh Civitai Helper把这些功能添加回去。

小图模式

以上功能按钮支持小图模式,但受制于SD Webui的CSS问题,目前,只能要么一直显示,要么一直不显示,不能鼠标滑过才显示。

下载

(单任务,下载完一个再下另一个)
通过Civitai模型页面Url下载模型,要3个步骤:

  • 填入url,点击按钮获取模型信息
  • 扩展会自动填入模型名称和类型,你需要选择下载的子目录和模型版本。
  • 点击下载

下载过程会显示在命令行界面带个进度条。
支持断点续传,无畏大文件。

批量检查模型新版本

你可以按照模型类型,批量检查你的本地模型,在civitai上的新版本。你可以选择多个模型类型。

检查新版本的时候,每检查完一个模型,都会有一个1秒的延迟,所以速度有点慢。

这是为了保护Civitai避免因为本插件而短暂陷入类似DDos的局面。有些云服务商,有类似“免费用户每秒API请求不能超过1次”的保护机制。Civitai还没有这种设置。但我们还是得自觉保护它。因为如果它挂了,对大家都没有好处。

检查完毕之后,就会如下图,在UI上显示所有找到的新版本的信息。

每个模型新版本,都有3个链接。

  • 第一个是这个模型的网页。
  • 第二个是这个新版本的下载地址。
  • 第三个是个按钮,在python端,直接下载新版本到模型目录内。
    这种方式下载,下载详情显示在"Download Model"的区域和命令行窗口中。一次一个任务,不支持多任务。

根据URL获取模型信息

如果无法在civitai上找到你的模型的SHA256,但你还是希望能把你的模型连接到一个civitai模型,你可以在本扩展页面,从列表中选择你的模型,并提供一个civitai模型页面的url。

点击按钮之后,扩展就会下载那个civitai模型的信息,作为你这个本地模型的信息使用。

其他设置

保存设置按钮, 会保存扫描模型区域,以及其他设置 这两个区域的选项

  • "一直显示按钮" 是为了方便触屏。
  • "小图模式显示功能按钮" 会开关功能按钮在小图模式的显示

预览图

Extra Network支持两种预览图命名:model_name.pngmodel_name.preview.png。其中,model_name.png优先级较高。

当优先级较高的预览图不存在,他就会自动使用model_name.preview.png

这样,你自己创建的预览图 和 网络下载的预览图,能够同时存在,并优先使用你自己创建的。

关键词

卡片上,添加关键词按钮,是添加从civitai预览图中得到的关键词,而不是你自己创建的图片的关键词。

civitai不是每个图片都有关键词,一个模型中,也不是所有预览图关键词都一样。所以这里是遍历所有civitai预览图信息,加载第一个有关键词的。

SHA256

为了创建文件的SHA256,插件需要读取整个文件。对于大尺寸文件,就会很慢。

默认,插件使用内存优化的SHA256生成方法,就不会卡住你的系统(最新版本强制使用内存优化的)。所以,如果你想要在扫描模型的同时使用电脑,就不要取消勾选这个优化。

有两种情况,这个SHA256无法从civitai找到对应模型:

  • 太老的模型,civitai没有存储SHA256.
  • 模型作者,静静的换掉了模型文件,但没有修改描述和版本。所以,虽然网页上看不出来,但实际上civitai上的 和你本地的模型文件,已经不是同一个文件了。

这些情况下,你可以在插件上,通过提供模型页面的url,来获取模型信息文件。(v1.3新功能)

新特性

从v1.5开始,v1.x不再接受任何新特性。所有新特性进入2.x。

2.x专注于自定义模型信息,并可能改名为"Model Info Helper"。因为不再是专注Civitai了。

从v1.5开始。v1.x进入维护阶段。

Enjoy!

常见问题

4个卡片按钮不显示

汉化原因

下载新版,最新版已经处理汉化导致的问题。

其他情况

首先,确保你点过了"Refresh Civitai Helper"刷新按钮。

然后,如果还有这个问题,那么唯一原因,是你没有使用最新版SD webui。

如果你修改过SD webui的文件, 你的更新操作可能会失败。你需要检查git命令行的输出信息,来确定你更新成功了。

git在很多时候,会拒绝升级,并告诉你有些冲突需要你手动先解决。如果你不看命令行输出,你就会以为你已经更新成功了,但其实并没有。

Request model info from civitai

意思就是正在连接civitai,如果没有后面的信息,就是连不上,请挂代理。

扫描或获取模型信息失败

这个插件现在很稳定,所以,这个问题的原因,基本是是因为Civitai拒绝了你的连接请求。

Civitai不像那些大网站那么稳定。他网站会挂,会拒绝API连接,还会把API请求转到真人验证页面,来挡住。

Civitai还有连接池的设定。基本上,就是同时能允许的最大连接数。一旦达到这个数字,接下来的API连接请求,都会被拒绝。

所以,这种时候你只能等一下再试。

另外,对于国内用户,还有代理问题。现在基本都要用代理才能连上。

使用colab时扫描失败

首先,在google中搜索你看到的错误信息。更有可能是,你碰到的是个colab的问题。

如果你确定,你碰到的是扫描模型的时候,出现了内存不足的错误,并且,你已经在用这个扩展的最新版本,那我们也无能为力了。

自从v1.5.5,我们已经把扫描模型时的SHA256方法优化到顶了。所以,你只剩下2个选择:

  • 再次尝试
  • 或者购买colab的pro帐号