婚纱照拍摄前,新人常想先看看中式、韩式、森系等风格穿在自己身上是什么感觉。拿一张清晰的合照,可以先生成六种造型的预览,再挑一两种做单张参考图。这里用的是一对 AI 生成的虚拟新人;文中的分数和模型对比是 2026 年 10 月 4 日的测试记录,模型更新后可能不同。

Nano Banana 生成的六种婚纱照风格预览Nano Banana 生成的六种婚纱照风格预览

下载「婚纱照风格预览脚本包」。里面有可直接运行的生成脚本、API 调用文件、脸部相似度对比脚本、虚构样例照片和 README。照片生成的 API 版需要自己申请密钥;不写代码也可以直接复制下面的提示词到支持上传照片并生成图片的工具。

先选一条路

做法 适合谁 注意
Gemini Apps 等图片工具 先试一个风格,不想安装软件 是否能用取决于所在地区、账号和服务额度;上传真实客户照片前先看服务方的数据处理说明
本机 ComfyUI + FLUX.2 Klein 客户照片不想上传到云端、愿意安装模型 只在工作流和节点都本机运行时,照片才不会发给外部服务;风格和脸部还原仍要人工检查
下载脚本调用 Gemini API 要批量生成或留存统一流程 需要 Python、API Key 和可用的 API 服务;当前模型名、地区和费用以官方说明为准

Gemini Apps 是 Google 的对话式 AI 应用,官方说明支持上传照片后要求 Nano Banana 2 编辑。不订阅 Google AI Plan 时可下载 1K 图片,订阅用户可下载 2K;账号额度、功能开放地区和资格可能变化。可先看官方图片生成与编辑帮助。如果这项服务在你所在地区不可用,可以走本机方案,或用自己已能访问、支持参考图编辑的工具。本文没有用未经核验的按钮截图来描述其他工具。

准备照片和风格清单

尽量选两个人脸正对镜头、光线均匀、没有墨镜口罩、脸部清楚的合照。半身照通常比远景更适合比较五官。

开始前,把照片用途、会使用的工具、是否会上传到外部服务、谁能看到和预计保存多久告诉两位当事人,并征得同意。只用完成预览需要的照片,不把预览图当成影楼真实样片。

本文试的六种风格是:

  1. 中式秀禾:红色秀禾服、凤冠和中式背景;
  2. 韩式棚拍:简洁白纱、黑色西装和柔光背景;
  3. 森系户外:草地、树影和自然光;
  4. 海边日落:白纱、海风和金色夕阳;
  5. 复古港风:缎面礼服、复古发型和暖色胶片感;
  6. 城市夜景:礼服、江边和城市灯光。

第一步:先做六格风格预览

上传合照后,复制这段提示词。工具如果一次没有排出六格,或每格的人脸太小,就逐种风格单独生成。

根据我上传的情侣合照,生成一张 3 列 2 行的婚纱照风格对比图,格子之间留细白边。每格都是同一对新人的半身正面合照,脸清晰可见。

从左到右、从上到下:
1. 中式秀禾:红色秀禾服、金色凤冠、中式喜庆背景;
2. 韩式棚拍:简洁白色婚纱、黑色西装、浅灰柔光背景;
3. 森系户外:白纱、小花冠、林间草地和自然光;
4. 海边日落:白纱和头纱、沙滩、大海与金色夕阳;
5. 复古港风:缎面婚纱、复古卷发、暖色胶片感;
6. 城市夜景:鱼尾婚纱、黑色礼服、江边城市灯光。

六格里都是参考照片中的这两个人。尽量保持两人的脸型、五官、肤色和原有表情,只改变服装、发型、背景和光线。不要把人画成侧脸,不要远景,不要添加可见文字、Logo 或额外水印。

六格主要用来选服装和场景。每格占的面积小,脸部细节不足;确定方向后,再生成一张半身单图。

第二步:选中一种风格,单张生成

告诉模型只生成一张,继续用同一张合照作参考。可以用这段提示词,把方括号替换成选中的风格:

根据我上传的情侣合照,生成一张【森系户外】婚纱照。两人都是半身正面构图,脸部清晰,尽量保留原照片中的脸型、五官、肤色和表情,只改变服装、发型、背景和光线。画面不要出现文字。

婚纱照风格:白色婚纱和小花冠,森林草地,阳光透过树叶,氛围自然清新。

我们用半身、正脸、保留原表情的指令重做后,森系和海边样图的 SFace 相似度分数升高了。但这只能说明这几张测试图更接近输入照片,不能保证真人身份,也不代表每次生成都能保脸。

森系和海边风格加上半身正脸要求前后的样图对比森系和海边风格加上半身正脸要求前后的样图对比

生成结果怎么挑

先让新人看图,确认脸、身材、服装和场景都能接受;再检查手指、饰品和衣服边缘。模型可能改变年龄、五官、身材或原有表情,也可能在一张图里混合两个风格。

这次测试里,正脸半身图更容易保留人物特征,远景和侧脸更容易变样。六宫格适合讨论方向,不适合作为最终样片。若模型把六种风格挤在一格,或某一格的脸明显不像,改用单张生成,别把不准确的预览交给新人当成结果承诺。

这次的本机 FLUX.2 Klein 样图保留了一部分脸部特征,但个别服装和场景偏离提示词。具体效果会随模型和工作流变化。

进阶:批量运行脚本包

脚本包中每个文件的用途:

  • s023_styles.py:生成六格预览,或依次生成六张单图;默认指令要求半身正脸并保留原表情。
  • s023_nb_edit.py:调用 Gemini 图片生成 API,负责发送图片和提示词、保存返回的图片。
  • s023_face_check.py:在本机计算样图与输入照片的人脸相似度,仅用于观察样例差异,不用于确认真实身份。
  • README.md:安装依赖、下载 OpenCV 模型文件和命令示例。

先按《装好 Python 和虚拟环境》安装 Python,再解压 ZIP 并进入解压目录。脚本使用 Python 标准库;如要运行人脸对比脚本,再安装 OpenCV 和 NumPy,并从 OpenCV Zoo 下载 YuNet 与 SFace 两个模型文件,放进 README 指定的 models 文件夹。

调用图片 API 前,在 Google AI Studio 的 API Key 页面 申请密钥,并在终端设置环境变量,不要把密钥写进脚本:

export GEMINI_API_KEY="你的 API Key"

生成六格预览:

python3 s023_styles.py s023_sample-couple.jpg 输出目录 --grid

默认模型是 Nano Banana 2.1。也可以显式指定 Gemini 官方模型 ID;模型名称和支持能力可能调整:

python3 s023_styles.py s023_sample-couple.jpg 输出目录 --model gemini-3-pro-image

两条命令使用了 ZIP 中的虚构样例照片。换成客户照片前,确认两位当事人都同意,并按服务方说明评估数据保存、处理地点和删除方式。模型输出不是排程或身份核验结论,生成失败时可先去掉并发、缩小图片,再按 README 查看接口错误。

人脸分数只能作参考

可选的 s023_face_check.py 会用 YuNet 找脸,再用 SFace 计算相似度。OpenCV 示例里有一个 0.363 的余弦分数阈值,但它不是“这一定是同一个人”的证明。我们用虚构样例测到,无关 AI 生成人脸也可能得到偏高分;妆容、角度、光线和裁切也会改变结果。影楼交付时让新人自己检查,不要用这个分数筛选客户或作身份判断。

这个脚本会处理人脸特征数据。真实照片要另行评估是否确有必要、是否取得相应同意、怎样保护和删除;更简单的做法是完全跳过这个可选步骤。

隐私、授权和公开展示

照片属于个人信息;使用面部特征进行识别或比对时,还可能涉及生物识别等敏感个人信息。处理敏感个人信息有特定目的、必要性、严格保护和单独同意等要求,具体做法应按业务情况核对《个人信息保护法》。

若将照片发送给境外服务,还要评估个人信息跨境提供的要求。先看清接收方、处理目的、保存期限和删除方式;不要仅凭“AI 修图”就默认客户同意上传。需要拿不准时,先咨询专业人士。

公开展示 AI 生成的婚纱照时,按适用要求和平台功能添加 AI 生成标识。Google 图片 API 生成的图片还带有 SynthID 来源标记,不要移除或遮盖标识。不要把虚构样片说成真实客户案例;不要未经同意把客户照片或预览图发到朋友圈、作品集或宣传页。

接单和交付

可以把风格沟通、预览图和正式拍摄方案一起交付。开始前说清楚预览图只是选风格用,是否含修改、最多生成几轮、原照片和结果保存多久、哪些人能查看。报价按当地同行和沟通、制作、修改时间核算,不需要按图片张数简单计价。

常见问题

生成的六宫格只有五格或格子混在一起,怎么办? 这种结果并不少见。让模型每次只做一种风格,或者把六格图当草稿,再针对新人选中的风格单张生成。

为什么远景看起来不像? 远景里脸小、细节少;侧脸和大笑也会改变面部轮廓。改为半身正面并保留原表情,仍无法保证结果完全一致。

可以直接当正式婚纱照吗? 不建议。这里的图用于讨论服装和场景方向,正式照片仍由新人确认并安排拍摄。

没有 API Key 也能试吗? 可以。使用能上传照片并生成图像的 App 或网页,按工具当前规则操作;若它不能接收参考照片,可以改用本机 ComfyUI 工作流。

工具和相关教程


文中的人物和样例照片均为 AI 生成的虚构素材。模型对比结果是 2026 年 10 月 4 日的单次样例,不代表所有人的体验,也不能作为法律意见。