MewImage:一个可自行部署的 AI 生图工作台

MewImage:一个可自行部署的 AI 生图工作台

最近做了一个 AI 生图网页项目,叫做 MewImage

主要用来统一接入不同图片生成接口、管理生成记录,并在多台设备之间同步工作区的 Web 平台。

这个项目是为了解决我自己的使用需求:平时会切换不同的图片模型和中转服务,也会在不同电脑之间工作。如果每个设备都使用独立网页,服务商配置、参考图、提示词、生成历史和收藏内容很容易散落在各处。

所以我想做一个属于自己的统一生图工作台。

多种图片生成服务

MewImage 目前主要支持三类服务:

  • OpenAI Image:支持 Images API,也支持通过 Responses API 调用图片生成工具。

  • Nano Banana:用于接入 Gemini 图片生成接口。

  • OpenAI 兼容协议:用于接入支持相应请求格式的第三方服务或中转接口。

每个服务商配置都可以自定义 Base URL、模型名称和 API Key,因此不会被限制在某一个固定平台中。

生成时可以设置数量、质量、比例和分辨率,并支持上传多张参考图。实际可用的参数仍然取决于所选模型和上游接口。

参考图和连续修改

除了普通的文本生图,MewImage 也支持参考图编辑。

参考图可以调整选择顺序,重复上传的图片会自动识别并复用已有资源。一次生成完成后,还可以直接把结果作为下一轮的底图,继续修改画面中的细节。

新的结果会自动进入下一轮修改上下文,但之前的任务仍会完整保留。这种方式比反复下载、上传生成结果更适合连续迭代。

生成历史和多会话管理

每次生成都会保留对应的提示词、参考图、服务商配置、模型和生成参数。

在结果画廊中,可以查看图片的真实尺寸和生成状态,也可以重新生成、继续修改、收藏、下载或删除记录。详情页会展示更完整的请求参数、生成时间和耗时等信息。

项目同时提供了多会话功能。每个会话拥有独立的提示词草稿和生成记录,可以把角色、场景或不同项目的创作任务分开管理。

全局收藏夹

比较满意的图片可以收藏到全局收藏夹中,并按自己的习惯建立多个分类。

收藏内容不依赖原始会话。即使后续删除原会话,已收藏的图片、提示词和参考图仍然可以保留。它可以被当作一个比较轻量的 AI 图片素材库。

多设备同步

多设备同步是我开发 MewImage 的主要原因。

登录后,可以将服务商配置、会话、生成任务、参考图、收藏夹和界面设置同步到服务器。之后在另一台设备登录同一账号,就能继续之前的工作。

同步由用户手动触发,不会在日常输入、切换会话或关闭设置时频繁请求服务器。同步图片可以保存在服务器本地目录,也可以使用 S3 兼容对象存储。

数据和 API Key

工作区数据默认会保存在当前浏览器的 IndexedDB 中,也可以导出为 ZIP 备份,之后再合并导入到其他浏览器。

API Key 默认只保存在当前浏览器。如果用户主动开启 API Key 同步,Key 会先在浏览器端加密,服务器保存的是加密后的内容,不会出现明文密码泄露的问题。

技术与当前定位

MewImage 的前后端都以 Rust 为主:

  • 前端:Leptos CSR + WebAssembly

  • 后端:Axum + SQLite

  • 图片存储:服务器本地目录或 S3 兼容对象存储

  • 部署:Docker Compose

项目目前主要面向个人和小规模共享部署,更适合已经在使用多个图片模型、拥有服务器或 NAS,并且有多设备同步需求的用户。

不提供本地模型推理,使用时仍然需要自己准备可用的图片生成 API。项目也是一个以个人需求为主的 AI Coding 作品,还有很多可以继续改进的地方。

项目与演示视频

详细部署方法、环境变量和当前限制已经写在项目仓库中,这里就不再重复展开。

如果你刚好也有类似的使用需求,欢迎体验、提交 Issue,或分享你的建议~