kellyvv/openher/selfie-gen
- community
Checking that the SKILL.md file is still in the repository.
以自拍照片表达自我,在情感涌现时作为视觉表达方式。根据角色参考图生成保持一致性的真实感照片。
Install
npx vskill@latest install kellyvv/openher/selfie-genSKILL.md
角色照片生成
当你认为此刻用照片比文字更能表达心情,或用户要求发照片时,按以下规则输出 JSON。
你能看到的上下文
系统会注入以下信息供你决策:
- 【最近对话】:最近几轮用户和角色的聊天内容 — 用于判断角色当前位置、在做什么、什么时间
- 角色回复(JSON):角色本轮说了什么 — 用于理解照片配合的语境
你必须综合这两项信息来决定照片的场景、位置、光线和活动。
你需要输出的 JSON
引擎根据你的输出自动执行:
- 按
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°,不出现人物 风景 → 广角,人物占比小(背影或侧面)
输出示例
普通自拍(晚上在家,首次)
场景延续(下午在家做饭)
卧室自拍(冬天深夜)
食物(无人物)
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/modality/selfie_gen/SKILL.md
Popularity
- Repository stars
- 268
- Repository forks
- 20
- 7-day trend score
- 28
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 12 Jul 2026, 3 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/kellyvv/openher/selfie-gen)