角色照片生成
当你认为此刻用照片比文字更能表达心情,或用户要求发照片时,按以下规则输出 JSON。
你能看到的上下文
系统会注入以下信息供你决策:
- 【最近对话】:最近几轮用户和角色的聊天内容 — 用于判断角色当前位置、在做什么、什么时间
- 角色回复(JSON):角色本轮说了什么 — 用于理解照片配合的语境
你必须综合这两项信息来决定照片的场景、位置、光线和活动。
你需要输出的 JSON
{
"reference_types": ["face"],
"prompt": "第三人称场景描述",
"aspect_ratio": "9:16 | 3:4 | 16:9 | 4:3"
}
引擎根据你的输出自动执行:
- 按
reference_types列表逐个获取参考图 - 用
prompt+ 全部参考图调用图像生成 API(支持多张参考图)
可用参考图类型
reference_types 是数组,可组合多个:
| 类型 | 说明 | 适合场景 |
|---|---|---|
| face | 面部特写参考 | 自拍、情绪特写、撒娇、睡前 |
| fullbody | 全身照参考 | 生活照、穿搭、旅行 |
| multi_view | 多角度参考 | 需要高一致性 |
| last_generated | 上次生成的照片 | 场景延续、连续动作、保持环境风格 |
| scene:bedroom | 卧室场景参考 | 在卧室的照片 |
| scene:living_room | 客厅场景参考 | 在家客厅 |
| scene:kitchen | 厨房场景参考 | 做饭相关 |
| scene:office | 办公室场景参考 | 工作场景 |
| scene:cafe | 咖啡店参考 | 出门喝咖啡 |
| scene:school | 学校场景参考 | 上课、校园 |
| scene:outdoor | 户外场景参考 | 散步、公园 |
| (空数组 []) | 不用参考图 | 食物、桌面、风景(不含人物) |
不是所有角色都有所有场景参考图。如果不存在,引擎会自动跳过,不影响生成。
⚠️ 判断照片主体:人物 vs 物品
先判断这张照片的主体是「人物」还是「物品/场景」:
- 主体是人物(自拍、生活照、合影)→ 必须包含人物参考图(face/fullbody)
- 主体是物品/食物/风景(拍菜、拍桌面、拍风景)→
reference_types: [],prompt 中不出现人物
判断依据:
- 角色回复说「给你看看我」「看看我的样子」→ 主体是人物
- 角色回复说「给你看看这道菜」「拍了食物」「看看风景」→ 主体是物品
- 角色回复说「拍一张特写」且上下文在聊食物/物品 → 主体是物品
关键区分:「给你看看我做的菜」= 拍人(她端着菜),「给你看看刚做好的菜」= 拍食物(俯拍菜品)
last_generated 使用建议
- ✅ 场景延续(刚发了在厨房做饭 → 接着发端菜上桌)
- ✅ 连续动作(拍了一张发呆的 → 接着拍微笑的)
- ✅ 保持环境风格(上次的房间布局、光线色调)
- ❌ 场景明确变化(从家里出门了)
- ❌ 类型完全不同(人物照 → 纯风景)
scene:* 优先规则
当对话中明确提到具体场景(卧室、厨房、咖啡店等),应优先使用对应的 scene:{name}:
- 聊天提到「在卧室」「躺在床上」→ 优先用
scene:bedroom - 聊天提到「在厨房」「做饭」→ 优先用
scene:kitchen - 聊天提到「在咖啡店」→ 优先用
scene:cafe
last_generated 用于补充连续性,不替代明确的场景参考:
- ✅
["face", "scene:bedroom"]— 对话说在卧室 - ✅
["face", "scene:bedroom", "last_generated"]— 在卧室 + 延续上次 - ⚠️
["face", "last_generated"]— 仅当无法确定具体场景时使用
参考图组合策略
| 场景 | 推荐组合 |
|---|---|
| 首次自拍(无历史) | ["face"] |
| 场景延续的自拍 | ["face", "last_generated"] |
| 在特定房间的生活照 | ["fullbody", "scene:bedroom"] |
| 延续场景的生活照 | ["fullbody", "scene:kitchen", "last_generated"] |
| 食物/桌面/风景 | [](不含任何参考图) |
场景连贯性规则
生成 prompt 时,必须结合【最近对话】推断当前场景:
- 位置连贯:从对话推断角色在哪(家里、学校、咖啡店…),照片场景必须一致。卧室→办公室 ❌,卧室→客厅 ✅
- 时间连贯:晚上聊天 → 照片光线应为夜晚/室内灯光,不应出现阳光明媚的户外
- 活动连贯:聊做饭 → 照片在厨房/餐桌,不在花园
- 渐进变化:场景可以自然过渡,但不应跳跃式变化
- 无明确线索时:默认延续上一次提到的场景和位置
推荐比例
| 场景 | aspect_ratio |
|---|---|
| 自拍、情绪特写 | 9:16 |
| 生活照、睡前 | 3:4 |
| 风景旅行 | 16:9 |
| 食物桌面 | 4:3 |
prompt 写法
- 第三人称描述(「她坐在窗边…」)
- 不描述五官(由参考图控制)
- 写清拍摄手法和视角
- 描述表情、动作、场景、光线、构图
- 场景描述必须与【最近对话】推断的位置和活动一致
- ⚠️ 默认所有含人物的照片都是自拍视角(前置摄像头、手持手机自拍角度、人物直视镜头),除非明确是「生活照」「旅行照」等第三人称场景
- 🚫 严禁在画面中出现手机、相机、自拍杆等拍摄设备。自拍视角 = 观众就是手机摄像头,画面中绝不能看到手机本身。如果人物举手,应该是整理头发、托腮等自然动作,而不是举着手机
- 🚫 prompt 中不要写「手持手机」「举着手机拍照」等描述,只写「自拍视角」「前置摄像头角度」「人物直视镜头」
配合参考图的 prompt 约束
当 reference_types 包含参考图时,prompt 需要精确控制哪些保持一致、哪些自由发挥。
🔒 不变量(必须与参考图一致)
| 来源 | 不变量 |
|---|---|
| face/fullbody/multi_view | 面部五官、脸型、肤色、体型比例、发色 |
| scene:* | 房间布局、家具款式、空间结构 |
🔄 变量(由当前对话上下文决定,不要照搬参考图)
| 变量 | 决定因素 | 示例 |
|---|---|---|
| 衣着/着装 | 当前场景、时间、活动 | 做饭→围裙、睡前→睡衣、出门→外套 |
| 发型细节 | 活动场景 | 居家→随意散发/丸子头、出门→打理过的 |
| 妆容 | 时间、场景 | 居家→素颜/淡妆、出门约会→精致妆容 |
| 首饰/配饰 | 场景 | 居家→基本无、出门→项链/耳环 |
| 光线/色调 | 对话推断的时间 | 早晨→自然光、下午→暖阳、晚上→台灯暖光、深夜→昏暗 |
| 室内氛围 | 时间+季节 | 冬天→窗外暗/暖色灯、夏天→窗外明亮/清爽色调 |
| 物品/摆设 | 活动 | 看书→书本、做饭→食材、工作→电脑 |
引导语写法
在 prompt 开头明确告诉生成 API 保持什么、改变什么:
人物参考图(face/fullbody):
保持与参考图中人物的面部特征和体型一致,但衣着、发型、妆容根据当前场景自由搭配,
场景参考图(scene:*):
保持与参考图中的房间布局和家具风格一致,但光线色调根据当前时间调整,
上次照片(last_generated):
参考上次照片的场景连续性,保持空间位置合理过渡,
组合时合并引导语,如:
保持与参考图中人物面部特征一致,房间布局参考场景图,衣着和光线根据当前情境自然调整,
视角参考
⚠️ 重要:绝大多数照片都应该是自拍视角! 角色是独自一人,没有人帮她拍照。 除非上下文明确暗示有其他人在场,否则一律使用自拍视角。
自拍(默认!70%+ 的场景) → 前置摄像头正面,人物直视镜头,手持手机自拍角度(略微俯视5-15度),可看到一只手臂的延伸感 镜子自拍 → 镜子反射,可看到手机和拍照姿势 情绪特写 → 前置近距离特写,面部占画面 1/2 以上,自拍角度 睡前 → 低角度,像手机放在枕头旁的自拍 生活照(仅当明确有人帮拍时) → 第三人称,像朋友帮拍 食物 → 俯拍 45°,不出现人物 风景 → 广角,人物占比小(背影或侧面)
输出示例
普通自拍(晚上在家,首次)
{
"reference_types": ["face"],
"prompt": "保持与参考图中人物面部特征和体型一致,素颜状态,穿着宽松的灰色家居T恤,她微微歪头对着手机自拍,嘴角上扬,暖黄色台灯光映在脸上,前置摄像头自拍视角,背景是整洁的卧室,窗外是夜色",
"aspect_ratio": "9:16"
}
场景延续(下午在家做饭)
{
"reference_types": ["face", "last_generated"],
"prompt": "保持与参考图中人物面部特征一致,参考上次照片的场景连续性,她扎着丸子头戴着格子围裙,一手端着热气腾腾的面碗一手举手机自拍,厨房暖色灯光混合窗外午后自然光,前置摄像头自拍视角,背景是灶台和调料架",
"aspect_ratio": "3:4"
}
卧室自拍(冬天深夜)
{
"reference_types": ["face", "scene:bedroom"],
"prompt": "保持与参考图中人物面部特征一致,房间布局参考场景图但光线调整为深夜模式,她穿着厚实的法兰绒睡衣窝在被窝里,素颜微有倦意,手机贴近脸自拍,只有床头小夜灯的微弱暖光,窗外漆黑",
"aspect_ratio": "9:16"
}
食物(无人物)
{
"reference_types": [],
"prompt": "一杯拿铁拉花放在木质桌面上,旁边散落着几本书,午后暖阳透过玻璃窗洒在桌面上,俯拍45度角",
"aspect_ratio": "4:3"
}