Next.js 全栈图像生成公开站。前端提供中文创作工作台,服务端负责生成代理、PostgreSQL 业务数据、S3/R2 图片存储、3 次本地免费试用和基础防刷。
- 图像生成工作台。
- Gemini 与 GPT Image 的服务端适配。
- 新设备/新用户总共 3 次本地免费试用。
- 提示词、任务、历史记录和图片资产元数据。
- S3/R2 上传和生成结果保存。
https://api.lumio.games/ 继续负责注册登录、注册送 20 次、邀请 1 人送 20 次、支付、平台 Token/API Key 和计费策略。本站免费试用用完后,登录用户会改用 Lumio 账户下的图片生成 Key/余额。
npm install
cp .env.example .env.local
npm run db:migrate
npm run dev- 创建 Next.js 服务并连接本仓库。
- 添加 PostgreSQL 服务,把连接串写入
DATABASE_URL。 - 配置 S3/R2 环境变量。
- 配置
JWT_SECRET或JWT_PUBLIC_KEY,用于验证api.lumio.games登录 token。 - 配置站点免费试用使用的
OPENAI_API_KEY、GEMINI_API_KEY和对应模型 ID。 - 部署后运行
npm run db:migrate应用数据库表结构。
数据库:
DATABASE_URL=postgres://user:password@host:5432/lumio
DATABASE_SSL=false如果数据库要求 SSL,把 DATABASE_SSL 改成 true。如果日志出现 The server does not support SSL connections,说明当前数据库不支持 SSL,应使用 DATABASE_SSL=false。
OpenAI:
OPENAI_API_KEY=sk-...
OPENAI_BASE_URL=https://api.openai.com
OPENAI_IMAGE_MODEL=gpt-image-2OPENAI_BASE_URL 默认是 https://api.openai.com,使用官方 OpenAI 时可以不填。使用中转服务时填写中转根地址,不要带 /v1,代码会自动请求 /v1/images/generations 和 /v1/images/edits。
图片生成模型统一使用 OPENAI_IMAGE_MODEL,分辨率由请求的 size 参数决定。图片生成超时时间按分辨率固定:1K 为 250 秒,2K/4K 为 240 秒。本站免费 3 次体验仅支持 1K;2K/4K 会使用已登录 Lumio 账户的 Key/余额。
Gemini:
GEMINI_API_KEY=...
GEMINI_IMAGE_MODEL=gemini-2.5-flash-imageS3/R2:
S3_ENDPOINT=https://...
S3_REGION=auto
S3_BUCKET=...
S3_ACCESS_KEY_ID=...
S3_SECRET_ACCESS_KEY=...
S3_PUBLIC_BASE_URL=https://...认证和额度:
LUMIO_API_BASE_URL=https://api.lumio.games
SUB2API_API_BASE_URL=https://api.lumio.games/api/v1
NEXT_PUBLIC_LUMIO_LOGIN_URL=https://api.lumio.games/login
PUBLIC_SITE_URL=https://img.lumio.games
JWT_SECRET=
JWT_PUBLIC_KEY=
ANON_FREE_GENERATIONS=3
LOGIN_FREE_GENERATIONS=3
INVITE_REWARD_GENERATIONS=0
IP_DAILY_ANON_LIMIT=30
FINGERPRINT_SALT=change-meJWT_SECRET 和 JWT_PUBLIC_KEY 二选一,用于验证 api.lumio.games 登录 token。
PUBLIC_SITE_URL 用于生成公开分享链接。生产环境建议设置为站点公网域名,避免反向代理把容器内部地址写进分享链接。
ANON_FREE_GENERATIONS 和 LOGIN_FREE_GENERATIONS 都保持为 3。本站只记录这 3 次本地免费试用;注册赠送、邀请奖励和账户余额由 api.lumio.games 管理,INVITE_REWARD_GENERATIONS 应保持 0。
首次部署或更换数据库后,在服务终端执行:
npm run db:migrate迁移会创建 anonymous_devices、generation_tasks、assets、quota_balances 等业务表。执行成功后会输出:
Database schema applied
DATABASE_URL is not configured:服务环境变量缺少DATABASE_URL。The server does not support SSL connections:设置DATABASE_SSL=false后重启服务。relation "anonymous_devices" does not exist:数据库表未创建,执行npm run db:migrate。Cannot find module '/app/scripts/migrate.mjs':运行镜像缺少迁移脚本,重新部署最新main分支。- 主站域名返回
HTTP ERROR 502,部署平台显示容器端口8080:确认部署的是最新 Dockerfile,应用运行端口应为8080。 请求失败:502:查看 Zeabur Logs。常见原因是图像接口超时、OPENAI_API_KEY缺失、S3/R2 环境变量缺失或上游网关返回非 JSON 错误。- 构建日志出现
npm update -g npm:确认部署的是最新main分支,并使用仓库根目录的Dockerfile构建。
npm test
npm run build
npm run db:migrate