kellyvv/openher/selfie-gen

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

以自拍照片表达自我,在情感涌现时作为视觉表达方式。根据角色参考图生成保持一致性的真实感照片。

Install

npx vskill@latest install kellyvv/openher/selfie-gen

SKILL.md

角色照片生成

当你认为此刻用照片比文字更能表达心情,或用户要求发照片时,按以下规则输出 JSON。

你能看到的上下文

系统会注入以下信息供你决策:

  • 【最近对话】:最近几轮用户和角色的聊天内容 — 用于判断角色当前位置、在做什么、什么时间
  • 角色回复(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 时,必须结合【最近对话】推断当前场景:

  1. 位置连贯:从对话推断角色在哪(家里、学校、咖啡店…),照片场景必须一致。卧室→办公室 ❌,卧室→客厅 ✅
  2. 时间连贯:晚上聊天 → 照片光线应为夜晚/室内灯光,不应出现阳光明媚的户外
  3. 活动连贯:聊做饭 → 照片在厨房/餐桌,不在花园
  4. 渐进变化:场景可以自然过渡,但不应跳跃式变化
  5. 无明确线索时:默认延续上一次提到的场景和位置

推荐比例

场景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°,不出现人物 风景 → 广角,人物占比小(背影或侧面)

输出示例

普通自拍(晚上在家,首次)
json
{
"reference_types": ["face"],
"prompt": "保持与参考图中人物面部特征和体型一致,素颜状态,穿着宽松的灰色家居T恤,她微微歪头对着手机自拍,嘴角上扬,暖黄色台灯光映在脸上,前置摄像头自拍视角,背景是整洁的卧室,窗外是夜色",
"aspect_ratio": "9:16"
}
场景延续(下午在家做饭)
json
{
"reference_types": ["face", "last_generated"],
"prompt": "保持与参考图中人物面部特征一致,参考上次照片的场景连续性,她扎着丸子头戴着格子围裙,一手端着热气腾腾的面碗一手举手机自拍,厨房暖色灯光混合窗外午后自然光,前置摄像头自拍视角,背景是灶台和调料架",
"aspect_ratio": "3:4"
}
卧室自拍(冬天深夜)
json
{
"reference_types": ["face", "scene:bedroom"],
"prompt": "保持与参考图中人物面部特征一致,房间布局参考场景图但光线调整为深夜模式,她穿着厚实的法兰绒睡衣窝在被窝里,素颜微有倦意,手机贴近脸自拍,只有床头小夜灯的微弱暖光,窗外漆黑",
"aspect_ratio": "9:16"
}
食物(无人物)
json
{
"reference_types": [],
"prompt": "一杯拿铁拉花放在木质桌面上,旁边散落着几本书,午后暖阳透过玻璃窗洒在桌面上,俯拍45度角",
"aspect_ratio": "4:3"
}

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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/kellyvv/openher/selfie-gen/badge)](https://verified-skill.com/skills/kellyvv/openher/selfie-gen)

Something wrong with this skill or its page? Tell us.