角色卡/真实摄影
2026-07-22 20:54角色四视图参考图提示词 · 正面,就提供正面
用于角色设定、角色卡或参考图生成,强调真实摄影质感、身份一致性和去 AI 油画感。
角色卡/真实摄影
提示词
空间
参考图
5,363 字10 min
能解决,而且真正有效的办法不是继续堆提示词,而是把“人物身份、产品外观、画面构图、产品尺寸”拆开控制。你们现在的问题,本质上是把人物图和产品图一起扔给模型,让模型自己猜二者在目标画面里的空间关系。它能大概理解“这个人拿着这个产品”,但通常不知道产品现实中到底是20厘米、40厘米还是半人高,于是就会把产品当成一个可以自由再设计的视觉概念,出现放大、缩小、拉长、瓶盖变粗、包装比例改变、Logo变形。 尤其要注意:很多平台所谓的“图片参考”,只是提取图片里的语义和外观,不是把物体当作精确三维模型复制。Midjourney官方甚至明确说明,Image Prompt是“灵感引导”,并不保证精确复制;官方还建议参考图尽量裁成与最终画面相同的宽高比。 最稳的总原则只有一句:人物可以让AI重绘,产品尽量不要让AI重绘;先把产品按正确像素尺寸放进画面,再让AI只负责光影、接触关系和环境融合。 为什么会比例错乱 第一,人物图和产品图里没有共同的尺度参照。人物视图可能是半身近景,产品图可能是白底特写,两张图里的物体都占满画面。模型看到的是“一个占画面80%的人”和“一个占画面80%的瓶子”,它不知道现实中瓶子只到人物前臂的一半。 第二,参考图的镜头透视不一致。比如人物参考是手机广角近拍,产品图是85毫米棚拍;目标关键帧又是35毫米中景。模型必须同时解决焦距、透视、旋转、遮挡和尺度,极容易把瓶身拉长或把盒子压扁。 第三,多参考图之间会争夺注意力。人物图要求保持脸、头发、服装;产品图要求保持轮廓、Logo、材质;关键帧又要求保持构图。模型没有区域分工时,很容易出现“人物特征污染产品”或“产品参考反过来改变画面构图”。IP-Adapter之所以把文字和图片特征拆成不同的交叉注意力通道,就是因为图像条件和文字条件混在一起本来就容易互相抢控制权。 第四,产品在最终画面中太小。假设输出是1920×1080,但瓶子最终只有70×220像素,模型在内部潜空间里能利用的有效结构信息更少,瓶盖、标签边框、瓶身曲线和Logo都容易被“合理化重画”。所以即使大轮廓差不多,包装细节也可能完全不可靠。 最稳的生产流程 第一步:不要只提供人物图和产品图,必须提供“结构母图” 结构母图就是你们要复刻的原视频关键帧,或者根据它画出来的粗略构图图。 这张图负责锁定: 人物站在哪里; 产品出现在哪里; 产品相对于人物多大; 人手抓在产品哪个位置; 产品倾斜多少度; 镜头焦距、机位和透视关系; 前后遮挡关系。 人物视图只负责人物身份,产品视图只负责产品外观。任何一张参考图都只能有一个主要职责。 正确分工应该是: 图0:结构母图,最高优先级,锁构图、比例、姿势和机位; 图1:人物身份图,只提取脸、发型和必要的人物特征; 图2:产品正面或目标角度图,只提取产品轮廓、材质和包装; 图3可选:产品侧面或三分之四视图,但只有目标镜头确实需要时才加。 FLUX.2的官方多参考编辑指南也建议明确说明每张参考图的角色,例如“图1提供主体,图2提供风格或物品”,否则模型不知道该从哪张图提取什么。 第二步:先把比例变成数字,不要只写“大小合理” “产品大小符合真实比例”对模型来说几乎等于没说。你们要把它变成一个可检查的屏幕尺寸。 假设最终关键帧是1920×1080: 人物可见高度:880像素; 产品高度:260像素; 产品高度约为人物可见高度的29.5%; 产品宽度:92像素; 产品中心位置:画面横向68%、纵向61%; 产品逆时针倾斜8度; 瓶口位于人物胸口高度; 人物手掌覆盖瓶身上方约18%。 生产记录可以直接写成: 画布:1920×1080 人物包围框: X = 420–1460 Y = 130–1040 产品包围框: X = 1264–1356 Y = 500–760 产品尺寸: 92×260 px 产品/人物可见高度比: 260/880 = 0.295 产品旋转: 逆时针8° 抓握锚点: 右手掌心中心位于产品高度的32%位置 模型未必能仅靠文字严格执行这些数字,但这些数字可以用来制作结构母图、遮罩和最终质检。没有这张比例表,你只能凭感觉反复抽卡。 第三步:先人工把产品摆进去,再交给AI 这是最关键的一步。 先在Photoshop、Photopea、Canva、剪映或者任何能分层的软件里: 把产品抠成透明PNG; 按目标尺寸缩放,锁定纵横比; 放到正确位置; 根据目标镜头做透视或旋转; 暂时不用追求光影完美; 把人物或者人物轮廓放进去; 合成为一张粗糙但比例准确的“拼装母图”。 这张母图即使看上去像五毛钱PS,也比两张孤立参考图有用得多。因为它已经把最难猜的空间问题变成了确定信息。 Midjourney现在的Editor可以直接把外部图片作为图层加入,手动移动、缩放和旋转;提交编辑后,只有透明或擦除区域会重新生成,仍然可见的产品像素可以保持不变。这个功能明显比直接用多图Prompt复刻产品稳定。 一句难听但实用的话:甲方产品图不是艺术概念,它是商业资产。能贴原图就别让模型重新发明一遍。 第四步:人物和产品不要在同一轮从零生成 推荐采用两轮或三轮: 第一轮:只解决人物和整体场景 输入结构母图,加人物身份图。 这一轮锁定: 人物身份; 姿势; 镜头; 背景; 整体光线; 手部大致位置。 产品位置先保留成占位块、灰模、剪影,或者直接保留粗略贴进去的产品。 第二轮:插入真实产品 把已经正确缩放的产品PNG放进去,或者在固定产品遮罩内做主体驱动式局部生成。 AnyDoor这类对象级定制方法,本质上也是通过“目标物体参考+指定目标区域”,将物体放进新场景,同时尽量保留纹理细节并适应新的光照和朝向。它比把产品当作普通文字概念重新生成,更接近你们现在的需求。 第三轮:只处理接触区和光影 不要重新生成整瓶产品,只修改: 手指与瓶身接触处; 产品边缘的环境反光; 产品落在人物或桌面的阴影; 产品底部接触阴影; 必要的遮挡; 玻璃、金属或塑料表面的环境色。 最安全的遮罩不是覆盖整个产品,而是做一个“产品边缘环形遮罩”: 向外扩张约6~12像素; 向内侵入约2~5像素; 羽化约2~4像素; 产品中央80%~90%的区域完全保护,不参与重绘。 这样AI只能负责把“贴上去的感觉”消掉,而不能顺手把瓶子拉成保温杯。 在ComfyUI或Stable Diffusion里的正确控制方式 ControlNet适合控制空间结构,例如姿势、边缘、深度和轮廓;官方论文和ComfyUI文档都说明,它可以用边缘图、深度图、人体姿势等条件约束生成,而且可以组合多个ControlNet。 比较稳定的节点逻辑是: 原视频关键帧 → 提取OpenPose → 提取Depth → 提取产品局部Canny或轮廓遮罩 人物身份图 → Face/Plus类IP-Adapter → 只负责人脸和人物身份 产品透明PNG → 精确缩放与定位 → ImageCompositeMasked合成到结构母图 合成母图 → VAE Encode → 低重绘强度Img2Img → 仅处理整体融合 产品边缘遮罩 → 局部Inpaint → 生成接触阴影、反光与遮挡 最后 → 把高清原产品主体重新覆盖回来 → 保留AI生成的边缘光影 起始参数可以从下面这个区间试,不是死值: 整体Img2Img重绘强度:0.15–0.30 产品边缘局部重绘:0.25–0.45 人物姿势ControlNet:0.70–0.90 深度ControlNet:0.45–0.70 产品轮廓Canny:0.80–1.00 人物IP-Adapter:0.60–0.80 产品参考权重:0.75–0.95 如果产品轮廓必须完全准确,产品Canny可以强一些;但产品颜色和标签不要指望Canny保留,因为Canny只锁边缘,不锁纹理。 最重要的是别让所有控制都拉满。人物身份、产品身份、姿势、深度、构图同时100%控制,会出现条件互相打架。每个控制器只负责一件事: OpenPose管骨架; Depth管前后和体积; Canny管产品外轮廓; IP-Adapter管人物身份; 产品原图层管产品真实外观。 在线多图模型的实用打法 使用FLUX.2、Gemini一类多图编辑模型 不要直接写: 让图1的人拿着图2的产品,复刻参考视频画面。 这句话角色分工太模糊。 改成这种结构: 以图0作为唯一的构图和空间结构母图。 图0决定: 镜头机位、景别、人物姿势、人物在画面中的位置、手部位置、产品位置、产品大小、产品旋转角度,以及人物与产品的遮挡关系。 图1只提供人物身份: 仅提取图1人物的脸部身份、发型和外貌特征,不采用图1的构图、姿势、镜头、背景或身体比例。 图2只提供产品外观: 严格保留图2产品的外轮廓、瓶盖与瓶身比例、瓶肩曲线、瓶底宽度、标签尺寸、标签长宽比、材质和颜色。 目标产品必须完全占据图0中原产品所在的包围区域。 不得扩大、缩小、拉伸、压扁或重新设计产品。 不得改变产品的纵横比。 保持人物手掌覆盖产品上方约18%的区域。 只允许根据图0调整产品的透视、受光、环境反射和必要遮挡。 产品主体结构与包装设计保持不变。 FLUX.2官方也建议编辑时明确写出“什么要改变、什么必须保持不变”,而不是“优化一下”“做得更专业”这类抽象指令。 不过,哪怕是当前支持多参考编辑的模型,也建议把准确拼装好的单张母图作为第一输入。FLUX.2虽然支持多参考产品合成,但它依然是生成式编辑,不是CAD或精密商品渲染工具。 使用Midjourney Midjourney直接多图生成不适合要求产品完全准确的任务,因为官方就把Image Prompt定义为视觉引导,而非精确复制。 更合理的路线是: 用原关键帧和人物参考生成人物场景; 进入Editor; 把真实产品PNG作为Layer加入; 手动缩放到正确大小; 擦除产品边缘、手指遮挡区和接触阴影区; 提交局部编辑; 产品主体区域不要擦; 必要时再Retexture整个画面,但要检查包装是否被改动。 如果直接改宽高比,不能简单用拉伸。Midjourney官方也提醒,某些Remix宽高比修改会直接拉伸图像,应使用Editor、Pan或Zoom扩展画布。 产品参考图也要重新整理 产品图不是越多越好。乱塞四五个角度,模型反而可能把不同角度平均成一个不存在的产品。 每个目标镜头,优先选择一张最匹配的产品图: 目标是正面,就提供正面; 目标是右侧三分之四,就提供右侧三分之四; 目标是俯拍,就提供接近俯拍的视图; 不要拿正面产品图强迫模型生成明显侧面; 不要混用不同版本包装; 不要混用旧Logo和新Logo; 产品尽量完整,不被手、装饰物或阴影遮挡; 背景尽量干净; 分辨率足够高; 尽量关闭手机广角畸变; 同一轮不要同时提供“白底正面图”和“广告海报中的极端透视图”。 人物参考图和最终画面的宽高比也应尽量接近。至少要避免人物是9:16大头自拍,而目标是16:9大全景;这种情况下,人脸参考只能用来锁身份,绝不能让它参与构图。 如果人物正在拿产品,还要单独解决遮挡 手握产品通常是最容易穿帮的地方,因为模型需要同时判断: 哪些手指在产品前面; 哪些手指绕到产品后面; 掌心是否贴住产品; 产品有没有穿过手; 手指是否因为产品参考而变长; 产品是否因为手部姿势被压扁。 最稳的做法是分三层: 后侧手指层 → 产品层 → 前侧手指层 具体操作是: 先生成完整手部姿势; 产品按正确比例放进去; 给应该位于产品前方的手指做遮罩; 局部重绘前侧手指; 加接触阴影; 产品主体最后重新覆盖一次; 再保留前侧手指和阴影。 这比直接让模型“一步生成一只手准确拿住指定包装”稳定得多。 视频关键帧还要增加一张“比例连续账本” 单张图比例正确,不代表下一帧不会漂。 每个关键帧至少记录: 镜头编号:S04-KF02 画布:1920×1080 人物高度:862 px 产品高度:248 px 产品/人物比例:0.288 产品中心:X=68.2%,Y=59.4% 产品旋转:-7° 产品可见面积:83% 手部遮挡:17% 产品距离镜头:约1.4 m 镜头运动:轻微前推 下一关键帧产品预期高度:263 px 相邻关键帧如果是缓慢推镜,产品尺寸应该连续增加,例如: KF01:236 px KF02:248 px KF03:261 px KF04:275 px 不能KF01是236像素,下一帧突然310像素。否则即使每张单看都挺好,做成视频就会出现产品呼吸、膨胀和收缩。 更稳的办法是:只生成一个准确的英雄关键帧,再以这个完成图作为图生视频起始帧。不要让视频模型在每一帧重新理解产品。 对Logo和包装极其严格时,甚至可以在视频生成后用跟踪、角点绑定或平面追踪把真实包装贴回去。 ↳ 回复 ㅤㅤㅤ小楠瓜: 各位大佬请教个问题:复刻视频关键帧时,我们同时提供了人物视图和产品视图,但生成出来的画面人物和产品比例总是错乱,产品经常拉伸变形,想问问大家有没有什么解决办法?