OneMix Web 是一个面向电商运营场景的商品图生成工具,采用 FastAPI + React + Vite 架构,覆盖从商品信息提取、提示词规划到主图/详情图批量生成的完整流程。
适用于电商运营、店铺主理人、设计协作同学与内容团队,用于新品上架、活动改版、素材翻新、多平台分发等高频场景,帮助在保证风格统一的同时显著提升出图效率。
个人学习、研究、非商业用途的使用/修改/分发,永久免费。
OneMix Web 聚焦电商上新场景,帮助运营从商品资料中快速生成可上架的主图与详情图。
典型链路包括:
- OCR + 关键信息提取
- 主图提示词规划 + 批量出图
- 复用主图作为详情图参考 + 批量出图
- 结果预览、单槽位重构、ZIP 打包下载
- 多源输入:支持文本 + 图片 OCR 混合输入
- 分槽位提示词:支持批量规划,也支持单槽位重构
- 任务链路完整:进度轮询、结果预览、ZIP 导出一体化
- 参考图回流:可把生成图直接设置为下一轮参考图
- 模型可切换:支持 DashScope 与火山引擎 ARK(即梦)策略
海报展示:
主图展示:
详情图展示:
上传商品资料后,支持 OCR 与关键信息提取,自动回填商品名称和商品描述。
上传白底参考图后,系统会规划主图提示词并执行批量生成。
支持复用主图作为详情图参考,并一键生成详情图。
backend/app/main.py:FastAPI 入口与核心 APIbackend/app/routers/settings.py:API Key 设置管理backend/app/jobs_store.py:任务状态和结果管理backend/onemix/services/dashscope_svc.py:模型调用封装backend/onemix/services/prompt_templates.py:提示词模板中心
frontend/src/pages/Home/index.tsx:三步式主流程页面frontend/src/constants/index.ts:前端常量定义frontend/vite.config.ts:开发代理与构建配置
- 本地数据库:
backend/data/onemix.db(SQLite) - 任务缓存目录:
~/.cache/OneMix/jobs/<job_id>/export
git clone https://gitee.com/millerkai/one-mix.git
cd OneMixWindows:
python3 -m venv .venv
.\.venv\Scripts\Activate
pip3 install -r requirements.txtmacOS / Linux:
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txtWindows:
python3 backend\run_server.pymacOS / Linux:
python3 backend/run_server.pycd frontend
npm install
npm run dev启动后按终端提示打开浏览器地址即可。
系统支持 DashScope 与火山引擎 ARK(即梦),两套 Key 按如下优先级读取。
- 请求头
X-DashScope-Key或Authorization: Bearer ... - 环境变量
DASHSCOPE_API_KEY - SQLite 默认 Key(
/api/settings/dashscope-key)
- 请求头
X-Ark-Key - 环境变量
ARK_API_KEY - SQLite 默认 Key(
/api/settings/ark-key)
当策略为
doubao_seedream_5时,必须提供 ARK Key,否则创建任务会返回401。
GET /api/settingsPUT /api/settings/dashscope-keyDELETE /api/settings/dashscope-keyPUT /api/settings/ark-keyDELETE /api/settings/ark-key
安全提示:默认 Key 会以明文保存在本地 SQLite。请勿提交数据库文件,公网部署请补充鉴权与访问控制。
GET /health:健康检查POST /api/ocr:单图/多图 OCRPOST /api/extract/key-info:文本 + 图片混合关键信息提取POST /api/competitor:竞品图理解与风格归纳POST /api/plan/slots:批量槽位提示词规划POST /api/plan/single:单槽位提示词重构POST /api/jobs:创建生图任务(multipart:whites+job)GET /api/jobs/{job_id}:查询任务进度与结果GET /api/jobs/{job_id}/result/{list_index}:查看单槽位结果图GET /api/jobs/{job_id}/bundle:下载任务 ZIP
OneMix/
├─ backend/ # FastAPI 服务、任务编排、提示词模板
├─ frontend/ # React + Vite 前端
├─ images/ # README 展示图片与系统截图
├─ 用户使用手册.md
└─ README.md
- DashScope 路线:确认
X-DashScope-Key、DASHSCOPE_API_KEY或系统设置已配置可用 Key doubao_seedream_5策略:必须提供 ARK Key(X-Ark-Key或ARK_API_KEY)
任务状态主要在内存维护。重启后会尝试从缓存目录恢复导出结果,但实时进度无法完全还原。
推荐使用“单槽位重构提示词” + “单槽位重生成”,无需整批重跑。
不可以。当前许可证为非商用协议,商业用途不被允许。
- 增加多商品批量任务队列与优先级调度
- 增加提示词版本管理与一键回滚
- 增加结果图自动质检(清晰度、构图、文案可读性)
- 增加 Docker 一键部署与生产环境模板
- 增加英文界面与多语言提示词策略
欢迎提交 Issue 与 PR,共同完善 OneMix。
- Fork 本仓库并创建功能分支(如
feat/xxx、fix/xxx) - 提交前确保本地可启动且核心流程可跑通
- 在 PR 描述中说明改动动机、影响范围、验证方式
- 若改动涉及 UI,请附关键截图或录屏
建议优先贡献方向:
- 提示词模板策略优化
- 前端交互体验与可视化增强
- 任务系统稳定性与性能优化
- 文档与示例完善
本项目采用 OneMix 非商用源码许可协议 v1.0(见根目录 LICENSE)。
- 允许:个人学习、研究、非商业用途的使用/修改/分发
- 禁止:任何形式的商业使用、商用部署、售卖、付费服务接入
该协议包含“禁止商用”条款,不属于 OSI 定义的开源许可证。使用本项目即视为同意
LICENSE全部条款。
- 用户使用手册:
小白使用手册.md
如果在使用过程中遇到问题,欢迎扫码加入交流群,我们会尽快协助解答:













