Full Go backend + Vue 3 frontend, OpenAI-compatible API, multi-provider account pools, billing/admin, Docker one-command deploy with auto HTTPS. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
11 KiB
image2api
多供应商 AI 生图 / 生视频网关 —— 一套 OpenAI 兼容 API,聚合六大平台,开箱即用的运营系统
线上实例(品牌):Vivid AI · vividai.run
简体中文 | English
📖 目录
✨ 简介
image2api 把 Adobe Firefly、OpenAI、Runway、Leonardo、Krea、Imagine 等平台的图像 / 视频能力,统一封装成一套 OpenAI 兼容的 API;背后用多账号池自动调度 —— 额度耗尽自动换号、认证失效自动刷新或判死、临时错误自动重试、token 到期前主动续期 —— 对外提供稳定服务。
它不只是 API 代理:自带积分计费、CDK 充值、邀请奖励、用户体系、管理后台、现代化画图前端,一条命令即可跑成一个对外运营的 AI 生成站点 —— 作者的线上实例 Vivid AI · vividai.run(品牌)即基于本项目搭建。
💡 前后端完全开源(MIT),Go + Vue 3,可自由二开 / 自部署。
一句话亮点 🔌 OpenAI 兼容 · 🤖 6 平台十余模型 · 🔁 自动换号 / Token 保活 · 💳 积分 + 代理价计费 · 🎨 画图前端 + 管理后台 · 🐳 一键部署 + 自动 HTTPS
🖼️ 界面预览
| 画图台 | 概览看板 |
|---|---|
![]() |
![]() |
| 账号管理 | 日志 |
![]() |
![]() |
🚀 核心功能
🎨 生成能力
🔌 OpenAI 兼容
🔁 多账号池 + 智能故障转移
|
🔐 Token 自动保活
💳 计费与运营
🖥️ 用户前台(Vue 3)
🛠️ 管理后台
|
🧰 工程亮点:tls-client(Chrome JA3/JA4 指纹)稳定穿透 Cloudflare · 媒体存 S3/RustFS 经鉴权代理分发 + 保留期清理 · 自愈式维护轮询(恢复额度 / 刷新凭据 / 清理僵死任务并退款) · 一条命令 Docker 部署 + acme.sh 自动 HTTPS。
🤖 支持的模型 / 供应商
| 供应商 | 模型(示例) | 类型 |
|---|---|---|
| Adobe Firefly | firefly-image-5 · firefly-gpt-image-2 · nano-banana-2 · flux-kontext-max · firefly-video · firefly-ray · gemini-veo31 | 图像 / 视频 |
| OpenAI | gpt-image-2 | 图像 |
| Runway | runway-gen4-turbo | 视频 |
| Leonardo.ai | seedream-4.5 | 图像 |
| Krea.ai | flux-klein-2 | 图像 |
| Imagine.art | imagine-1.5 · imagine-1.5pro | 图像 |
模型由管理后台动态启用并定价,可随时增删。
🔌 OpenAI 兼容 API
# 文生图 —— 纯 OpenAI 参数:size→比例,quality→画质档(low/medium/high→1K/2K/4K)
curl https://你的域名/v1/images/generations \
-H "Authorization: Bearer sk-xxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "a cute cat on a desk, studio lighting",
"size": "1024x1024",
"quality": "high"
}'
# 图生图 —— multipart 上传参考图(可多张 image[])
curl https://你的域名/v1/images/edits \
-H "Authorization: Bearer sk-xxxx" \
-F model="seedream-4.5" -F prompt="改成赛博朋克风格" -F image=@input.png
图片返回 OpenAI 风格 { "created": ..., "data": [{ "b64_json": "..." }] }(原始 base64,无 data: 前缀,服务端不留存)。视频走异步:POST /v1/videos 建任务 → 轮询 GET /v1/videos/{id} 至 completed → GET /v1/videos/{id}/content 取 mp4。完整参数见站内 /docs 文档页。
🚀 部署
前后端均开源。推荐 Docker 一键;也可用 Go 1.26+ 从源码构建。
前置:域名 A 记录指向本机,80 / 443 对公网开放(Let's Encrypt 验证需要)。
方式一:Docker 一键(推荐)
需要 Docker + Docker Compose。一条命令拉起 Postgres + Redis + RustFS + 后端 + 前端,并自动签发 / 续期 HTTPS 证书(内置 acme.sh)。
cp .env.docker.example .env # 填 DOMAIN / ACME_EMAIL / POSTGRES_PASSWORD / S3_SECRET_KEY
sh install.sh # = docker compose up -d --build
打开 https://<你的域名>/;证书进度 docker compose logs -f acme。DOMAIN=localhost 时用自签证书(本地测试)。
方式二:手动安装 — 自建 PostgreSQL / Redis / RustFS / Nginx(点击展开)
自备 PostgreSQL · Redis · RustFS(或任意 S3)· Nginx,后端用 Go 1.26+,前端用 Node 18+。
# 1. 创建空库(后端启动自动建表)
createdb vivid_ai
# 2. 配置并从源码构建后端
cat > backend/.env <<'EOF'
APP_ENV=production
HTTP_ADDR=127.0.0.1:6666
POSTGRES_DSN=host=127.0.0.1 user=postgres password=你的密码 dbname=vivid_ai port=5432 sslmode=disable TimeZone=Asia/Shanghai
REDIS_ADDR=127.0.0.1:6379
RUSTFS_ENDPOINT=http://127.0.0.1:9000
RUSTFS_BUCKET=vivid-ai
RUSTFS_ACCESS_KEY=你的AK
RUSTFS_SECRET_KEY=你的SK
CORS_ORIGINS=https://你的域名
COOKIE_SECURE=true
EOF
cd backend && go build -o bin/api ./cmd/api && ./bin/api # 监听 127.0.0.1:6666
# 3. 构建前端(产物 frontend/dist)
cd frontend && npm install && npm run build
Nginx 反代(证书自行用 certbot / acme.sh):
server {
listen 443 ssl;
server_name 你的域名;
ssl_certificate /path/fullchain.pem;
ssl_certificate_key /path/privkey.pem;
root /path/to/frontend/dist;
index index.html;
client_max_body_size 50m;
proxy_read_timeout 600s; # 视频生成耗时长
location /assets/ { expires 1y; add_header Cache-Control "public, max-age=31536000, immutable"; }
location / { try_files $uri $uri/ /index.html; add_header Cache-Control "no-cache"; }
location ^~ /admin/api/ { proxy_pass http://127.0.0.1:6666; }
location ^~ /images/ { proxy_pass http://127.0.0.1:6666; }
location = /health { proxy_pass http://127.0.0.1:6666; }
location ^~ /v1/ { proxy_pass http://127.0.0.1:6666; add_header Cache-Control "no-store" always; }
}
完整环境变量见
backend/.env.example。
🧱 技术栈
| 层 | 技术 |
|---|---|
| 后端 | Go · gin · gorm(PostgreSQL)· go-redis · tls-client(Chrome 指纹) |
| 前端 | Vue 3 · Vue Router · Vite · Tailwind CSS v4 |
| 基础设施 | PostgreSQL · Redis · RustFS(S3 兼容)· Nginx · acme.sh |
📦 仓库结构
frontend/ 前端源码(Vue 3)
backend/ 后端源码(Go,cmd/api 为入口)
docker-compose.yml Docker 编排(Postgres/Redis/RustFS/后端/前端/acme)
install.sh 一键部署脚本
.env.docker.example 环境变量模板
🗺️ Roadmap
- 更多上游供应商接入
- 用量统计 / 导出
- 多语言界面(i18n)
- Webhook / 异步回调
💬 交流 / 联系
| 🌐 官网 | vividai.run |
| 👥 QQ 交流群 | 1106849765 · 点击加群 |
| 1114639355 · 加好友 | |
| 🛒 小店 | pay.ldxp.cn/shop/chiyi |
| ✉️ 邮箱 | vividairun@gmail.com |
⭐ Star History
觉得有用就点个 ⭐ 吧 —— 建好仓库后取消上方注释即可展示 Star 趋势图。
📄 License
本项目(前端 + 后端)基于 MIT 协议开源,可自由使用、修改、商用与二次分发。
如果这个项目对你有帮助,欢迎 ⭐ Star 支持!


