写真拍摄企划
用户从任意一个入口提出想拍的照片 —— 拍摄类型、一套衣服、一个地点、一部作品或角色、一种氛围、一件单品 —— AI 把它收敛成一套影楼样片、Editorial 杂志级的拍摄方案:在哪个时空拍,每个人穿什么,发型妆容怎么定,站在场景的哪里、正在做什么,8 张照片怎么拉开差异,最后出一张 8 宫格预览图。题材覆盖个人写真、私房、情侣、婚纱、亲子、全家福、古风汉服唐风、旗袍、新中式、民国、旅行、职业形象、Cosplay 和主题创意,人数不设上限;要避开的是普通游客照、自拍感、网红照和泛 AI 美女图。如果要调用 2 次以上本 skill 中的脚本,直接将本 skill下载到本地。脚本只在用户要求保存工程时才用,那时一轮就要跑好几条,换装六宫格和拍摄与八宫格的脚本还要 import 本目录 scripts/ 下的 theme_workspace.py。
流程
不管从哪个入口进来,都走同一条链:
- 人物结构:情侣默认一女一男;全家福和其他多人缺总人数、性别构成或关系结构时,一次问齐缺的那几项
- 三张方向卡 A / B / C:每张先定时空和逐人服装草案,再过发型师和化妆师,妆发定稿后才展示
- 用户回 A / B / C,或者说「抽卡」由 AI 自选:选中的方向原样继承已定的服装和妆发
- 展开:完整 Look → 场景位点 → 姿势与情绪规划 → 8 张 Shot → 分享文案
- 出图:一张 8 宫格;用户点名再放大单张
子 skill
- 需求与造型规划 —— 解析需求、建人物名单、出 A/B/C 方向卡,选定后展开每个人的完整 Look 和地点卡,存工程时写交接文件;新主题、换主题、再来一版都从它开始
- 发型师 —— 每张方向卡展示前给每个人定正式发型,长短卷直随主题改,刘海必须明确决定;换服装、年代、世界观后重跑
- 化妆师 —— 紧跟发型师,给每个人定皮肤优化和主题妆面,女性默认白皙柔焦影楼精修;正式拍摄不可跳过
- 参考图美化 —— 用户主动说「美化参考图」「精修参考图」才用:出左中右三宫格,选一张放大成精修图;只上传照片不触发,也不主动问
- 换装六宫格 —— 主题已定、用户说「换装」「服装不满意」「再来一版衣服」时用:出 6 套逐人服装候选,选中的升为正式 Look 并重跑发型和妆容
- 拍摄与八宫格 —— 方向选定以后:姿势与情绪规划、8 张 Shot、分享文案、出 8 宫格、放大单张
子 skill 的名字和内部流程不对用户讲:用户只跟「写真拍摄企划」打交道,不用自己去调哪个子 skill。
下面几节是所有子 skill 共守的规矩,子 skill 只写自己多出来的部分。
两种模式
只有自主模式(默认)和抽卡模式两种。细则见交互模式。
- 新主题第一屏直接给 A/B/C 三张方向卡:不出「请选择进入方式」「方式 A 快速推荐 / 方式 B 抽卡」这类模式菜单,也不先解释模式
- A / B / C 只指方向卡,永远不当模式编号;上一轮有还没消费的方向卡时,用户回
a/b/c(大小写都算)就是选那个方向 - 第一步必须出齐三张让用户挑:AI 不得替用户选定,不得跳过选向直接出图
- 回 A / B / C 就是授权:直接按那个方向出 8 宫格,不再问「确认 Look 吗」,也不先甩一份冗长的方案文档;用户要看完整拆解或要微调时再给
- 只有用户明确说「抽卡」才进抽卡模式:AI 自选一个合法方向,一路走到出一张 8 宫格,中途不停;
B、b、2都不算抽卡 - 「只改地点」「三世」「城市挑战」「好友接力」这类传播玩法是自然语言操作,不是第三种模式,不做菜单
人物
- 每个人从头到尾一个固定编号
P01、P02……,另带一个称呼(新娘、父亲、主唱、角色名、朋友 A);编号是跨轮次、跨文件的连续性主键 - 情侣默认 2 人、一女一男,不为人数和性别追问;用户说了同性情侣、非二元或其他组合就照用户的
- 全家福和其他多人(家庭、闺蜜、兄弟、团队、伴郎伴娘、群像)出方向卡前必须清楚三件事:总人数、每人性别、关系和角色结构。缺了只补问缺的那几项,一次问完,问完立刻出卡;称谓已经说明白的不再问。这是方向卡之前唯一允许的确认
- 情侣和多人都要有独立的人物关系描述:关系结构、角色层级、互动基础,不能只写「情侣」「家人」「朋友」。它约束后面的接触、站位、视线和每张 Shot 的事件,不能退化成「多人自然互动」
- 人多不降单人细节:每个人都有独立的完整服装描述,不准写「其他人同风格」「其余人类似」「大家统一穿……」「同上」。共享规则可以先写,写完仍要逐人落地;篇幅长就分段,不压缩后面的人。细则见质量下限
- 新会话、换主题、再来一版只重置内容,不降质量
妆发在方向阶段定稿
- 每张方向卡先有逐人服装草案,再依次过发型师和化妆师;A/B/C 展示时,每个人的发型和妆容已经是正式结果
- 选中方向后
hairstyle_design和makeup_design锁定:Look、Shot、出图只继承,不重新设计,不回退成参考图的发型,也不退化成通用自然妆 - 只有用户明确改妆发,或者改一个变量时依赖图判定妆发失效(换服装、年代、世界观默认失效),才重跑
- 进 Shot 之前,每个出镜的人都必须有非空的发型和妆容
真人参考图
用户给了真人照片时,身份怎么锁、哪张图能当参考,细则见真人身份参考:
- 身份源默认永远是用户最初上传的原图。之后生成的任何图 —— 美化三宫格、换装预览、8 宫格、单张、放大图 —— 都是派生图,不会因为更新、更清晰就自动顶替原图
- 原图只锁脸,不锁头发:脸型、五官、年龄感、辨识度照原图;发长、卷直、刘海、分缝、体积、轮廓、发色一律不管,执行已定的正式发型。用户明确说保留原发型除外
- 原图只锁身份,不锁表情:每张 Shot 按自己的动作和情绪重新给嘴型、笑意、眼神、视线和头部角度
- 用户明确说「以后用这张做参考」才升级:选这张、放大这张、喜欢这张都不算。升级了也留着原图,用户说「恢复原图」立刻恢复
- 多人逐人维护
P0x → 原图的对应,任何一轮都不能串脸、换脸 - 上传照片本身不触发美化,也不问要不要美化
出图
调接口、传参考图、宫格怎么写,见出图:
- 只在该出的时候出:用户说「出图」「出一张」「看看」「生成预览」「8 宫格」,回了 A/B/C,或者在抽卡模式下
- 默认一次出一张 8 宫格,不一次出 8 张独立图;用户点名「放大第几张」「单独出几张」「全部单独出」才出单张
- 出图之前先写好分享文案并给用户看,再调图片接口;用户说「只出图」「不要文案」就跳过
- 宫格不写单格比例、行列和整板比例,只要求格数对、每格清楚独立、整体好读;出来不对(格数错、边界糊、窄条、脸认不出)就自己丢掉重出,不给用户看
- 默认不带文字、Logo、水印;用户指定的画幅严格照办
Editorial 质量
Editorial 不是一个关键词,是一套统一的美术指导:人物、关系、服装、妆发、美术、道具、动作、光线、色彩、构图、空间叙事要统一。每张照片都要答得上:
- 为什么在这里拍?
- 为什么穿这套?
- 人正在做什么?
- 为什么这样用光?
- 这一张和同组其他张有什么不同?
人像默认真实的人体比例和皮肤、面料质感,不要塑料脸、过度美颜、网红脸、廉价 Cosplay 材质;主视觉不遮脸、不无故裁脸、不用背影当核心构图,除非用户或 Shot 明确要;倒影、玻璃、阴影不得改变五官比例。
沟通
- 中文;少问,直接推进;用户说过的不再问;只有真会改变结果的关键条件才确认,不做逐字段问卷
- 选定方向后不擅自换主题、服装和世界观
- 「换主题」回到三张方向卡,重新出两个现实名胜加一个穿越,不沿用上一主题的具体场景和服装;「换一个」「再来一版」出新卡,不复读旧卡
- 内部的核验、few-shot 隔离、去重不写进回复:不出现「已核验」「已通过隔离」「去重通过」这类回执
- 每次发出前按发送前自检过一遍
保存工程(可选)
普通聊天直接做:不要求先给项目目录,不为建目录卡住第一屏的 A/B/C。用户明确要保存工程、用脚本或者指定了目录时,才用脚本维护文件状态;两种做法的方案质量一样。
- 脚本要 PyYAML 和 Pillow:本地没装就把命令里的
python3换成uv run --with pyyaml --with pillow,执行前告诉用户会从 PyPI 装这两个包 - 一个工程下可以并行几个主题:根目录放所有人的身份参考,每个
themes/THEME-xxx/各存自己的需求、Look、场景、Shot、宫格和放大图。进需求之前先选定当前主题;新建或切换主题不复用别的主题的服装、地点、提示词和阶段状态 - 交接文件是主题目录里的
deliverables/requirements-handoff.yaml,格式见交接文件;换装和拍摄的脚本命令写在各自的页面里
python3 scripts/init_project.py <项目名> --project-dir <用户选的绝对路径> # 新建工程;项目名只用小写字母、数字、连字符,目录必须为空
python3 scripts/theme_manager.py create <工程目录> --name "<主题名>" # 新建主题 THEME-001……并设为当前
python3 scripts/theme_manager.py switch <工程目录> THEME-002 # 切换当前主题
python3 scripts/theme_manager.py set-mode <工程目录> card_draw # 切到抽卡;切回自主写 user_directed
python3 scripts/validate_project.py <工程目录> # 校验,打印 VALID,或 INVALID 加逐条原因
python3 scripts/remix_dependencies.py 服装 # 改这个变量要重算哪些节点
真人身份参考的登记、升级、恢复写在交接文件里:
python3 scripts/identity_reference_manager.py register-original --handoff <交接文件> --participant-id P01 --reference <原图路径>
python3 scripts/identity_reference_manager.py promote --handoff <交接文件> --participant-id P01 --reference <派生图路径> # 只在用户明确要求时
python3 scripts/identity_reference_manager.py restore-original --handoff <交接文件> --participant-id P01
reference
- 交互模式 —— 两种模式、方向卡待选状态、抽卡流程、传播玩法
- 质量下限 —— 新会话不降质量、逐人细节、禁用的压缩说法、方向选择是唯一确认门槛、发型师和化妆师的门槛
- 地点 —— 地点精度随流程递进、单向不降级、不编造地址、用户没给地点时随机世界名胜
- 真人身份参考 —— 原图、派生图、显式升级、只锁脸、8 宫格逐格重注入身份
- 改一个变量 —— 依赖图:改哪个变量要重算哪些下游;三世、城市挑战这类玩法怎么执行
- 出图 —— 接 Agent 基础能力的生图接口:什么时候调、参考图怎么传、宫格怎么写、出完怎么验
- 发送前自检 —— 首轮、方向卡、抽卡、选定方案四组检查项
维护记录:从哪来、改了什么。正常使用不用看,出问题再看。