人像风格化Web应用-SenseNova
项目描述 人像风格化Web应用
八相 EIGHT Studio 是一个人像风格化 Web 应用:用户上传一张本人照片,以照片中的人物为唯一身份参考,生成八种不同造型风格的半身肖像(电影叙事、法式松弛、东方新韵、未来来客、油画缪斯、黑白封面、森系漫游、复古胶片)。可先生成一张预览,也可一次生成八张,支持单张失败重试、成图在线查看和一键打包下载 ZIP。系统按浏览器会话隔离用户数据,任务状态与照片均不跨浏览器可见。
访问 http://127.0.0.1:8788
项目功能
照片上传与校验(支持 JPEG/PNG/WebP,限 15MB);八种造型风格选择,单张或批量生成;任务队列处理,每任务最多并发出图两张,失败项单独重试且不重复生成成功项;浏览器会话级数据隔离(HttpOnly Cookie);生成进度实时推送(NDJSON 流式),刷新页面可恢复同浏览器任务;每日每浏览器限 12 个任务;成图单张查看与打包下载。
运行环境
本地:Node.js 22 + npm,Windows/PowerShell 下用 npm.cmd 调用;通过 Miniflare 在本机模拟 Worker/D1/R2,miniflare 配置对接商汤 SenseNova 免费图像编辑接口(sensenova-u1.5-lite,每 5 小时 1500 次免费额度)。启动命令:npm.cmd ci → npm.cmd run build → npm.cmd run dev:local
项目技术
前端为原生 HTML/CSS/JavaScript,无框架,静态页面直出;后端 Worker 用 ES Module 编写,esbuild 打包;数据库用 Drizzle ORM 定义 SQLite 表结构并生成迁移;本地仿真用 Miniflare 4;ZIP 打包用 fflate;图像生成走 OpenAI 兼容的 /images/edits 协议(Worker 内同时实现了商汤 SenseNova 的 JSON 协议适配分支,由环境变量切换);CI 用 GitHub Actions 构建、测试并发布入口页。
以上系统源码经过技术整理与调试,确保能正常运行


