4.9 KiB
4.9 KiB
AI玩具专利生成工作流
启动
cd ~/Projects/code/20260518-ai-toy-patent-workflow && npm run dev— 端口 4560- 浏览器打开 http://localhost:4560
- 首次依赖装好:
npm install --legacy-peer-deps(next 15 + react 19 有 peer 警告)
部署事实
- 平台:个人 VPS
76.13.31.179,Docker Compose,接入现有 Coolify Traefik - 发布状态:VPS 生产已发布,仅个人使用
- 服务名 / 容器名:
ai-toy-patent-workflow - 服务器路径:
/opt/ai-toy-patent-workflow - 主站 / 前端:https://ai-toy.kang-kang.com
- 本地 dev:http://localhost:4560
- API / 后端:内置 Next.js API Route(生产同域名)
- 文档 / 解析:无
- 管理后台:无
快捷登录
- 无登录系统(本地工具)
元数据回写清单
- 改公网域名或迁移部署时,更新
.project.json.urls+ 本节 - 数据持久化在
data/(gitignored),不入库;上传原图在data/uploads/ - VPS 数据持久化在
/opt/ai-toy-patent-workflow/data - VPS 生产环境变量在
/opt/ai-toy-patent-workflow/deploy/.env.production,不入库
环境变量
OPENAI_API_KEY— GPT API Key;文本/结构化/图片生成统一走 GPT 最高规格配置GPT_TEXT_MODEL— 默认gpt-5.5,用于角色设定等结构化输出GPT_IMAGE_MODEL— 默认gpt-image-2,用于意向图和三类素材包图片生成GPT_API_BASE— 默认https://api.openai.com/v1SEEDANCE_API_KEY— Seedance 视频生成 Key;未配置时视频接口返回 503SEEDANCE_MODEL— 默认doubao-seedance-2-0-260128SEEDANCE_API_BASE— 默认https://ark.cn-beijing.volces.com/api/v3PUBLIC_APP_URL— 生产填公网入口,用于把/api/img/...补成 Seedance 可访问的绝对 URL- 配置位置:
.env.local(gitignored),参考.env.local.example - 图片生成未配置 GPT Key 时回退 mock(SVG 占位图),视频生成不 mock,必须配置 Seedance Key
规则
- 全项目规则真源:
/Users/kangwan/Projects/code/20260317-rules-dashboard/RULES.md - 文本/结构化/图片生成统一使用 GPT 最高规格配置
- 视频生成固定使用 Seedance
- 不允许编造不存在的部署域名、账号、密码
图像链路事实
- 输入入口:想法、二创、复刻三段;复刻模式会把上传主体图直接作为 L0 锚图
- L0:用户选中的意向图
- L1:角色锁定时生成的白底净化锚图,写入
CharacterSpec.cleanReferenceImageUrl - L2:每个素材包的根图,例如
patent_front、acc_inventory_sheet、prod_front_spec、mkt_white_front - L3:包内其它图,基于对应 L2 根图生成
- pack 图像生成必须走真实图生图:读取 anchor 图片字节后调用 GPT image edit,不再把参考图 URL 当纯文本拼进 prompt
- 单张重做接口:
POST /api/assets/[assetId]/regenerate,必须沿用该图的 anchor - 视频参考优先级:宣发白底图
mkt_white_front→ 专利主图patent_front→ L1 白底锚图 → L0 意向图 - 上传 API:
POST /api/uploads,multipart 图片存入data/uploads/,返回UploadedImage - 复刻建项目 API:
POST /api/projects/from-upload,mode=replicate时跳过批量生图,创建 selected L0,Vision 推断CharacterSpec,并用 strict L1 净化 prompt - 上传图锁定 API:
POST /api/character/lock-from-upload,用于对上传主体图重新推断并 strict 净化 - 多宫格提案板 / 品牌手册 / 包装展示图上传后,strict L1 会先抽取最大最清晰的单一主角色,不保留版式、标题、包装平铺和场景小图
- 用户上传图中的原创品牌字样、帽标、服装标识、面罩图案和配件图形必须保留;只对明显第三方已注册 IP 做替换提示
- 素材包生成支持后台模式和增量保存;长耗时任务会逐张写回 session,重复触发同一 session/image/kind 会被并发锁挡住
注意事项
data/目录会存原图(generated/selected/refs),可能体积大,已 gitignoredrefs/下放参考资料 PDF/DOCX/图(已 gitignored,但refs/README之类可放进库)- mock 模式仅用于跑通流程,生图质量为零(只是 SVG 笑脸占位)
工作流
- 输入模式:
- 想法:prompt + 可选参考图(最多 4 张)+ 风格 + 数量(4/8/12)
- 二创:上传参考图 + 变化方向 + 风格 + 数量,生成变体候选
- 复刻:上传主体图,直接作为 L0 锚图并锁定角色
- 点 🪄 批量生成 /
⌘/Ctrl+Enter - 九宫格快筛:数字键
1-9选中,Shift+1-9打叉 - 选中的图自动复制到
data/selected/ - 锁定角色设定
CharacterSpec - 一键生成完整三包:专利包、生产打样包、宣发包
- Seedance 生成视频任务:旋转展示、开箱、触感细节、角色故事
- 侧栏保留历史会话,点击切换
后续路线
- 导出专利包:PNG高清 + PDF合订
- ZIP/PDF 打包下载
- Seedance 任务轮询 UI