# bendi-image-2 **Repository Path**: weiliu66/bendi-image-2 ## Basic Information - **Project Name**: bendi-image-2 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-05-07 - **Last Updated**: 2026-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GPT Image 2 Workbench 本地可视化生图工作台:输入提示词,通过 OpenAI-compatible Images API Relay 调用 `gpt-image-2`,预览结果,浏览器下载原图,并自动保存到本地 `outputs/`。 ## 环境要求 - Node.js `20.19.0+` 或 `22.12.0+` - npm - 一个兼容 OpenAI Images API 的 Relay base URL - Relay API Key ## 快速开始 ```bash npm install cp .env.example .env npm run dev ``` 打开: ```text http://localhost:5173 ``` 首次打开时,右上角会显示 `未配置 Relay`。在页面里输入 Relay base URL 和 API Key,点击“保存 / 切换”后即可生成图片。 ## 环境变量 `.env` 只放本机配置,不要提交。 ```env OPENAI_API_KEY= IMAGE_MODEL=gpt-image-2 RELAY_TIMEOUT_MS=600000 PORT=5173 ``` 说明: - `OPENAI_API_KEY`:可选。也可以直接在页面保存 API Key。 - `IMAGE_MODEL`:可选,默认 `gpt-image-2`。 - `RELAY_TIMEOUT_MS`:可选,本地等待 Relay 返回的最长时间,默认 `600000`,即 10 分钟。 - `PORT`:可选,默认 `5173`。 - Relay base URL 不从 `.env` 自动启用;请在工作台右上角保存,避免开源仓库误带个人 Relay 地址。 ## 开发运行 ```bash npm run dev ``` 开发模式下后端会挂载 Vite middleware,访问 `http://localhost:5173` 即可。 ## 生产运行 先构建前端: ```bash npm run build ``` 再启动服务: ```bash npm start ``` 如果要指定端口: ```bash PORT=8080 npm start ``` 生产模式会从 `dist/` 提供前端静态文件,并由同一个 Node 服务提供 API。 ## 部署建议 1. 拉取代码并安装依赖: ```bash git clone cd bendi-image-2 npm ci ``` 2. 准备本地环境文件: ```bash cp .env.example .env ``` 3. 构建并启动: ```bash npm run build npm start ``` 4. 打开服务地址,在右上角保存 Relay base URL 和 API Key。 如果使用 PM2: ```bash npm run build pm2 start server.js --name bendi-image-2 --update-env --time ``` 如果放在 Nginx 后面,只需要反向代理到 Node 服务端口即可。页面和 `/api/*` 都由同一个 Node 服务处理。 ## 功能 - 尺寸:提供官方常见尺寸、2K、QHD、4K 预设,并支持手动输入 `WIDTHxHEIGHT`;最长边不超过 3840 - 质量:`auto`、`low`、`medium`、`high` - 格式:`png`、`jpeg`、`webp` - 背景:`auto`、`transparent`、`opaque` - 张数:固定每次生成 1 张 - Relay 配置:可在页面里输入新的 OpenAI-compatible base URL 和 API Key,保存后会加入本地历史记录,并可随时从历史中切换 - 参考图:可上传多张本地 `png`、`jpeg`、`webp` 图片作为生成参考,默认最多 8 张、单张不超过 20MB - 参考图复用:选择参考图后会在本地后端内存中创建 60 分钟空闲过期的临时 reference set,后续只改提示词时无需重复从浏览器上传同一批参考图 - 并行任务:提交一个任务后,前端会在后台继续轮询;你可以继续修改提示词并提交下一张,任一任务返回图片后都会保存到 `outputs/` 并显示到结果区 - 返回兼容:`b64_json` 和 `url` - 自动保存:每张成功生成的原图都会保存到 `outputs/` - 浏览器下载:每张结果图都有“下载原图”按钮 ## 本地数据 这些文件只属于本机运行环境,不应提交: - `.env`:本机环境变量,可能包含 `OPENAI_API_KEY` - `relay-config.json`:页面保存的 Relay 历史和 API Key,本地明文保存 - `outputs/`:生成图片输出目录 - `dist/`:构建产物,可随时通过 `npm run build` 重新生成 - `node_modules/`:依赖目录 `relay-config.json` 已加入 `.gitignore`。如果某个 Relay 没有保存 Key,后端会回退使用 `.env` 中的 `OPENAI_API_KEY`。不要使用 `git add -f` 强制添加 `.env`、`relay-config.json` 或 `outputs/`。 ## 常见问题 如果中转站返回 `502 Bad gateway`,通常是 Relay 或上游在长耗时生成期间断开。已经断开的 HTTP 响应无法恢复,只能记录失败。建议先用 `1024x1024`、`medium` 验证链路,再逐步提高到 `high` 或最大尺寸。 如果配置的中转站不支持 OpenAI 兼容的 `/images/edits` 参考图流程,参考图任务会失败并显示明确错误;不带参考图的提示词生成仍走 `/images/generations`。 参考图只作为临时请求输入保存在本地后端内存中,默认不会保存到 `outputs/`、`.tmp/` 或其他磁盘路径。reference set 在服务重启、手动清空或 60 分钟未使用后会失效;失效后重新选择参考图即可。 ## 发布前检查 上传到 Gitee 前建议执行: ```bash npm run check git status --short git check-ignore .env relay-config.json outputs/example.png dist/index.html node_modules/foo .codex/local.txt ``` 确认不要提交: - `.env` - `relay-config.json` - `outputs/` 下的生成图片 - `dist/` - `node_modules/` - `.DS_Store` - `.codex/` ## 首次推送到 Gitee 目标仓库: ```text https://gitee.com/mgdh5/bendi-image-2.git ``` 如果当前目录还不是 Git 仓库: ```bash git init git branch -M main git remote add origin https://gitee.com/mgdh5/bendi-image-2.git ``` 提交前先检查待提交内容: ```bash git add . git status --short git status --ignored --short ``` 确认 `.env`、`relay-config.json`、`outputs/`、`dist/`、`node_modules/` 没有出现在待提交列表后,再提交和推送: ```bash git commit -m "Initial open source release" git push -u origin main ```