ENFUGUE 是一个开源的网页应用程序,用于使用生成式 AI 制作专业级图像和视频。
适用于服务器或桌面,初学者或专业人士。
新 - 来访问我们的Discord!
功能摘要
- 🚀 一键安装: 使用我们的便捷安装脚本安装、更新和启动 ENFUGUE,无需任何配置。
- 兼容性好: 在 ENFUGUE 和所有最流行的开源 AI 应用程序之间共享 AI 模型或整个服务器环境。
- 🔪 前沿技术: 所有最好的开源图像/视频生成模型在公开发布后立即实现和提供。
- 👥 所有者和用户: 可选的身份验证和授权功能在共享环境中保护您的安装设置。
- 🗃 简易模型管理: 应用内 CivitAI 浏览器带来所有最佳社区模型。
- 🧷 安全模式: 安全检查默认开启,所有者可以在 UI 中禁用。您可以放心使用。
- ♻️ 资源节约: AI 可能需要大量资源,而 ENFUGUE 只会使用必要的资源。它会在不再需要时释放 GPU,并在运行时清理不需要的文件。
- 🧈 统一流程: 您无需切换标签来更改输入模式。文本转图像、图像转视频以及各种高级操作都可以通过分层画布和输入角色立即使用。
- 🛈 工具提示: 想知道某个输入的功能吗?将鼠标悬停在上面即可找到答案;文档在应用程序中提供
如果你忘记了密码,可以通过在 enfugue 缓存目录中创建一个名为
password_reset.txt
的文件,并在其中写入你想要的新密码来重置 root 密码,然后重启服务器。缓存目录位于~/.cache/enfugue/
,其中~
是你的主目录或用户目录,具体取决于平台。
提示
这里有一些快速提示以获得出色的结果:
- 基础的 Stable Diffusion 模型可以创建一些相当不错的图像,但你会在来自更大 AI 社区的微调模型中看到最佳图像。打开 CivitAI 浏览器,下载最新和最好的模型来试试。
- 使用新模型的第一次调用总是比后续调用花费的时间要长得多,因为 Enfugue 会移动文件并下载其他必要的文件。
- 放大可以出人意料地将图像从平庸变得出色。尝试 AI 放大方法和放大扩散,以将你的图像生成提升到更高水平。
故障排除
如果你在使用 Enfugue 时遇到问题,这里有一些步骤可以尝试:
- 确保你的防火墙没有阻止端口
45554
和45555
的入站端口。这种情况较少见,但在严格的环境中可能会发生。有关如何创建入站端口规则的详细信息,请参见 此处。 - 不要输入
my.enfugue.ai
,而是直接访问https://app.enfugue.ai:45554/
。 - 不要尝试使用安全服务器,而是通过
http://127.0.0.1:45555/
使用不安全服务器。 - 清除缓存和 cookies,然后尝试重新加载应用程序。
- 在问题标签中报告你的问题。
如果一切都失败了,你可以尝试删除 ~/.cache
目录中的 enfugue
文件夹和 enfugue.db
文件以重新初始化应用程序。
常见问题
什么是“Full FP32”、“Pruned PickleTensor”等?
这些标志表示模型的精度级别和格式。为了使用 Enfugue 的所有功能,Enfugue 会根据需要更改这些格式和精度,所以理论上它们的工作原理是一样的。实际上,如果有选择,选择 Pruned
和 FP16/Half
可以实现最快的下载和处理。
为了获得最佳图像,什么是最佳设置?
关于生成式 AI 总是有许多东西要学习,特别是关于 Stable Diffusion。Enfugue 中预配置了一个很好的起点,但不会有一套适用于所有你想要生成图像的参数集合。学习的最佳方法是简单地调整值,看看它们对最终图像的影响。
我可以在哪里了解更多内容?
需要时会提供更多资源,不要犹豫,询问你认为对你最有效的内容。
对开发者
Enfugue Diffusion Pipeline
Enfugue 使用 diffusers.StableDiffusionPipeline
的扩展,提供了许多额外的参数,而不仅仅是典型签名,在需要时交错使用 txt2img
、img2img
、inpaint
和 controlnet
。它还提供所有管道中模型的 TensorRT 支持。请从此处开始了解文档。
Enfugue JSON API
Enfugue 的所有功能均可通过 JSON API 使用。可在 wiki 中找到文档。
构建
对于任何想要自己从源码构建的人,只需检出此存储库并发出 make
命令以构建相关的二进制发行版。请参见下方的所有 make 目标。
构建步骤 | 描述 | 依赖项 |
---|---|---|
clean | 此目标会删除构建产物。 | 无 |
typecheck | 此步骤运行 mypy 针对每个源文件。详情见 mypy-lang.org 了解 python 静态类型检查。mypy 使用 --strict 标志运行,表示所有约束均已选中。 | Python 源文件 |
importcheck | 此步骤运行 importcheck 针对每个源文件。详情见 github 了解 importcheck;简单来说,如果导入的模块未被使用,它会产生错误。 | Python 源文件 |
unittest | 此步骤运行 doctest 针对每个源文件。详情见 Python 文档 了解 doctest。这将运行所有放置在文档字符串中的测试,你会在文档中看到前缀为 >>> 的 python 命令。 | Python 源文件 |
test | 此步骤运行 enfugue.test.run 。这将运行 test 目录中放置的 <n>*.py 文件中的 main 方法。 | Python 源文件、python 测试文件 |
vendor | 此步骤通过运行 vendor/ 目录下的所有脚本来获取供应商资源。 | 脚本文件 |
js | 此步骤使用 terser 压缩和压缩 .mjs 文件。 | src/js/*.mjs 文件 |
css | 此步骤使用 cssminify 最小化所有 css 文件。 | src/css/*.css 文件 |
html,img | 这些步骤只是将相关的静态目录(/html ,/img )复制到构建目录中。 | src/html/*.html 文件,src/img/*.* 文件 |
sdist | 此步骤将源代码分发编译成可安装的 .tar.gz 文件,适合传递给 pip install 。包含前述步骤的所有结果 | Python 源文件,通过 typecheck 、importcheck 、unittest 和 test ,运行 vendor ,编译 js 、css 、html 和 img |
dist | 此步骤编译相关的可执行工件(并进行压缩/打包)。 | sdist |
dockerfile | 此步骤编译 dockerfile 并准备进行构建。 | sdist |
docker | 此步骤构建 docker 映像。 | dockerfile |
直接从源码运行
要直接从源码运行(开发模式),请使用 scripts/run-dev.sh
脚本。这在 Windows(在 Cygwin 中)和 Linux 上有效,尚未在 MacOS 上测试。