agentic_huge_data_base / wiki
页面 Open WebUI · 6.6 图像生成集成·DeepWiki 中文全文译文

6.6 · 图像生成集成(Image Generation Integration)

多模型对话工作台与知识应用入口 · 本章是 Open WebUI DeepWiki 中文译文的独立章节页,保留原始链接、源码锚点、模块标签和章节层级。

项目Open WebUI 章节6.6 状态全文译文 模块工具、记忆与模型调用、接口与服务契约、系统架构、界面与交互
源码线索
  • README.md
  • TROUBLESHOOTING.md
  • backend/open_webui/routers/audio.py
  • backend/open_webui/routers/images.py
  • backend/open_webui/utils/files.py
  • src/lib/apis/images/index.ts
  • src/lib/components/admin/Settings/Audio.svelte
  • src/lib/components/admin/Settings/Connections.svelte
  • src/lib/components/admin/Settings/General.svelte
  • src/lib/components/admin/Settings/Images.svelte
模块标签
  • 工具、记忆与模型调用
  • 接口与服务契约
  • 系统架构
  • 界面与交互
  • 可观测性与治理

中文译文

图像生成集成(中文译文)

原始 DeepWiki 页面:https://deepwiki.com/open-webui/open-webui/6.6-image-generation-integration
翻译时间:2026-06-09T16:08:54.676Z
翻译模型:deepseek-chat
原文字符数:7408
项目:Open WebUI (open-webui)

---

图像生成集成

相关源文件

以下文件被用作生成此 wiki 页面的上下文:

  • LICENSE
  • README.md
  • TROUBLESHOOTING.md
  • backend/open_webui/routers/audio.py
  • backend/open_webui/routers/images.py
  • backend/open_webui/utils/files.py
  • src/lib/apis/images/index.ts
  • src/lib/components/admin/Settings/Audio.svelte
  • src/lib/components/admin/Settings/Connections.svelte
  • src/lib/components/admin/Settings/General.svelte
  • src/lib/components/admin/Settings/Images.svelte
  • src/lib/components/admin/Settings/Interface.svelte
  • src/lib/components/admin/Settings/Models.svelte
  • src/lib/components/admin/Settings/Pipelines.svelte
  • src/lib/components/chat/Settings/About.svelte
  • src/lib/components/playground/Images.svelte
  • src/routes/(app)/playground/images/+page.svelte/playground/images/+page.svelte)
  • static/manifest.json

图像生成集成系统在 Open WebUI 界面中提供自动化的图像创建和编辑能力。它支持多种后端引擎,包括 OpenAI (DALL-E)、Google Gemini (Imagen)、ComfyUI 和 AUTOMATIC1111 (Stable Diffusion)。该系统处理提示词增强、模型切换和自动文件持久化。

系统架构

图像生成逻辑主要包含在 images 路由中,该路由与各种外部 API 和本地扩散服务器交互。

graph TB
    subgraph "前端层"
        UI["Images.svelte<br/>Playground 组件"]
        AdminSettings["Settings/Images.svelte<br/>管理面板"]
        ImageAPI["lib/apis/images/index.ts<br/>API 封装"]
    end

    subgraph "后端路由 [routers/images.py]"
        Router["APIRouter<br/>images.py:52"]
        GetConfig["get_config<br/>images.py:161"]
        SetModel["set_image_model<br/>images.py:55"]
        GetModel["get_image_model<br/>images.py:84"]
    end

    subgraph "外部引擎"
        OAI["OpenAI DALL-E"]
        Gem["Gemini Imagen"]
        A11["AUTOMATIC1111<br/>SD API"]
        CUI["ComfyUI<br/>工作流 API"]
    end

    UI --> ImageAPI
    AdminSettings --> ImageAPI
    ImageAPI --> Router
    Router --> OAI
    Router --> Gem
    Router --> A11
    Router --> CUI

来源: backend/open_webui/routers/images.py:52-53src/lib/components/admin/Settings/Images.svelte:8-15src/lib/apis/images/index.ts:1-15

配置与引擎管理

系统使用集中式的 ImagesConfig Pydantic 模型来管理所有支持引擎的设置。此配置会被持久化,管理员可通过 WebUI 进行更新。

支持的引擎与模型

get_image_model 函数根据当前激活的引擎配置确定使用哪个模型:

  • OpenAI:若未指定,默认为 dall-e-2 backend/open_webui/routers/images.py:85-90
  • Gemini:默认为 imagen-3.0-generate-002 backend/open_webui/routers/images.py:91-96
  • AUTOMATIC1111:从服务器的 /sdapi/v1/options 端点获取当前的 sd_model_checkpoint backend/open_webui/routers/images.py:102-113
配置模式
字段引擎描述
IMAGE_GENERATION_ENGINE全局可选值:openaigeminicomfyuiautomatic1111
AUTOMATIC1111_BASE_URLA1111Stable Diffusion WebUI API 的基础 URL
COMFYUI_BASE_URLComfyUIComfyUI 实例的基础 URL
COMFYUI_WORKFLOW_NODESComfyUI用于提示词、模型和尺寸的节点映射列表 backend/open_webui/routers/images.py:139-140

来源: backend/open_webui/routers/images.py:118-159src/lib/components/admin/Settings/Images.svelte:118-142

ComfyUI 工作流集成

ComfyUI 集成具有高度灵活性,允许用户通过 UI 定义自定义工作流。后端将特定的工作流节点映射到生成参数,如提示词文本、种子和图像尺寸。

必需的节点映射

前端定义了标准节点类型,这些类型必须在 ComfyUI JSON 工作流中进行映射:

  • prompt:文本输入节点 src/lib/components/admin/Settings/Images.svelte:33-36
  • model:检查点加载器节点 src/lib/components/admin/Settings/Images.svelte:39-42
  • width / height:分辨率节点 src/lib/components/admin/Settings/Images.svelte:44-52
  • steps / seed:采样参数 src/lib/components/admin/Settings/Images.svelte:54-62
graph LR
    subgraph "ComfyUI 集成流程"
        WF["JSON 工作流<br/>images.py:138"]
        Nodes["REQUIRED_WORKFLOW_NODES<br/>Images.svelte:32"]
        Map["将 UI 参数映射到<br/>工作流节点 ID"]
        Exec["comfyui_create_image<br/>comfyui.py:40"]
    end

    Nodes --> Map
    WF --> Map
    Map --> Exec

来源: src/lib/components/admin/Settings/Images.svelte:31-63backend/open_webui/routers/images.py:35-42

图像编辑集成

Open WebUI 支持图像到图像(image-to-image)和图像修补(inpainting)工作流。此功能通过 ENABLE_IMAGE_EDIT 启用,并且可以使用与主生成引擎不同的引擎。

  • 引擎路由:如果设置了 IMAGE_EDIT_ENGINE,编辑请求将被路由到该引擎;否则,可能会回退到默认处理器 backend/open_webui/routers/images.py:145-147
  • ComfyUI 编辑:需要一个包含 image 节点类型(用于源文件)的特定编辑工作流 src/lib/components/admin/Settings/Images.svelte:66-71
  • Gemini/OpenAI:使用特定提供商的编辑端点(例如 IMAGES_EDIT_GEMINI_API_BASE_URLbackend/open_webui/routers/images.py:150-154

来源: backend/open_webui/routers/images.py:145-158src/lib/components/admin/Settings/Images.svelte:65-92

数据流与持久化

生成的图像会被本地缓存,并注册到 Open WebUI 文件管理系统中,以便在聊天历史中引用。

  1. 生成:引擎(例如 ComfyUI)生成图像,并以 base64 字符串或 URL 的形式返回。
  2. 持久化images 路由使用 routers.files 中的 upload_file_handler 将图像保存到内部存储 backend/open_webui/routers/images.py:29-29
  3. 缓存:图像存储在 IMAGE_CACHE_DIR(位于 CACHE_DIR / 'image' / 'generations'backend/open_webui/routers/images.py:49-50
  4. 响应:后端返回一个文件 ID 或 URL,前端将其渲染为消息附件。

来源: backend/open_webui/routers/images.py:49-50backend/open_webui/routers/images.py:29-29