收起左侧

AI图片在线生成器

1
回复
46
查看
[ 复制链接 ]

5

主题

17

回帖

0

牛值

江湖小虾

AI Image Online:一个让你在自己服务器上跑 AI 生图的开源工具

你是否遇到过这些问题?

AI 图片生成已经不是什么新鲜事了。DALL·E、Stable Diffusion、Midjourney……各种工具层出不穷。但当你真正想把 AI 生图能力用起来的时候,往往会碰到一连串头疼的事:

想用 API 生图,结果被浏览器 CORS 拦截。 你拿到了一个 OpenAI 兼容的图片 API 密钥,兴冲冲地在浏览器里调接口,结果浏览器直接给你一个红色的 CORS 错误。第三方 API 不支持跨域,你没法直接从前端调用。要么搭个 Nginx 反向代理,要么写个后端转发——就为了一个简单的图片生成请求。

第三方在线工具不放心。 网上确实有不少 AI 生图网站,但你得把 API Key 交给别人的服务器。你的密钥、你的提示词、你生成的图片,全经过别人的手里。对于注重隐私的用户来说,这不是一个可以接受的方案。

想在家里 NAS 上部署,折腾半天环境。 很多人买了群晖、飞牛之类的 NAS,想在上面跑点 AI 应用。但现有的方案要么依赖 Python 环境,要么需要 GPU,要么配置复杂到让人放弃。

现有工具功能单一,体验割裂。 有的只能文生图,不能图生图。有的没有历史记录,生成的图片关了页面就没了。有的只能在 PC 上用,手机上完全没法看。


AI Image Online 是什么

AI Image Online 是一个开源的、可自托管的 AI 图片生成 Web 应用。它解决的核心问题很简单:让你在自己的服务器上,通过浏览器,方便地使用任何 OpenAI 兼容的图片生成 API。

不需要 GPU,不需要 Python,不需要复杂的配置。一个 Docker 容器,一个 API Key,就能跑起来。

项目地址:GitHub - IronManCantFix/ai-image-online


image.png

它解决了什么问题

1. 彻底解决 CORS 难题,前端直接调 API

这是 AI Image Online 最核心的技术设计。大多数图片生成 API(包括 OpenAI 官方和各种兼容服务)都不支持浏览器跨域请求。传统方案需要额外部署 Nginx 或写后端接口来转发。

AI Image Online 内置了一个轻量级的 Go 反向代理,和前端打包在同一个 Docker 容器里。前端构造好请求后,通过代理透明转发到目标 API,代理层完全不感知具体的 API 协议。

浏览器 → Go 代理(同源) → 第三方图片 API
        ↓ 自动处理 CORS     ↓ 原样转发请求

这意味着:

  • 零配置 CORS:不需要 Nginx,不需要改 API 服务端的跨域配置
  • 协议无关:代理只做透明转发,新增任何图片 API 适配器时,代理层零改动
  • 安全透明:代理不解析、不存储请求内容,API Key 只在请求过程中经过代理

2. API Key 掌握在自己手里

AI Image Online 是一个纯前端 + 轻代理的架构。用户的 API Key 保存在浏览器的 localStorage 中,永远不会上传到任何第三方服务器

当你点击"生成图片"时,请求流程是:

你的浏览器 → 你的服务器(代理转发) → 你配置的 API

全程没有中间商。你的密钥、提示词、生成的图片,都只在你自己的基础设施上流转。

3. 一个 Docker 命令,5 分钟部署

整个应用打包成一个 Docker 镜像,镜像体积小,不需要 GPU,任何能跑 Docker 的设备都可以部署:

docker run -d -p 8080:8080 ghcr.io/ironmancantfix/ai-image-online:main

打开浏览器访问 http://你的IP:8080,配置 API 地址和 Key,立刻就能用。

特别适合部署在:

  • 家用 NAS(飞牛、群晖等)
  • 云服务器(轻量级,1 核 1G 就够)
  • 局域网内的任何设备

项目还提供了飞牛 NAS 的 .fpk 安装包,可以像安装普通应用一样一键安装。

4. 文生图 + 图生图,一个界面搞定

很多开源的 AI 生图工具只支持文生图(输入文字,输出图片)。AI Image Online 同时支持:

  • 文生图(Text-to-Image):输入描述性文字,生成对应图片
  • 图生图(Image-to-Image):上传一张参考图,结合文字描述,生成新图片

两个模式在同一个页面通过 Tab 切换,各自独立保存生成结果,互不干扰。

5. 生成结果不会丢失

每次生成的图片都会自动保存到浏览器本地的 IndexedDB 中,形成一个完整的历史画廊。你可以:

  • 浏览所有历史生成记录
  • 按模式(文生图/图生图)筛选
  • 单张或批量下载
  • 单张或批量删除
  • 查看每次生成的原始 API 响应数据(方便调试)

关掉页面再打开,历史记录还在。

6. 多 API 提供商,随时切换

你可以配置多个 API 提供商,比如:

  • OpenAI 官方 API
  • 国内的 OpenAI 兼容服务(如 Dreamfield 等)
  • 自建的图片生成服务

在设置页面添加、编辑、删除提供商配置,一键切换当前使用的提供商。每个提供商可以独立配置 API 地址、Key 和模型名称。

7. PC 和手机都能用

界面采用响应式设计,TailwindCSS + Naive UI 组件库,自动适配不同屏幕尺寸:

  • PC 端:左右分栏,参数面板和结果并排显示
  • 手机端:上下布局,操作区域和结果区域纵向排列

还支持浅色/深色主题切换,跟随系统偏好或手动选择。


技术架构一览

层级 技术选型 说明
前端框架 Vue 3 + TypeScript 组件化开发,类型安全
构建工具 Vite 快速热更新,优化构建产物
状态管理 Pinia 轻量级,支持 Composition API
UI 组件 Naive UI + TailwindCSS 开箱即用的组件 + 灵活的工具类
本地存储 localStorage + IndexedDB 配置持久化 + 图片持久化
后端代理 Go 单二进制,低资源占用,透明转发
部署方式 Docker 单容器,包含前端静态文件和 Go 代理

整个架构的设计原则是简单

  • 代理层不感知 API 协议,只做透明转发
  • 前端通过适配器模式对接不同 API,扩展新协议只需新增一个适配器文件
  • 数据全部存在客户端,服务端无状态

适用场景

  • 个人使用:在自己的 NAS 或云服务器上部署一个私有的 AI 生图服务
  • 团队共享:部署在内网,团队成员共用一个 API Key 配额,各自独立使用
  • 开发者调试:查看原始 API 响应数据,方便调试图片生成接口
  • API 评测:快速切换不同提供商,对比生成效果和响应速度

快速开始

# 1. 拉取镜像
docker pull ghcr.io/ironmancantfix/ai-image-online:main

# 2. 启动容器
docker run -d -p 8080:8080 --name ai-image-online \
  ghcr.io/ironmancantfix/ai-image-online:main

# 3. 打开浏览器访问
# http://localhost:8080

# 4. 在设置页面配置 API 地址和 Key
# 5. 开始生成图片

写在最后

AI Image Online 不是一个大而全的 AI 平台,它只做一件事:让你方便地在自己的服务器上使用 AI 图片生成 API。 没有复杂的依赖,没有臃肿的功能,没有隐私顾虑。

如果你有一台闲置的 NAS 或云服务器,如果你需要一个轻量级的 AI 生图工具,如果你在意数据安全和隐私——可以试试这个项目。

开源地址:https://github.com/IronManCantFix/ai-image-online

欢迎 Star、Issue 和 PR。

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

5

主题

17

回帖

0

牛值

江湖小虾

5 小时前 楼主 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则