#AI 编程# 做 AI 美甲试戴 App 踩过的 4 个坑![[看]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_97.39cdc9f.png)
做了个 AI 美甲试戴 App:上传手部照片加美甲参考图,AI 生成佩戴效果。Flutter 双端加 FastAPI 后端加火山方舟 Seedream。做完发现难的不是调通 API,是让模型在边界情况下不胡说。分享 4 个坑。
坑 1:模型分不清猫眼和碎钻
用户传猫眼参考图,生成出来却是满手碎钻。两者都闪着光,模型容易混。解法是在 prompt 里写显式的区分句:猫眼是一条连续高光带,随手指倾斜移动;碎钻是颗粒感亮点,分散分布。这个区分查文档查不到,是一张张图调出来的。猫眼还有个坑:光带必须跟随每根指甲自身的倾斜角度,否则会出现手斜着、光带还是水平的假图。
坑 2:没传手图,模型却编造你的肤色
用户没传手图,AI 却说与你肤色形成鲜明对比,显白提气色,修长甲型能完美展现。根因是 prompt 写死了必须结合用户肤色手型,但没传图时这些字段全是空串,模型没数据却被要求结合,只能编。改成按有无数据分两套指令:有数据就个性化分析,没数据就只客观描述款式,并禁止显白、修饰、适合你这类的表述。教训是没有数据时宁可少说,绝不多说。
坑 3:同一个标签散落在 11 个地方
前端标签库有奶茶色、波点,后端却不认识。一查,标签定义散落在 3 个文件 11 处。后来建立单一真相源:一份 JSON 加后端读取层加前端代码生成器,改标签只改一处。顺带修好了前端早就有、后端一直不认识的 12 个词。
坑 4:AI 成本随分辨率悄悄翻倍
看账单才发现,1080x1440 是 0.3 元一张,2K 档直接 0.6 元,带参考图还要额外计费。分辨率是成本第一杠杆,接手的人随手调高想要更清晰,成本立刻翻倍。
工程上做对的地方
后端 139 个测试用例、前端 78 个全过。交付前清理了 6 个零引用字段、2 个死文件、5 处误导性注释。注释和代码打架比没注释更危险,我自己就被带偏过。
已知取舍
SQLite 单机,多机需迁 PostgreSQL;限流内存版;支付框架已写但未接真实 SDK。
关于这个项目
代码已完整跑通,部署文档和一键启动脚本也整理好了。个人精力有限,暂不继续运营。如果你也在做 AI 图像应用,或对 prompt 工程怎么做得稳感兴趣,欢迎私信交流。
![[看]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_97.39cdc9f.png)
做了个 AI 美甲试戴 App:上传手部照片加美甲参考图,AI 生成佩戴效果。Flutter 双端加 FastAPI 后端加火山方舟 Seedream。做完发现难的不是调通 API,是让模型在边界情况下不胡说。分享 4 个坑。
坑 1:模型分不清猫眼和碎钻
用户传猫眼参考图,生成出来却是满手碎钻。两者都闪着光,模型容易混。解法是在 prompt 里写显式的区分句:猫眼是一条连续高光带,随手指倾斜移动;碎钻是颗粒感亮点,分散分布。这个区分查文档查不到,是一张张图调出来的。猫眼还有个坑:光带必须跟随每根指甲自身的倾斜角度,否则会出现手斜着、光带还是水平的假图。
坑 2:没传手图,模型却编造你的肤色
用户没传手图,AI 却说与你肤色形成鲜明对比,显白提气色,修长甲型能完美展现。根因是 prompt 写死了必须结合用户肤色手型,但没传图时这些字段全是空串,模型没数据却被要求结合,只能编。改成按有无数据分两套指令:有数据就个性化分析,没数据就只客观描述款式,并禁止显白、修饰、适合你这类的表述。教训是没有数据时宁可少说,绝不多说。
坑 3:同一个标签散落在 11 个地方
前端标签库有奶茶色、波点,后端却不认识。一查,标签定义散落在 3 个文件 11 处。后来建立单一真相源:一份 JSON 加后端读取层加前端代码生成器,改标签只改一处。顺带修好了前端早就有、后端一直不认识的 12 个词。
坑 4:AI 成本随分辨率悄悄翻倍
看账单才发现,1080x1440 是 0.3 元一张,2K 档直接 0.6 元,带参考图还要额外计费。分辨率是成本第一杠杆,接手的人随手调高想要更清晰,成本立刻翻倍。
工程上做对的地方
后端 139 个测试用例、前端 78 个全过。交付前清理了 6 个零引用字段、2 个死文件、5 处误导性注释。注释和代码打架比没注释更危险,我自己就被带偏过。
已知取舍
SQLite 单机,多机需迁 PostgreSQL;限流内存版;支付框架已写但未接真实 SDK。
关于这个项目
代码已完整跑通,部署文档和一键启动脚本也整理好了。个人精力有限,暂不继续运营。如果你也在做 AI 图像应用,或对 prompt 工程怎么做得稳感兴趣,欢迎私信交流。
展开
评论
1
![[偷笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_20.7a46372.png)
![[大笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_55.74ed629.png)