很多朋友想学习 SD 电脑是一个问题,特别是 Mac 的朋友们,即时装上了,生成速度也很感人。又不能为了个八字没一撇的 SD 就配一台 PC 。

我以前发过一个 Colab 云端部署的教程,但是随着 SD 本身的发展和谷歌对 Colab 的不断限制,云端部署又成了一个问题,同时随着很多人对 SD 有了基础的了解也逐渐不在满足于单纯的生成图片,肯定要折腾插件和模型包括 ControlNet 。那这些就需要一些高级技巧,毕竟在服务器上移动和下载文件跟本地不太一样。

所以这次我调研了国内的一些途径,选择了最方便的和限制最少的一个平台揽睿星舟 https://www.lanrui-ai.com/register?invitation_code=9778 进行教学。(有我的邀请,就当学费了,感谢各位🙏)

今天的教程分成了三个部分,首先是云端部署的步骤,揽睿星舟已经做了很多工作了部署会非常简单,然后就是一些高级技巧比如如何安装插件,如何上传没有的模型,Web UI 的设置等。

最后就是AnimateDiff插件生成视频的课程,包括基础的视频生成以及提示词旅行等技巧。只对这部分感兴趣的可以直接跳到最后查看。

这里提到的所有需要下载的东西我都上传到了网盘里,各位可以自行下载:

链接:https://pan.quark.cn/s/42c37ccdbac4 提取码:Thmy

云端部署

首先我们进到揽睿星舟的注册页,正常注册之后,点击右上角进控制台。
An image to describe post
进入控制台之后在左侧导航上找到工作空间,点进去。(这里还有另一种更简单的方式,由于我们需要教一些高级技巧,所以还是教大家这种启动方式)

工作空间右上角找到“创建工作空间”点进去。

之后我们选择这个3090 1.9元每小时的特价就可以了,你要是想选4090也行。然后点击下面镜像共有镜像里面找到“sd-webui-4.0”里的“latest”选中这是最新版的Web UI。

然后网盘选择默认的挂载,数据盘这里不使用,数据集拉到最后选择“sd-base”,然后点击立即创建就可以了。

之后会自动跳转到工作空间就可以看到我们创建的工作空间了。

之后再工作空间里面选择启动,等待状态从启动中变成已启动就行。(注意启动就会开始扣费,记得不用的时候还是在这里停止服务,或者设置自动停止)

接下来点击“进入”按钮,然后再点击“JupyterLab”。

接下来我们需要在新打开的页面里,选择Teminal,打开之后粘贴这个命令然后回车等待就行。

bash /app/start.sh --skip-prepare-environment

An image to describe post

当我们发现信息里出现这行字的时候说明已经启动好了,这时候我们回到工作空间的页面,在你的工作空间更多按钮里选择”复制调试地址“,然后把地址粘贴到你的浏览器访问就行。


恭喜你,这个时候已经看到了熟悉的界面,你可以发现一些常用的插件和模型揽睿星舟已经帮你装好了,包括ControlNet的所有模型和几十个CKPT模型还有几十个LoRa模型。

我们可以先来生成一张图片试一试,就用这个默认的国风3模型,如果你懒得找提示词的话可以用我下面的提示词和对应的设置,调整好之后点击生成就行。

提示词:best quality,masterpiece,highres,cg, 1girl,weapon,sword,long hair,dress,water,solo,jewelry,white dress,earrings,hair ornament,splashing,upper body,hair bun,black hair, lighting,candid,Photograph,high resolution,4k,8k,Bokeh,

反向提示词: (((simple background))),monochrome ,lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, lowres, bad anatomy, bad hands, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, ugly,pregnant,vore,duplicate,morbid,mut ilated,tran nsexual, hermaphrodite,long neck,mutated hands,poorly drawn hands,poorly drawn face,mutation,deformed,blurry,bad anatomy,bad proportions,malformed limbs,extra limbs,cloned face,disfigured,gross proportions, (((missing arms))),(((missing legs))), (((extra arms))),(((extra legs))),pubic hair, plump,bad legs,error legs,username,blurry,bad feet

An image to describe post

高级技巧

接下来我们会教几个高级技巧由于 Animatediff 还是个新东西,所以很多东西我们都需要自己安装,这里会顺便教一些高级技巧。

设置中文界面

首先就是设置中文界面,很多人启动完之后发现自己的界面要不是英文的要不就是中英文都有的,我们来看一下怎么设置中文。

页面上方的tab切换到 设置/Setting,然后左边的导航找到 用户界面/Userinterface,里面第一个就是 Localization 选项,中文插件已经安装好了,我们直接选择就行Chinese-all是只显示中文,Chinese-English是显示双语界面,这里建议双语界面,你看教程找东西的时候方便一些。
An image to describe post
然后点击页面上方的应用设置/Apply sttting按钮,之后点击重新加载/Reload UI就可以了,等待Web UI重启结束页面会自动刷新,如果超过2分钟还没有自动刷新的话你可以手动刷新一下。

插件安装

由于 Animatediff 这个插件比较新所以揽睿星舟还没有帮忙装好所以我们需要自己安装,首先我们需要去下载 Animatediff 的WebUI插件,地址在这里,也可以在我开头的网盘地址下:https://github.com/continue-revolution/sd-webui-animatediff

点击Code按钮,然后点击”Download Zip“就可以下载了。然后把下载的压缩包解压到你本地。
An image to describe post
然后我们回到揽睿星舟的控制台找到左边的网盘导航,找到这个sd-4的文件夹点进去。

然后再找到 extensions 文件夹点进去找到,上传按钮选择上传文件夹,这里选择你解压好的那个”sd-webui-animatediff-master“文件夹上传就行(注意外面不要套空文件夹)。

上传结束如果你的工作空间妹有启动的话直接走我们上面的启动流程就行,正在启动状态的话你需要停止,然后再启动。
An image to describe post
之后你应该就能再界面上看到一个新的 Animatediff 选项卡了。

上传自己的模型

即使揽睿星舟已经把常见的模型都放进去了,也不可避免的会出现你需要的模型还没有的情况,所以我们需要上传自己的模型到空间里。比如Animatediff 就需要特殊的模型来生成动画,这里就顺便演示了。

Animatediff 需要的模型分成两部分都需要去这个地址下载,可以在我上面的网盘地址下载:https://huggingface.co/guoyww/animatediff/tree/main

一个是运动模型mm_sd_v15_v2.ckpt,这个是必须的,下面的一堆Lora是镜头控制模型,他们可以让你生成的动画有特殊的运镜。
An image to describe post
下载结束之后我们需要下载Cybderduck这个软件,这个软件可以让我们管理自己服务器上的文件你可以很方便的上传和删除内容,就跟你本地的一样,下载之后正常安装打开就行。

Windows下载地址:https://pan.quark.cn/s/d0138cf1fd70

Mac下载地址:https://pan.quark.cn/s/6ef156bc440b

然后点击左上角的新建链接mac也是类似的。
An image to describe post
首先你需要在这个FTP这个地方下拉选择 更多选项,在新打开的弹窗里搜索AWS并勾选AWS PrivateLink for Amazon S3.这个选项。新打开的弹窗读条可能有点慢是正常现象。

我们需要输入这几个参数,这个每个人都不一样。

首先是服务器地址,你可以在你的后台网盘-命令行的弹窗里面的这个位置找到它。注意不要带前面的https://


然后是访问密钥ID和访问私钥分别是AK和SK。AK和SK你可以在个人中心-账号信息右上角的AKSK中找到,注意不要把这些数据暴露给别人。

链接之后你就可以看到自己服务器的文件结构了,你需要一层一层打开下面的文件夹结构,点击界面上的上传按钮将mm_sd_v12_v2.ckpt这个文件上传到这个位置(找到对应文件夹之后需要双击进到文件夹里面再点上传)。


上传结束后,你就可以在揽睿星舟的后台网盘tab的对应文件夹里面看到这个模型了。

然后除了这个我们还有几个Lora模型,这次我们使用揽睿星舟自带的上传服务,由于他限制的最大上传大小是500M所以我们这个Lora文件可以不用通过Cybderduck上传。

点击网盘tab,然后进入到我圈起来的Lora模型文件夹,把刚才下载的那几个带Lora的文件全部上传上去就行。
An image to describe post
到这里所有的高级操作就结束了,我们也可以使用AnimateDiff来生成视频了,如果你的空间现在还启动着,你可以把它停止一下再重新启动。

AnimateDiff生成视频

终于到了最重要的视频生成部分了,这次我们主要讲基本的视频生成,一些参数的意思,提示词旅行以及镜头调度这几部分,关于视频生成视频和图片生成视频由于比较复杂篇幅已经很长了,我会在下个教程说。

目前 Web UI 的玩法还是比较局限插件也有很多问题,ComfyUI 的入门门槛有点高,而且云端部署有点麻烦,如果想学的话可以留言,我看看怎么样讲好一点。

设置调整

很多尝试过的朋友可能发现自己 每次生成的时候会有两个不一样的 gif,这个问题需要调整一个设置。

在设置 Tab 下面的 Optimizations 分类中把Pad prompt/negative prompt to be same length 和 Batch cond/uncond 这两个选项打开然后点击 应用设置 按钮就行。
An image to describe post

基础视频生成

首先我们来简单生成一个视频试试,这里我们把模型选择成我实验的二次元效果比较好的“darkSushiMixMix colorful”这个模型,然后正常输入提示词,你也可以写自己的:

提示词:1girl, Solo, cherry blossoms, flower viewing, pink flowers, white flowers, spring, wisteria, petals, flowers, plum blossoms, outdoor, falling petals, black eyes, upper body, white kimono, purple hair

反向提示词:(worst quality, 1ow quality: 1.4)

上面的反向提示词这里需要注意,不要使用EasyNegative 等 Embedding模型,提示词不要过长,会导致画面崩坏,这是我总结出来的不知道什么原因,有知道的可以帮忙解答一下。

上面这部分的设置基本上就是正常的图片生成设置,设置完成以后可以出一张图自己测试一下,看一下有没有问题。
An image to describe post
接下来我们到AnimateDiff插件的设置部分,先看一下基础的图像生成需要用到的几个参数。

Motion Module:这个就是我们刚才费劲上传的AnimateDiff的模型了,除了官方的还有很多其他人在这个基础上微调的,你可以都试试,我们这次先用官方的。

Enable AnimateDiff:这个就不用说了,勾选以后就会启动插件。

NumBer of framer:这是是你生成视频的总帧数,在测试的可以先开的低点比如 16,测试画面没有问题可以再开高,不然每次测试时间过长。

FPS:这个大家都知道就是每秒多少帧,比如你NumBer of framer设置的 16,FPS 设置的 8,那么你最后就会生成一个 2 秒的视频或者 gif。

Save format:这个就是输出的格式,默认的 gif 和 png,如果你觉得生成的图噪点很多的话可以换成mp4 会好很多。
An image to describe post
好了我们的基础视频生生成了解这些就行了,现在点击生成看一下效果吧。这是我生成的效果。
Imgur

镜头调度

接下来我们可以看一下镜头调度功能,AnimateDiff是通过Lora 模型来实现的,就是我们刚才上传的几个小的 Lora 模型。

在图示的 Tab 这里找到 Lora 这个点击切换,然后在一堆 Lora 里面找到 V2_lora_XXX 等一系列模型中的一个或者多个,这里我就用 Panleft 来做示例,就是镜头会向左移动。

其他的运动模型的意思都是类似,Zoom In(镜头拉进)、Zoom Out(镜头拉远)、Zoom Pan Right(镜头右移)、Tilt Up(镜头上移)、Tilt Down(镜头下移)、Rolling Anti-Clockwise(逆时针旋转)、Rolling Clockwise(顺时针旋转)。

点击以后提示词冒号后的数字就是模型权重,权重越大镜头运动的幅度也会越大,建议 0.4-0.8 就行。
An image to describe post
插件部分的数字我们保持原样再次点击生成试一试,由于我权重开的高所以可以很明显的看到镜头移动的效果。
Imgur

提示词旅行

提示词旅行的意思就是你可以定义视频生成不同阶段的提示词让画面产生自然的变化,这里主要需要注意的是提示词书写的格式。

提示词旅行主要由三部分组成,分别是头部提示词、插帧提示词。

第一行和最后一样的是头部提示词和尾部提示词,写的是不需要变动的内容,比如女孩的着装样貌表情等,头部和尾部提示词不是必须的你可以只写中间的插帧提示词。

中间的插帧提示词主要包括两部分首先是前面的 0:,这里代表的是第几帧开始这个变化,这里第一行必须从第 0 帧开始,后面的提示词就是这个变化的描述。最后前面帧率的数字不能超过你设置的总帧率。

比如下面这个的意思就是 0 帧的时候是秋天的景色然后到第 16 帧变化到冬天的景色。

注意:这里的提示词也尽量精简不要写太多。
An image to describe post
比如这里我写了最大的是 16,所以我把总帧数那里改成了 24。

来看一下这次我生成的结果吧,非常明显的秋天变成冬天,你也可以复制我的提示词试试。

1girl, solo, black eyes, upper body, white and clothes, purple hair, 
0: orange leaves, yellow leaves, autumn, outdoor, fallen leaves
16: Plum blossoms, winter, outdoor, falling snowflakes
smile

Imgur

好了到这里这次的教程基本就结束了 WebUI 关于视频生成视频的进阶部分我会在后面发,上面教的这些基本已经可以做出一些不错的内容了,可以多去尝试一些效果。特别感谢揽睿星舟工作人员的帮忙,响应非常迅速。

如果有任何问题都可以随时带图留言,我看到就会回,如果觉得有帮助可以点个赞或者转发给你的朋友,感谢各位🙏。

参考信息

揽睿星舟:https://www.lanrui-ai.com/register?invitation_code=9778

文件下载:链接:https://pan.quark.cn/s/42c37ccdbac4 提取码:Thmy

WebUI 插件:https://github.com/continue-revolution/sd-webui-animatediff

AnimateDiff:https://github.com/guoyww/AnimateDiff/

模型下载:https://huggingface.co/guoyww/animatediff/tree/main