ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

本地化AI图文视频生成网站搭建:Stable Diffusion WebUI从部署到动画

2026/10/5 8:58:39 拓冰建站 浏览量
本地化AI图文视频生成网站搭建:Stable Diffusion WebUI从部署到动画 简介这份教程面向希望搭建本地化图文视频生成网站的 AI 爱好者以 Stable Diffusion 为主线完整覆盖本地替代 Midjourney 的部署路径。从 Python 3.10.6 环境准备、stable-diffusion-webui 仓库克隆到 GPU 版 PyTorch 安装、Civitai 模型获取均有分步讲解对常见版本冲突、启动失败等问题也给出了排查思路适合有一定编程基础、想深入本地化 AI 出图的用户。资源包仅含 1 个 PDF 文档压缩后大小 6.45MB内部按 5 个章节组织搭建 AI 网站、模型下载安装、汉化插件配置、生成模拟真人图片含不同风格与动画视频、让生成图片开口说话。已有 719 人学习下载跟着教程操作可少走弯路快速复现整套项目后期还能按自身硬件条件调整提示词与参数批量生成逼真人物、艺术风格图及动态视频同时提醒合理使用避免涉及个人肖像权等合规风险。1. 本地化图文视频生成网站拆解为什么这次值得自己动手搭一套最近不少做内容的朋友都在折腾同一件事把 AI 图文视频生成能力装进自己电脑搭一个本地化的图文视频生成网站。起因是网上有人用 Stable Diffusion 生成真人照片细节逼真到分不清真假而这类模型的本地部署路径已经相当成熟。我拆了一份完整的搭建教程与源码包从 Python 环境、Web UI、模型权重到动画插件全都覆盖。跟着走完你能得到一个跑在本地浏览器里的生成站点可以生成模拟真人图片、切换不同风格还能把静态图变成动画甚至让图片开口说话。适合手里有 N 卡、不想把素材传到云端、也想省掉按次计费的算力开销的开发者。这不是一篇科普是能直接照着敲命令的实操记录。2. 先把环境立住Python 3.10.6 与 GPU 版 PyTorch 的版本组合怎么选2.1 为什么偏偏是 3.10.6一个版本号背后的兼容性逻辑stable-diffusion-webui 这个项目对 Python 版本极其敏感官方推荐 3.10.6这不是随便写的。torch、transformers、gradio 这些核心依赖在 3.10.6 下都有预编译好的 wheel 包装完就能直接 import不会碰到源码编译到一半报错这种糟心事。我自己拆过几份类似的教程凡是推荐 3.11 或者 3.9 的后面多半会在某个依赖上报错最后绕一圈还是回到 3.10。如果你电脑上已经装了其他 Python 版本比如 3.8 或者 3.12我不建议直接覆盖或者改系统默认版本。正确做法是装一个 conda然后创建独立的虚拟环境。这样后面就算把环境搞坏了删掉重来也就一条命令的事不会影响系统里其他项目。教程里给的环境名是 novelai你可以改成自己喜欢的名字但 Python 版本号别改就锁定 3.10.6。这里还要说清楚一个概念conda 虚拟环境隔离的是 Python 解释器和 pip 安装的第三方库不隔离 CUDA 驱动。显卡驱动和 CUDA 版本是系统级的东西conda 管不了。所以如果你的 N 卡驱动太老后面装 PyTorch 时 cuda 版本要跟着驱动走这一点在第 2.2 节会展开讲。2.2 创建 conda 虚拟环境并安装 GPU 版 PyTorch先说创建环境的命令。打开终端在命令行里执行conda create -n novelai python3.10.6 conda activate novelai第一行是创建-n novelai指定环境名字python3.10.6用双等号精确锁定版本号避免 conda 自动选了 3.10.x 的最新补丁版本导致行为不一致。第二行conda activate novelai是激活环境激活成功后终端提示符前面会出现(novelai)字样。如果出现的是(base)说明激活没成功检查一下 conda 是否初始化过 shell。接下来是安装 GPU 版 PyTorch。教程里给的方式是去 pytorch.org/get-started/locally/ 复制命令这个页面会根据你的操作系统、包管理工具和 CUDA 版本生成对应的安装命令。我一般会这么做nvidia-smi先看一眼显卡驱动支持的 CUDA 版本然后回到 PyTorch 官网选对应的 CUDA 版本。比如驱动支持 CUDA 11.8安装命令就是pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118这里的关键参数是--index-url它让 pip 从 PyTorch 官方预编译源下载带 CUDA 支持的 wheel 包。如果直接跑pip install torch从默认 PyPI 源装到的是 CPU 版本CPU 版也可以运行 stable-diffusion-webui但出图速度会慢到让人怀疑人生一张 512x512 的图可能要几分钟甚至十几分钟。所以这一步是重中之重很多新手在这上面翻车装完发现 torch.cuda.is_available() 返回 False回头重新折腾一遍。等着安装完顺手把第三方依赖也装上。教程里是这么写的python -m pip install -r requirements.txt这个是生成图片的主程序python -m pip install用当前虚拟环境里的 Python 解释器跑 pip比直接用 pip 命令更稳。-r requirements.txt表示按文件里的依赖列表逐个安装文件里锁定了 gradio、transformers、safetensors 等包的版本范围。安装耗时看网络情况国内网络慢的话建议给 pip 配清华镜像源可以在命令后面加-i https://pypi.tuna.tsinghua.edu.cn/simple。2.3 验证 PyTorch 是否真的吃上了显卡环境装完别急着往下走先做一个冒烟测试。在命令行里敲python -c import torch; print(torch.__version__); print(torch.cuda.is_available())输出里如果torch.__version__是2.x.xcu118这种带 cu 后缀的字符串同时torch.cuda.is_available()返回True说明环境正常。如果返回False按优先级排查先nvidia-smi看驱动能不能识别显卡再确认装的是 GPU 版 torch看版本号里有没有 cu118/cu121 后缀最后检查 conda 环境有没有激活成功有时候终端里还停留在 base 环境装的 torch 是另一套。这块内容在整个教程里排第一步我拆的时候发现新手卡在这里的比例最高。大多数人的电脑里已经有 Python但不是 3.10.6直接跑后面的 git clone 和 launch.py会报一堆依赖版本冲突。所以别嫌这一步啰嗦值得。3. 部署 stable-diffusion-webui克隆、依赖、启动与汉化生效的完整链路3.1 克隆官方仓库并安装依赖环境准备好之后下一步就是把 Web UI 框架拉下来。教程里指向的是 AUTOMATIC1111/stable-diffusion-webui 这个 GitHub 仓库这是社区最主流的 Stable Diffusion Web 界面方案也就是大家常说的 SD WebUI。它的价值在于把模型加载、提示词解析、参数调整、图片预览这些事全部可视化不需要写代码就能生成图片。git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui cd stable-diffusion-webui python -m pip install -r requirements.txt第一行把仓库代码克隆到当前目录会生成一个名为 stable-diffusion-webui 的文件夹。第二行进入这个目录后续所有命令都在这个目录下执行。第三行安装项目依赖这一步在 2.2 节已经做过一次但这里要再跑一遍因为 WebUI 项目有自己独立的 requirements.txt里面和纯 torch 环境不完全一样。这里有个细节值得注意这个仓库本身不包含任何模型权重它只是一个空壳框架。你把它理解成一台没有装游戏的电脑配置再好也得先装游戏才能玩。模型下载和放置是第 4 章的内容但目录结构现在就要有概念模型放在models/Stable-diffusion子目录Lora 模型放在models/Lora子目录插件放在extensions子目录。后面所有操作都是往这些目录里加文件。3.2 首次启动launch.py 与 Local URL依赖装完启动主程序python launch.py这个脚本会做几件事检查 Python 版本是否符合要求、检查依赖是否完整、初始化模型加载目录然后启动一个本地 Web 服务。首次启动会比后续慢因为要额外检查一些配置文件有的版本还会自动下载基础模型文件。等命令行里出现Running on local URL: http://127.0.0.1:7860这样的输出复制这个地址到浏览器打开就能看到界面。如果发现界面没有立即加载出来模型这不是 bug。我第一次跑的时候也遇到过浏览器里能看到界面但模型下拉框是空的。原因是 WebUI 启动时模型文件可能还在下载或者模型目录里的文件命名没有被正确识别。解决方法是等命令行日志输出稳定后在页面上点模型下拉框右侧的刷新按钮或者直接重启 WebUI 进程。看到这里你应该明白了这套东西叫本地化 Midjourney 平替是有道理的Stable Diffusion 本身是开源模型部署在自己电脑上之后生成图片不按张数收费没有次数限制素材和提示词也不经过第三方服务器。唯一的成本是电费和显卡损耗。这个定位在教程里反复暗示过也是大家愿意折腾的原因。3.3 汉化插件下载、放目录、重启三件事原版 WebUI 界面是英文的对习惯中文界面的用户不太友好。教程里第三部分专门处理这件事用的汉化插件是 stable-diffusion-webui-localization-zh_CN。安装方式有两种我推荐直接用 git clone方便以后更新cd stable-diffusion-webui/extensions git clone https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN第一行进入 WebUI 项目下的 extensions 目录第二行把汉化插件克隆到当前目录插件会生成一个名为 stable-diffusion-webui-localization-zh_CN 的文件夹。注意这个目录层级不能错插件必须放在extensions下的直接子目录如果你多套了一层文件夹WebUI 扫描不到汉化选项就不会出现。这个细节我见过不少人在群里问基本都是目录套娃导致的。装完之后要重启 WebUI 才能生效。重启后在页面上方找到 Settings设置左侧找到 User Interface用户界面在 Localization 下拉框里选择zh_CN然后点界面顶部的 Apply settings 和 Reload UI 按钮。界面会刷新一次刷新完就是中文了。这里有一个常见误解有人以为放进 extensions 目录就立刻生效不需要重启。实际上 WebUI 只在启动时扫描一次 extensions 目录运行中新增的插件不会被加载。所以每次改完插件或模型最稳妥的操作是重启python launch.py。如果你改了设置可以先点 Reload UI 只刷新页面但插件更新必须整套重启。4. 模型下载与图片生成从 ChilloutMix 到 Lora 风格切换的实操细节4.1 C 站模型下载与目录规范WebUI 框架搭好之后核心工作变成模型选择。教程里提到的 Civitai 被社区称为C 站是最大的 Stable Diffusion 模型共享社区。站上的模型分两类一类是完整的大模型文件后缀通常是.safetensors或.ckpt体积在 2GB 到 7GB 之间决定了生成图片的整体风格和质量另一类是 Lora 小模型文件体积通常几十到几百 MB挂在提示词里用来微调画风不影响大模型的主风格。生成真人图片这个场景教程推荐的是 ChilloutMix 这个模型。它在 C 站上的热度一直很高擅长生成写实风格的真人照片尤其是亚洲人像。下载完成后把模型文件放到 WebUI 项目的models/Stable-diffusion目录下cp /path/to/chilloutmix.safetensors models/Stable-diffusion/文件名尽量不要用中文不要带空格比如chilloutmix_v10.safetensors就是安全的命名。文件名显示在界面的模型下拉框里如果命名带了乱七八糟的符号下拉框里可能显示不全。放好文件后回到浏览器界面在模型选择下拉框右侧点刷新按钮新模型就会出现在列表里。说完文件摆放位置顺便说明一下模型加载机制WebUI 不是把所有模型一次性装进显存而是按需加载。你切换模型下拉框时旧模型会从显存中卸载新模型加载进来。这个过程在命令行日志里能看到进度条。首次切换 ChilloutMix 时因为文件大且不在系统缓存里可能要等待二十秒到一分钟这很正常。如果一直转圈按第 5 章的方法检查。4.2 生成模拟真人图片Prompt 与采样参数的组合模型就位后生成图片的关键在于提示词工程。教程里的做法是去 C 站找已经有人生成好的图片点进详情页可以看到作者用过的正向提示词、负向提示词、采样参数和模型名称。把这些内容复制到自己 WebUI 的对应框里就能复现相近效果。这一步对于新手来说非常实用比自己从零写提示词靠谱多了。提示词框里填的内容通常包含画质词、主体描述、细节修饰、光照环境四个部分。画质词如masterpiece, best quality放在最前面主体描述如1girl, portrait细节修饰如detailed skin texture, soft lighting。负向提示词放在另一个框里常见的有lowres, bad anatomy, extra fingers, blurry这些。负向词的作用是告诉模型不希望出现什么对出图质量影响非常大我管它叫玄学但必需。参数面板上几个关键项需要重点说明我用表格列一下参数推荐值说明Sampling methodDPM 2M Karras采样器决定了去噪算法这个组合在细节和速度之间比较平衡Sampling steps25-30步数越高细节越好但超过 30 后收益递减还显著拉长耗时CFG scale7提示词服从度值太高图片会过饱和太低则偏题Resolution512x768纵向构图适合人像显存小的先别超过 1024x1024Seed-1-1 表示每次随机固定某个值可以复现同构图的细节把这些参数填好点 Generate几秒到几十秒后就能看到生成的图片。第一次跑的时候可以先 512x512 试水调好提示词再拉高分辨率。如果你发现生成出来的人物手指出问题比如六根手指或者手指扭曲这不是你的提示词错了而是模型本身对复杂结构的约束不够可以在负向词里加bad hands, extra fingers来缓解或者用 ControlNet 插件做姿态控制。教程里没提到 ControlNet但这属于进阶玩法这里按下不表。4.3 Lora 小模型画风调整的轻量方案真人模型打底Lora 负责风格注入。这两者的配合方式是 Stable Diffusion 生态里最有意思的部分。教程里用原神风格做例子下载一个原神角色 Lora放到models/Lora目录然后在提示词区域点一下 Lora 标签模型名就会以lora:xxx:1的格式注入提示词。lora:genshin_x:1 masterpiece, best quality, 1girl, detailed face尖括号里三个字段分别是 Lora 文件名、不包含后缀的模型标识、权重值。权重 1 表示完全按 Lora 风格渲染0.5 到 0.8 之间效果更自然。如果你觉得风格太浓把权重调到 0.6太淡调到 1.1。权重大于 1.5 往往会导致画面过曝或者颜色怪异。这里有一个非常实用的判断标准Lora 是风格的小模型大模型决定了内容合理性所以 Lora 的位置是叠加在大模型基础上的。你生成原神风格真人图片时大模型仍然用 ChilloutMix只是用 Lora 把角色特征叠加进去。反过来如果你换一个二次元大模型再挂这个人像 Lora效果会完全不一样。多试几组搭配你就能摸清模型偏好这个过程本身也是玩 WebUI 最上瘾的部分。5. 搭建避坑指南环境、模型与显存的五个典型翻车现场这一章写给所有照着教程敲命令却发现自己和教程不一样的人。下面的五个问题都是真实出现过的按现象 → 原因 → 解决的方式记录遇到类似问题先对照排查。5.1 启动报错torch 没有 device 属性现象运行python launch.py时命令行报AttributeError: module torch has no attribute device或者类似的no attribute cuda错误随后进程退出。原因PyTorch 装成了 CPU 版本。CPU 版 torch 仍然有torch模块但torch.cuda相关属性不存在WebUI 启动时会检查 GPU于是直接炸掉。出现这个报错的用户几乎都是当初图省事直接pip install torch从默认 PyPI 源装的。解决回到 2.2 节用带--index-url https://download.pytorch.org/whl/cu118的命令重装 PyTorch。装完执行python -c import torch; print(torch.__version__); print(torch.cuda.is_available())确认输出版本号带cu后缀且第二个输出是True再启动 WebUI。5.2 浏览器能开界面但模型下拉框是空的现象127.0.0.1:7860 可以打开页面正常显示但左上角模型选择区域没有 ChilloutMix甚至一个模型都没有。原因模型文件没有放在models/Stable-diffusion目录下或者放进去的路径层级不对。还有一种情况是 WebUI 启动时模型文件还没下载完启动过程没等到文件就绪模型列表就为空了。解决先核对文件路径确认.safetensors或.ckpt文件在项目根目录下的models/Stable-diffusion里不要有多余的嵌套目录。然后点模型下拉框右侧的刷新按钮如果还是没有重启 WebUI 并关注命令行日志里模型加载部分是否报错。文件命名里有中文或空格的话先改成纯英文再说。5.3 生成图片时报 CUDA out of memory现象点击 Generate 后命令行显示RuntimeError: CUDA out of memory有时还会提示Tried to allocate X MiB。原因显存不够。分辨率拉太高、批量生成数量设太大、或者同时开着多个吃显存的程序。6GB 显存跑 512x512 没什么问题但直接上 1024x1024 就很容易爆。解决先降分辨率到 512x512batch count 设为 1。如果这样还报错用启动参数限制显存占用python launch.py --medvram --precision full --no-half--medvram是中等显存优化模式通过分批加载模型层来减少显存峰值--precision full强制全精度计算--no-half禁用半精度浮点这两个参数配合起来可以解决很多低显存卡报错的问题代价是生成速度会变慢。显存低于 4GB 的显卡建议升级硬件或者用 CPU 加少量集成显卡凑合但体验不会太好。5.4 汉化插件装了但设置里找不到 zh_CN现象汉化文件已经放进 extensions 目录但重启后 Settings 的 Localization 下拉框里只有默认 English没有 zh_CN 选项。原因目录层级错误。插件文件夹没有直接放在 extensions 下而是被多套了一层子目录。WebUI 只扫描 extensions 的直接下一级目录作为插件。解决到 extensions 目录下执行ls确认看到的是stable-diffusion-webui-localization-zh_CN这一层目录。如果你看到的是一个外层文件夹、里面包着这个目录把内层目录挪到 extensions 直接子级然后重启 WebUI。如果目录结构没问题但还是不显示点开页面顶部的 Settings 搜索框里输入 localization重点检查当前选中的界面语言设置是否被切换过。5.5 复制别人的 Prompt 却生成完全不同的图现象从 C 站看到一张很好看的真人图复制了作者的提示词和参数生成出来的结果却完全不相关风格、人物、构图全不对。原因提示词只是生成结果的一部分。对方的模型文件、Lora 模型、采样器版本、甚至 WebUI 的版本都可能和你不同。更常见的问题是对方使用了你没下载的 Lora而提示词里的lora:xxx:1在你本地找不到对应文件WebUI 会忽略这一段效果自然对不上。解决在 C 站图片详情页确认三个信息使用的底模名称、是否用了 Lora 以及 Lora 权重、采样器和步数。下载相同的底模和 Lora 后把这三项和你本地的设置对齐再复制提示词。先把种子设为 -1 跑一张测试如果构图明显不对换同一个模型的不同人物姿势提示词再跑一次。生成效果不达标不是玄学多数是流程没对齐。6. 从静态图到动态内容Deforum 动画与 D-ID 让图片开口说话6.1 Deforum 插件的安装与关键帧 JSON静态图做完再往里走一步就是视频。教程里使用的是 Deforum 插件这个是社区里热门的动画方案核心原理是把提示词按时间轴拆成关键帧然后从第一帧到最后一帧逐帧渲染再用 ffmpeg 合成为视频。安装方式还是熟悉的配方cd stable-diffusion-webui/extensions git clone https://github.com/deforum-art/deforum-for-automatic1111-webui克隆完后重启 WebUI导航栏里多出来的 Deforum 标签就是入口。切到 Deforum 面板可以看到默认提示词模板把它替换成自己的内容{ 0: tiny cute swamp bunny, highly detailed, intricate, ultra hd, 12: Prompt B, highly detailed, ultra hd }开头的0和12是帧编号表示提示词在 0 帧和 12 帧两个位置被解析中间的帧由 WebUI 在渲染时自动插值。如果需要加负向提示词写成Prompt A --neg badhands, lowres的格式。这个 JSON 结构虽然简单但实际生成的视频时长取决于设置的帧数我建议第一次做先降低帧数到 20 帧以内分辨率设 512x512跑通了再加长度。6.2 让静态图开口说话D-ID Studio 的合成流程视频搞定最后一步是让生成的人物开口说话。教程里使用的是 https://studio.d-id.com/ 这个网站D-ID 做的事情简单说就是上传一张静态人脸图输入一段话它会用语音合成驱动嘴型生成一段人物说话的视频。步骤很短打开网站上传本地生成的真人图片在文本框里输入想让角色说的话选择声音语言和音色点生成等几十秒后拿到结果。这一步严格来说不算本地化图片生成是本地的语音驱动在云端完成。但搭配之前的流程从一个提示词到最后一段人物说话的视频整条链路已经通了。做内容创作的话这就是一个完整的生产流程。最后补一个我自己的习惯每次部署这类项目我都会先把torch.cuda.is_available()跑一遍再做后面的所有事别嫌这一步多余它能省掉一个小时的排查时间。这次拆教程也是一样从环境、模型到插件的路径全部核对了一遍上面列的五个避坑点基本就是新手高频踩的位置。希望帮到你。本文还有配套的精品资源点击获取