Fooocus

GitHub
48k 7.8k 中等 81 次阅读 今天GPL-3.0图像
AI 解读 由 AI 自动生成,仅供参考

Fooocus 是一款基于 Stable Diffusion XL 架构的开源图像生成软件。它重新思考了绘图工具的设计逻辑,主张“专注于提示词与生成”。就像 Midjourney 一样,用户无需手动调整复杂参数,只需输入想法即可得到高质量图片,同时保持了离线运行、完全免费和开源的优势。

传统 AI 绘图往往面临安装繁琐、参数调试困难的问题。Fooocus 极大地简化了这一流程,从下载到生成首张图仅需不到三次点击,且最低仅需 4GB 显存(Nvidia)即可流畅运行。这使其非常适合设计师、创作者以及希望体验 AI 绘画但缺乏技术背景的普通用户。

技术上,Fooocus 内置了基于 GPT-2 的提示词处理引擎,能自动优化提示词质量,确保无论输入长短都能获得美观结果。它还采用了自研的图像修复与放大算法,在细节表现上优于许多同类软件。目前项目处于长期维护模式,专注于修复 Bug 而非引入新架构。请注意,网络上存在大量假冒网站,请务必通过 GitHub 官方渠道下载,以保障安全。

使用场景

某电商运营人员需要在周五前完成双十一活动的多套主视觉海报设计,时间紧迫且缺乏专业绘图技能。

没有 Fooocus 时

  • 本地部署 Stable Diffusion 环境极其繁琐,经常因版本冲突导致无法启动,浪费半天时间
  • 提示词编写门槛高,稍微简单的描述就会生成扭曲的人脸或奇怪的物体,难以控制构图
  • 图片放大和局部修改需要额外加载 ControlNet 等插件,操作逻辑混乱且容易出错
  • 为了追求画质必须手动调整数十个参数,消耗大量精力在技术层面而非创意构思上

使用 Fooocus 后

  • 解压即用,无需配置 Python 环境,几分钟内即可开始生成第一张符合预期的图像
  • 内置 GPT-2 提示词优化引擎,输入“咖啡杯”也能自动补全光影细节获得精美效果
  • 集成高清修复与变体功能,直接在原图上操作即可完成四倍放大或风格微调,流程顺畅
  • 默认采用 SDXL 架构,无需调试采样器即可获得媲美商业级 Midjourney 的画质表现

Fooocus 通过极简的操作流程,让非技术人员也能轻松获得专业级的图像生成能力。

运行环境要求

操作系统
  • Windows
  • Linux
GPU

需要 NVIDIA GPU,最低 4GB 显存

内存

最低 8GB,推荐 16GB

依赖
notes1. 仅支持 Windows 和 Linux 系统;2. 必须使用 NVIDIA 显卡,最低 4GB 显存;3. 首次运行会自动下载模型文件;4. 低显存设备需确保开启虚拟内存交换;5. 警惕网络上的假冒官网;6. 推荐使用 Nvidia 531 版驱动
python3.10
未说明
Fooocus hero image

快速开始

Fooocus

>>> 点击此处安装 Fooocus <<<

Fooocus 是一款图像生成软件(基于 Gradio )。

Fooocus 重新思考了图像生成器的设计。该软件离线、开源且免费,同时类似于许多在线图像生成器(如 Midjourney),无需手动调整,用户只需关注提示词和图像。Fooocus 还简化了安装过程:从按下“下载”到生成第一张图像,所需的鼠标点击次数严格限制在 3 次以内。最低 GPU 内存要求为 4GB(Nvidia)。

最近,当您在 Google 上搜索"fooocus"时存在许多虚假网站。不要相信它们——这里是 Fooocus 的唯一官方来源。

项目状态:仅限错误修复的有限长期支持 (LTS)

Fooocus 项目完全基于 Stable Diffusion XL 架构构建,目前处于仅限错误修复的有限长期支持 (LTS) 状态。由于现有功能被认为几乎没有程序性问题(感谢 mashb1t 的巨大努力),未来的更新将 exclusively 专注于解决可能出现的任何错误。

目前没有计划迁移或整合更新的模型架构。 然而,随着开源社区的发展,这可能会随时间改变。例如,如果社区收敛到一种单一的图像生成主导方法(鉴于当前状况,这在半年或一年内真的可能发生),Fooocus 也可能迁移到该确切方法。

对于那些希望利用更新模型(如 Flux)的用户,我们建议探索替代平台,例如 WebUI Forge(也是由我们开发)、ComfyUI/SwarmUI。此外,还有几个 优秀的 Fooocus 分支版本 可供实验。

再次强调,最近当您在 Google 上搜索"fooocus"时存在许多虚假网站。请不要从这些网站获取 Fooocus——此页面是 Fooocus 的唯一官方来源。我们从未拥有过类似"fooocus.com"、"fooocus.net"、"fooocus.co"、"fooocus.ai"、"fooocus.org"、"fooocus.pro"、"fooocus.one"的网站。那些网站全部都是假的。它们与我们绝对没有任何关系。Fooocus 是 100% 非商业化的离线开源软件。

功能特性

以下是使用 Midjourney 示例的快速列表:

Midjourney Fooocus
高质量文生图,无需太多提示工程或参数调整。
(未知方法)
高质量文生图,无需太多提示工程或参数调整。
(Fooocus 拥有一个基于 GPT-2 的离线提示处理引擎以及大量采样改进,因此无论您的提示词短至“花园里的房子”还是长达 1000 字,结果总是美丽的)
V1 V2 V3 V4 输入图像 -> 放大或变体 -> 微调差异 (Vary Subtle) / 强差异 (Vary Strong)
U1 U2 U3 U4 输入图像 -> 放大或变体 -> 放大 (1.5x) / 放大 (2x)
重绘 / 上 / 下 / 左 / 右 (平移 Pan) 输入图像 -> 重绘或外绘 -> 重绘 / 上 / 下 / 左 / 右
(Fooocus 使用自己的重绘算法和重绘模型,因此结果比所有使用标准 SDXL 重绘方法/模型的其他软件更令人满意)
图像提示 输入图像 -> 图像提示
(Fooocus 使用自己的图像提示算法,因此结果质量和提示理解力比所有使用标准 SDXL 方法(如标准 IP-Adapters 或 Revisions)的其他软件更令人满意)
--style 高级 -> 风格
--stylize 高级 -> 高级 -> 引导
--niji 多个启动器:"run.bat", "run_anime.bat", 和 "run_realistic.bat".
Fooocus 支持 Civitai 上的 SDXL 模型
(如果您不知道它,可以谷歌搜索"Civitai")
--quality 高级 -> 质量
--repeat 高级 -> 图像数量
多提示 (::) 直接使用多行提示即可
提示权重 您可以使用"I am (happy:1.5)"。
Fooocus 使用 A1111 的重加权算法,因此如果用户直接从 Civitai 复制提示词,结果比 ComfyUI 更好。(因为如果使用 ComfyUI 的重加权编写提示词,用户不太可能复制提示文本,因为他们更喜欢拖拽文件)
要使用嵌入,您可以使用"(embedding:file_name:1.1)"
--no 高级 -> 负面提示
--ar 高级 -> 宽高比
InsightFace 输入图像 -> 图像提示 -> 高级 -> 换脸
Describe 输入图像 -> 描述

以下是使用 LeonardoAI 示例的快速列表:

LeonardoAI Fooocus
提示魔法 Prompt Magic 高级 -> 风格 -> Fooocus V2
高级采样器参数(如对比度/锐度等) 高级 -> 高级 -> 采样锐度 / 等
用户友好的 ControlNets 输入图像 -> 图像提示 -> 高级

此外,点击此处浏览高级功能。

下载

Windows

您可以直接下载 Fooocus:

>>> Click here to download <<<

下载文件后,请解压它并运行 "run.bat"。

image

首次启动软件时,它将自动下载模型:

  1. 根据预设的不同,它会下载 默认模型 到文件夹 "Fooocus\models\checkpoints"。如果您不希望自动下载,可以提前下载它们。
  2. 注意,如果您使用修复(inpaint),在您第一次修复图像时,它会从 此处 下载 Fooocus 自己的修复控制模型,保存为文件 "Fooocus\models\inpaint\inpaint_v26.fooocus.patch"(此文件大小为 1.28GB)。

Fooocus 2.1.60 版本之后,您还将拥有 run_anime.batrun_realistic.bat。它们是不同模型的预设(需要不同的模型,但它们会自动下载)。点击此处了解更多详情

Fooocus 2.3.0 之后,您也可以直接在浏览器中切换预设。请记住,如果您想更改默认行为,请添加以下参数:

  • 使用 --disable-preset-selection 禁用浏览器中的预设选择。
  • 使用 --always-download-new-model 在切换预设时下载缺失的模型。默认情况下回退到相应预设中定义的 previous_default_models,也请参阅终端输出。

image

如果您已经有了这些文件,可以将它们复制到上述位置以加快安装速度。

请注意,如果您看到 "MetadataIncompleteBuffer" 或 "PytorchStreamReader" ,则您的模型文件已损坏。请重新下载模型。

以下是针对一台相对低配笔记本电脑的测试,配备 16GB 系统内存(RAM)6GB 显存(VRAM) (Nvidia 3060 笔记本)。该机器上的速度约为每次迭代 1.35 秒。相当令人印象深刻——如今配备 3060 的笔记本电脑通常价格非常合理。

image

此外,最近许多其他软件报告称,Nvidia 驱动 532 以上版本有时比 Nvidia 驱动 531 慢 10 倍。如果您的生成时间非常长,请考虑下载 Nvidia Driver 531 LaptopNvidia Driver 531 Desktop

请注意,最低要求是 4GB Nvidia GPU 显存(4GB VRAM)8GB 系统内存(8GB RAM)。这需要启用 Microsoft 的虚拟交换技术,大多数情况下您的 Windows 安装会自动启用它,因此您通常不需要做任何操作。但是,如果您不确定,或者如果您手动关闭了它(真的有人会这样做吗?),或者 如果您看到任何 "RuntimeError: CPUAllocator" ,您可以在这里启用它:

点击此处查看图片说明。

image

并且确保如果仍然看到 "RuntimeError: CPUAllocator",每个驱动器上至少有 40GB 可用空间!

如果您使用类似设备但仍无法达到可接受的性能,请提交问题(issue)。

请注意,不同平台的 最低要求 是不同的。

另请参阅常见问题和故障排除 此处

Colab

(最后测试 - 2024 年 8 月 12 日,由 mashb1t

Colab 信息
Open In Colab Fooocus 官方

在 Colab 中,您可以将最后一行修改为 !python entry_with_update.py --share --always-high-vram!python entry_with_update.py --share --always-high-vram --preset anime!python entry_with_update.py --share --always-high-vram --preset realistic 以对应 Fooocus 默认版/动漫版/写实版。

您也可以在使用界面(UI)中更改预设。请注意,这可能导致 60 秒后超时。如果是这种情况,请等待下载完成,将预设更改为初始值再改回您选择的预设,或者刷新页面。

请注意,此 Colab 默认将禁用 Refiner(细化器),因为 Colab 免费版的资源相对有限(某些“大型”功能如图像提示可能会导致免费版 Colab 断开连接)。我们确保基本的文生图功能在免费版 Colab 上始终可用。

使用 --always-high-vram 将资源分配从 RAM(内存)转移到 VRAM(显存),并在默认的 T4 实例上实现性能、灵活性和稳定性之间的最佳平衡。请在此处 查找更多信息

感谢 camenduru 提供的模板!

Linux (使用 Anaconda)

如果您想使用 Anaconda/Miniconda,可以执行以下命令:

git clone https://github.com/lllyasviel/Fooocus.git
cd Fooocus
conda env create -f environment.yaml
conda activate fooocus
pip install -r requirements_versions.txt

然后下载模型:将 默认模型 下载到文件夹 "Fooocus\models\checkpoints"。或者让 Fooocus 使用启动器自动下载模型

conda activate fooocus
python entry_with_update.py

或者,如果您想开放远程端口,请使用:

conda activate fooocus
python entry_with_update.py --listen

对于 Fooocus 动漫版/写实版,请使用 python entry_with_update.py --preset animepython entry_with_update.py --preset realistic

Linux (使用 Python Venv)

您的 Linux 需要安装 Python 3.10,假设您的 Python 可以通过命令 python3 调用且您的 venv(虚拟环境)系统正常工作;您可以:

git clone https://github.com/lllyasviel/Fooocus.git
cd Fooocus
python3 -m venv fooocus_env
source fooocus_env/bin/activate
pip install -r requirements_versions.txt

关于模型下载,请参考上述部分。您可以使用以下方式启动软件:

source fooocus_env/bin/activate
python entry_with_update.py

或者,如果您想开放远程端口,请使用:

source fooocus_env/bin/activate
python entry_with_update.py --listen

对于 Fooocus 动漫版/写实版,请使用 python entry_with_update.py --preset animepython entry_with_update.py --preset realistic

Linux(使用原生系统 Python)

如果你知道自己在做什么,并且你的 Linux 已经安装了 Python 3.10,且你的 Python 可以通过命令 python3 调用(Pip 通过 pip3 调用),那么你可以

git clone https://github.com/lllyasviel/Fooocus.git
cd Fooocus
pip3 install -r requirements_versions.txt

模型下载请参见上述章节。你可以通过以下方式启动软件:

python3 entry_with_update.py

或者,如果你想开放远程端口,请使用

python3 entry_with_update.py --listen

若要使用 Fooocus Anime/Realistic 版本,请使用 python entry_with_update.py --preset animepython entry_with_update.py --preset realistic

Linux(AMD GPU)

请注意,不同平台的 最低要求 是不同的。

与上述说明相同。你需要将 torch 更改为 AMD 版本

pip uninstall torch torchvision torchaudio torchtext functorch xformers 
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.6

不过,AMD 尚未进行密集测试。AMD 支持处于测试版阶段。

若要使用 Fooocus Anime/Realistic 版本,请使用 python entry_with_update.py --preset animepython entry_with_update.py --preset realistic

Windows(AMD GPU)

请注意,不同平台的 最低要求 是不同的。

与 Windows 系统相同。下载软件并编辑 run.bat 的内容如下:

.\python_embeded\python.exe -m pip uninstall torch torchvision torchaudio torchtext functorch xformers -y
.\python_embeded\python.exe -m pip install torch-directml
.\python_embeded\python.exe -s Fooocus\entry_with_update.py --directml
pause

然后运行 run.bat

不过,AMD 尚未进行密集测试。AMD 支持处于测试版阶段。

对于 AMD,若要使用 Fooocus Anime/Realistic 版本,请使用 .\python_embeded\python.exe Fooocus\entry_with_update.py --directml --preset anime.\python_embeded\python.exe Fooocus\entry_with_update.py --directml --preset realistic

Mac

请注意,不同平台的 最低要求 是不同的。

Mac 尚未进行密集测试。以下是使用 Mac 的非官方指南。你可以在 此处 讨论问题。

你可以在搭载 macOS 'Catalina' 或更新版本的 Apple Mac 芯片(M1 或 M2)上安装 Fooocus。Fooocus 通过 PyTorch(深度学习框架)MPS(Metal Performance Shaders)设备加速在 Apple 硅基计算机上运行。Mac 硅基计算机没有配备独立显卡,因此与配备独立显卡的计算机相比,图像处理时间会显著延长。

  1. 安装 conda(包管理器)和 pytorch nightly 版本。阅读 Mac 上的加速 PyTorch 训练 Apple Developer 指南以获取说明。确保 pytorch 识别你的 MPS 设备。
  2. 打开 macOS Terminal 应用程序,并使用 git clone https://github.com/lllyasviel/Fooocus.git 克隆此仓库。
  3. 进入新的 Fooocus 目录,执行 cd Fooocus
  4. 创建一个新的 conda 环境,执行 conda env create -f environment.yaml
  5. 激活你的新 conda 环境,执行 conda activate fooocus
  6. 安装 Fooocus 所需的软件包,执行 pip install -r requirements_versions.txt
  7. 运行 python entry_with_update.py 启动 Fooocus。(一些 Mac M2 用户可能需要 python entry_with_update.py --disable-offload-from-vram 来加快模型的加载/卸载速度。)第一次运行 Fooocus 时,它会自动下载 Stable Diffusion SDXL(图像生成模型)模型,这可能需要相当长的时间,具体取决于你的网络连接。

若要使用 Fooocus Anime/Realistic 版本,请使用 python entry_with_update.py --preset animepython entry_with_update.py --preset realistic

Docker(容器化平台)

请参阅 docker.md

下载旧版本

请参阅 此处 的指南。

最低要求

以下是本地运行 Fooocus 的最低要求。如果您的设备性能低于此规格,您可能无法在本地使用 Fooocus。(无论如何,如果您的设备性能较低但 Fooocus 仍能工作,请告知我们。)

操作系统 GPU 最小显存 最小系统内存 系统交换空间 备注
Windows/Linux Nvidia RTX 4XXX 4GB 8GB 必需 最快
Windows/Linux Nvidia RTX 3XXX 4GB 8GB 必需 通常比 RTX 2XXX 快
Windows/Linux Nvidia RTX 2XXX 4GB 8GB 必需 通常比 GTX 1XXX 快
Windows/Linux Nvidia GTX 1XXX 8GB (* 6GB 不确定) 8GB 必需 仅比 CPU 稍快
Windows/Linux Nvidia GTX 9XX 8GB 8GB 必需 比 CPU 快或慢
Windows/Linux Nvidia GTX < 9XX 不支持 / / /
Windows AMD GPU 8GB (更新于 2023 年 12 月 30 日) 8GB 必需 通过 DirectML (* ROCm 已暂停),速度约为 Nvidia RTX 3XXX 的 1/3
Linux AMD GPU 8GB 8GB 必需 通过 ROCm,速度约为 Nvidia RTX 3XXX 的 1/1.5
Mac M1/M2 MPS 共享 共享 共享 速度约为 Nvidia RTX 3XXX 的 1/9
Windows/Linux/Mac 仅使用 CPU 0GB 32GB 必需 速度约为 Nvidia RTX 3XXX 的 1/17
  • AMD GPU ROCm(暂停中):AMD 仍在努力支持 Windows 上的 ROCm。

  • Nvidia GTX 1XXX 6GB 不确定性:部分用户报告 GTX 10XX 上 6GB 成功,但也有其他用户报告失败案例。

请注意,Fooocus 仅用于生成极高质量的图像。我们将不支持较小的模型以降低要求并牺牲结果质量。

故障排除

常见问题请参见 此处

默认模型

根据不同的目标,Fooocus 的默认模型和配置有所不同:

任务 Windows Linux 参数 主模型 精炼器 配置
通用 run.bat juggernautXL_v8Rundiffusion 未使用 此处
写实 run_realistic.bat --preset realistic realisticStockPhoto_v20 未使用 此处
动漫 run_anime.bat --preset anime animaPencilXL_v500 未使用 此处

请注意下载是自动的——如果网络连接正常,您无需做任何操作。但是,如果您已有准备(例如从其他地方移动过来),也可以手动下载它们。

UI 访问与身份验证

除了在本机运行外,Fooocus 还可以通过以下方式暴露其 UI:

  • 本地 UI 监听器:使用 --listen(指定端口,例如通过 --port 8888)。
  • API 访问:使用 --share(在 .gradio.live 注册一个端点)。

在这两种方式下,默认情况下访问无需身份验证。您可以通过在主目录中创建一个名为 auth.json 的文件来添加基本身份验证,该文件包含带有 userpass 键的 JSON 对象列表(示例见 auth-example.json)。

“隐藏”技巧列表

点击查看技巧列表。这些基于 SDXL(Stable Diffusion XL),与最新模型相比可能稍显过时。
  1. 基于 GPT2 的 提示词扩展作为动态风格 "Fooocus V2"。(类似于 Midjourney 的隐藏预处理和"raw"模式,或 LeonardoAI 的 Prompt Magic)。
  2. 在单个 k-sampler(k 采样器)内部的原生 refine 器(精修器)切换。优势在于 refine 模型现在可以重用从 k-sampling 中收集的 base 模型(基础模型)的动量(或 ODE(常微分方程)的历史参数),从而实现更连贯的采样。在 Automatic1111 的高清修复和 ComfyUI 的节点系统中,base 模型和 refine 器使用两个独立的 k-sampler,这意味着动量在很大程度上被浪费,且采样的连续性被打破。Fooocus 使用其自身先进的 k-diffusion(k 扩散)采样,确保在 refine 器设置中无缝、原生且连续的切换。(更新 8 月 13 日:实际上,前几天我和 Automatic1111 讨论过这件事,看起来“在单个 k-sampler 内部的原生 refine 器切换”已经 合并 到 webui(Web 界面)的 dev 分支了。太棒了!)
  3. 负向 ADM 引导(宽高比模型引导)。因为 XL Base 的最高分辨率级别没有交叉注意力机制,XL 最高分辨率级别的正负信号在 CFG(分类器自由引导)采样期间无法获得足够的对比度,导致结果在某些情况下看起来有点塑料感或过于平滑。幸运的是,由于 XL 的最高分辨率级别仍然基于图像宽高比(ADM),我们可以修改正/负侧的 adm 来补偿最高分辨率级别中 CFG 对比度的缺失。(更新 8 月 16 日,iOS 应用 Draw Things 将支持负向 ADM 引导。太棒了!)
  4. 我们实现了论文 "Improving Sample Quality of Diffusion Models Using Self-Attention Guidance" 第 5.1 节的一个精心调优的变体(自注意力引导 SAG)。权重设置得非常低,但这是 Fooocus 的最终保障,确保 XL 永远不会产生过于平滑或塑料感的外观(示例 在此)。这几乎消除了所有 XL 即使有负向 ADM 引导仍偶尔产生过于平滑结果的情况。(更新 2023 年 8 月 18 日,SAG 的高斯核已更改为各向异性核,以更好地保留结构并减少伪影。)
  5. 我们稍微修改了风格模板,并添加了"cinematic-default"。
  6. 我们测试了"sd_xl_offset_example-lora_1.0.safetensors",似乎当 lora(LoRA)权重低于 0.5 时,结果总是优于不使用 lora 的 XL。
  7. 采样器的参数经过精心调优。
  8. 因为 XL 使用位置编码来处理生成分辨率,由几个固定分辨率生成的图像看起来比任意分辨率生成的图像更好(因为位置编码不太擅长处理训练期间未见过的整数)。这表明 UI 中的分辨率可能是硬编码的以获得最佳效果。
  9. 为两个不同的文本编码器使用分离的提示词似乎没有必要。为 base 模型和 refine 器使用分离的提示词可能有效,但效果是随机的,因此我们避免实现这一点。
  10. DPM 系列似乎非常适合 XL,因为 XL 有时会生成过于平滑的纹理,但 DPM 系列有时会在纹理上生成过于密集的细节。它们的联合效果看起来中性且符合人类感知。
  11. 一个精心设计的系统,用于平衡多种风格以及提示词扩展。
  12. 使用 automatic1111 的方法来规范化提示词强调。当用户直接从 civitai 复制提示词时,这显著改善了结果。
  13. refine 器的联合切换系统现在也以无缝方式支持 img2img(图生图)和 upscale(放大)。
  14. 当 CFG 大于 10 时的 CFG Scale(分类器自由引导比例)和 TSNR(时间步降噪)校正(针对 SDXL 调优)。

自定义

首次运行 Fooocus 后,将在 Fooocus\config.txt 生成配置文件。可以编辑此文件以更改模型路径或默认参数。

例如,编辑后的 Fooocus\config.txt(此文件将在首次启动后生成)可能如下所示:

{
    "path_checkpoints": "D:\\Fooocus\\models\\checkpoints",
    "path_loras": "D:\\Fooocus\\models\\loras",
    "path_embeddings": "D:\\Fooocus\\models\\embeddings",
    "path_vae_approx": "D:\\Fooocus\\models\\vae_approx",
    "path_upscale_models": "D:\\Fooocus\\models\\upscale_models",
    "path_inpaint": "D:\\Fooocus\\models\\inpaint",
    "path_controlnet": "D:\\Fooocus\\models\\controlnet",
    "path_clip_vision": "D:\\Fooocus\\models\\clip_vision",
    "path_fooocus_expansion": "D:\\Fooocus\\models\\prompt_expansion\\fooocus_expansion",
    "path_outputs": "D:\\Fooocus\\outputs",
    "default_model": "realisticStockPhoto_v10.safetensors",
    "default_refiner": "",
    "default_loras": [["lora_filename_1.safetensors", 0.5], ["lora_filename_2.safetensors", 0.5]],
    "default_cfg_scale": 3.0,
    "default_sampler": "dpmpp_2m",
    "default_scheduler": "karras",
    "default_negative_prompt": "low quality",
    "default_positive_prompt": "",
    "default_styles": [
        "Fooocus V2",
        "Fooocus Photograph",
        "Fooocus Negative"
    ]
}

许多其他键、格式和示例位于 Fooocus\config_modification_tutorial.txt(此文件将在首次启动后生成)。

在真正更改配置前请三思。如果发现弄坏了东西,只需删除 Fooocus\config.txt。Fooocus 将恢复默认设置。

更安全的方法是尝试"run_anime.bat"或"run_realistic.bat"——它们对于不同任务应该已经足够好了。

注意 user_path_config.txt 已被弃用并将很快移除。(编辑:它已经被移除了。)

所有 CMD 参数

entry_with_update.py  [-h] [--listen [IP]] [--port PORT]
                      [--disable-header-check [ORIGIN]]
                      [--web-upload-size WEB_UPLOAD_SIZE]
                      [--hf-mirror HF_MIRROR]
                      [--external-working-path PATH [PATH ...]]
                      [--output-path OUTPUT_PATH]
                      [--temp-path TEMP_PATH] [--cache-path CACHE_PATH]
                      [--in-browser] [--disable-in-browser]
                      [--gpu-device-id DEVICE_ID]
                      [--async-cuda-allocation | --disable-async-cuda-allocation]
                      [--disable-attention-upcast]
                      [--all-in-fp32 | --all-in-fp16]
                      [--unet-in-bf16 | --unet-in-fp16 | --unet-in-fp8-e4m3fn | --unet-in-fp8-e5m2]
                      [--vae-in-fp16 | --vae-in-fp32 | --vae-in-bf16]
                      [--vae-in-cpu]
                      [--clip-in-fp8-e4m3fn | --clip-in-fp8-e5m2 | --clip-in-fp16 | --clip-in-fp32]
                      [--directml [DIRECTML_DEVICE]]
                      [--disable-ipex-hijack]
                      [--preview-option [none,auto,fast,taesd]]
                      [--attention-split | --attention-quad | --attention-pytorch]
                      [--disable-xformers]
                      [--always-gpu | --always-high-vram | --always-normal-vram | --always-low-vram | --always-no-vram | --always-cpu [CPU_NUM_THREADS]]
                      [--always-offload-from-vram]
                      [--pytorch-deterministic] [--disable-server-log]
                      [--debug-mode] [--is-windows-embedded-python]
                      [--disable-server-info] [--multi-user] [--share]
                      [--preset PRESET] [--disable-preset-selection]
                      [--language LANGUAGE]
                      [--disable-offload-from-vram] [--theme THEME]
                      [--disable-image-log] [--disable-analytics]
                      [--disable-metadata] [--disable-preset-download]
                      [--disable-enhance-output-sorting]
                      [--enable-auto-describe-image]
                      [--always-download-new-model]
                      [--rebuild-hash-cache [CPU_NUM_THREADS]]

内联提示词功能

通配符

示例提示词:__color__ flower

正负向提示词均会处理。

从预定义选项列表中随机选择一个通配符,此处为 wildcards/color.txt 文件。 通配符将被替换为一个随机颜色(随机性基于种子)。 你也可以禁用随机性,并通过在开发者调试模式(Developer Debug Mode)中勾选“按顺序读取通配符”(Read wildcards in order)复选框,从上到下处理通配符文件。

通配符可以嵌套和组合,并且可以在同一个提示词中使用多个通配符(示例见 wildcards/color_flower.txt)。

数组处理

示例提示词:[[red, green, blue]] flower

仅处理正向提示词。

从左到右处理数组,为数组中的每个元素生成一张单独的图像。在此情况下将生成 3 张图像,每种颜色一张。 将图像数量增加到 3 以生成所有 3 种变体。

数组不能嵌套,但可以在同一个提示词中使用多个数组。 支持将内联 LoRA 作为数组元素!

内联 LoRA (低秩自适应)

示例提示词:flower <lora:sunflowers:1.2>

仅处理正向提示词。

将 LoRA 应用于提示词。LoRA 文件必须位于 models/loras 目录中。

高级功能

点击此处浏览高级功能。

分支项目

以下是 Fooocus 的一些分支项目:

Fooocus 的分支项目
fenneishi/Fooocus-Control
runew0lf/RuinedFooocus
MoonRide303/Fooocus-MRE
mashb1t/Fooocus
以及更多...

致谢

非常感谢 twri3DivaMarc K3nt3L 创建了 Fooocus 中可用的额外 SDXL 风格。

该项目始于 Stable Diffusion WebUIComfyUI 代码库的组合。

此外,感谢 daswer123 贡献了画布缩放(Canvas Zoom)功能!

更新日志

日志位于 此处

本地化/翻译/国际化 (I18N)

你可以将 json 文件放入 language 文件夹来翻译用户界面。

例如,以下是 Fooocus/language/example.json 的内容:

{
  "Generate": "生成",
  "Input Image": "入力画像",
  "Advanced": "고급",
  "SAI 3D Model": "SAI 3D Modèle"
}

如果你添加 --language example 参数,Fooocus 将读取 Fooocus/language/example.json 来翻译 UI。

例如,你可以编辑 Windows run.bat 的末尾行如下

.\python_embeded\python.exe -s Fooocus\entry_with_update.py --language example

或者 run_anime.bat 如下

.\python_embeded\python.exe -s Fooocus\entry_with_update.py --language example --preset anime

或者 run_realistic.bat 如下

.\python_embeded\python.exe -s Fooocus\entry_with_update.py --language example --preset realistic

对于实际翻译,你可以创建自己的文件如 Fooocus/language/jp.jsonFooocus/language/cn.json,然后使用标志 --language jp--language cn。显然,这些文件目前不存在。我们需要你的帮助来创建这些文件!

注意,如果没有给出 --language 且同时存在 Fooocus/language/default.json,Fooocus 将始终加载 Fooocus/language/default.json 进行翻译。默认情况下,文件 Fooocus/language/default.json 不存在。

版本历史

v2.5.52024/08/12
v2.5.42024/08/11
v2.5.32024/08/03
v2.5.22024/07/27
v2.5.12024/07/25
v2.5.02024/07/17
2.3.12024/03/23
v2.5.0-rc12024/07/14
v2.4.32024/06/06
v2.4.22024/06/05
v2.4.12024/05/27
v2.4.02024/05/26
2.4.0-rc22024/05/19
2.4.0-rc12024/05/19
2.3.02024/03/18
2.3.0-rc12024/03/16
2.2.12024/03/04
2.2.02024/03/02
2.2.0-rc12024/02/26
2.1.8652024/02/11

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

74.9k|★★★☆☆|今天
语言模型图像开发框架

tesseract

Tesseract 是一款历史悠久且备受推崇的开源光学字符识别(OCR)引擎,最初由惠普实验室开发,后由 Google 维护,目前由全球社区共同贡献。它的核心功能是将图片中的文字转化为可编辑、可搜索的文本数据,有效解决了从扫描件、照片或 PDF 文档中提取文字信息的难题,是数字化归档和信息自动化的重要基础工具。 在技术层面,Tesseract 展现了强大的适应能力。从版本 4 开始,它引入了基于长短期记忆网络(LSTM)的神经网络 OCR 引擎,显著提升了行识别的准确率;同时,为了兼顾旧有需求,它依然支持传统的字符模式识别引擎。Tesseract 原生支持 UTF-8 编码,开箱即用即可识别超过 100 种语言,并兼容 PNG、JPEG、TIFF 等多种常见图像格式。输出方面,它灵活支持纯文本、hOCR、PDF、TSV 等多种格式,方便后续数据处理。 Tesseract 主要面向开发者、研究人员以及需要构建文档处理流程的企业用户。由于它本身是一个命令行工具和库(libtesseract),不包含图形用户界面(GUI),因此最适合具备一定编程能力的技术人员集成到自动化脚本或应用程序中

73.3k|★★☆☆☆|3天前
开发框架图像