最近做了一个 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 作品,还有很多可以继续改进的地方。
项目与演示视频
详细部署方法、环境变量和当前限制已经写在项目仓库中,这里就不再重复展开。
项目地址: 点击查看 MewImage 项目
如果你刚好也有类似的使用需求,欢迎体验、提交 Issue,或分享你的建议~