一个为会议准备的节日摊位,最后没能出现在现场。原因是物流上出了岔子。但摊位背后的应用已经写完,作者索性把它公开出来,顺带讲了一遍自己从万圣节一路绕到墨西哥亡灵节的过程。
![]()
最初的设想很直接:参会者走到摊位前拍一张自拍,用 Cloudinary 的图像生成工具处理成一张贴纸带走。手头只有一台热敏打印机,只能出黑白,于是思路转向纹身风格的线稿。再往下想,什么样的黑白图案既有节日气氛又适合打印?答案落在了亡灵节上。
亡灵节的视觉符号很丰富:色彩鲜艳的骷髅、剪纸花环、明亮的花卉。作者提到,在 TikTok 的万圣节内容里常能听到《La Llorona》(哭泣的女人)这首歌,画面常配"卡翠娜骷髅头"(Calavera Catrina)——一位时髦的骷髅女士。于是有了第一个念头:能不能把自拍变成"哭泣的女人"?
这个念头很快被自己否掉了。真实的哭泣女人形象更接近悲剧人物,而不是俏皮的骷髅。作者担心画面太悲伤——人们来摊位是想参与一场节日活动,不是参加葬礼。另一个问题随之而来:男性参与者该怎么呈现?有没有对应的"哭泣"形象?
顺着这条线,思路从墨西哥跑到了委内瑞拉,那里有"吹哨人"(El Silbón)的传说:一个背着袋子的迷失灵魂,用口哨向路人预告厄运。这个故事太吓人,不适合摆在摊位上给毫无防备的人看。
于是回到亡灵节更明亮的审美。最合适的形象还是卡翠娜或卡翠(Catrín)——那具为人熟知的时髦骷髅,靠面部彩绘和服装来呈现。卡翠娜在 1900 年代初由墨西哥艺术家何塞·瓜达卢佩·波萨达(Jose Guadalupe Posada)推广开来。她和男性 counterpart 卡翠一起,既揶揄当时欧化的绅士阶层,也承接了更古老的传统:阿兹特克冥界女王 Mictēcacihuātl,以及万圣节前后的天主教图像。
审美调了很久才到位:要诡异,但不能吓人。接下来是提示词。作者反复试验,目标是打印效果好、人像可辨认、又贴合卡翠娜的气质。最终版本的要点包括:
- 把人物重绘成亡灵节风格的细线纹身肖像,保留身份、五官、发型、比例和可辨认的表情;
- 纯白底、清晰黑墨,用细腻的纹身线稿、干净的轮廓、克制的点绘和明确的留白,保证小尺寸打印清晰;
- 服装采用传统墨西哥肖像中的庄重样式,如刺绣上衣、连衣裙、rebozo 披巾、蕾丝领口或正式 charro 风格服饰;
- 避免现代休闲装、商务装、暴露的领口、戏服式服装和泛泛的奇幻服饰;
- 脸部保持人类特征、可辨认,不替换成骷髅;
- 不要彩色、灰度、渐变、绘画式阴影、米色纹理、照片写实、文字或水印。
应用本身是一个很简单的 Astro 项目,把提示词和图片一起发给图像生成接口。请求里指定参考图、模型模式为 auto、偏好 quality,输出 3:4、1K 分辨率,目标是一份托管资源,文件名用随机 UUID 生成。作者解释,mode 设为 auto 会让系统挑选最适合该提示词的模型;不同模型结果可能不同,所以提示词写得好不好很关键。中途有个模型总在画面里加奇怪的边框和蜘蛛网图案,只好回头改提示词。
应用名字叫 Calavera Cabina,即"骷髅相机",对应的是 Calavera Catrina。这个双关不是作者想的,作者把功劳记给了 Lovable。用户拍完自拍可以选风格:卡翠/卡翠娜形象、花卉图案,或者更暗、更神秘的夜晚风格,呼应哭泣女人的情绪。三种效果都出来了。
作者在文中特意说明,自己是以外来者的身份接近这个文化节日,希望保持尊重。从自我学习的角度看,这次折腾把作者带进了新的知识来源。作者觉得有趣的是,自己从小听的爱尔兰水边游魂故事,和墨西哥的哭泣女人之间有相似之处。而亡灵节特有的审美,是一种既诡异又欢乐的、对深厚文化的庆祝方式。
代码库已经公开,可以 fork 下来自己试。需要准备 API Key 和 Secret、Cloud Name、用于图片的上传预设,以及图像生成附加组件。仓库地址是 github.com/cloudinary-devs/photo-booth。打印一张纹身风格的贴纸,然后过万圣节、亡灵节和万圣节。
文末致谢了两位提供咨询的人:来自哥伦比亚的 Diego 和来自墨西哥的 Anthar。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.