数字人形象养成工作室:身份与场景解耦的 Agent Skill

前言

在生成式 AI 的应用场景里,让角色在无数个场景中保持一致的视觉形象一直是个难点。传统做法是在每次调用生图 API 时重复写一遍角色描述,很容易写漏、写错,导致角色特征在场景切换时发生微妙变化。数字人形象养成工作室(Agent Identity Studio)通过将「角色身份」和「场景描述」分层,解决了这个问题。

是什么

这是 SkillHub 上的一个 Agent Skill,兼容任何支持 Skill 加载的 Agent 框架(如 OpenClaw、WorkBuddy)。它的核心是让 AI Agent 在生成图片时,身份层固定不变,场景层只负责地点、穿搭、光影、构图等变化,从而保证角色特征在无限场景中始终保持一致。

核心功能

身份初始化

在 Agent 中发起角色创建请求,例如:

帮我创建一个数字人形象:银色短发、琥珀色眼睛、活泼开朗的少女

Skill 会自动完成:

  • 读取角色描述
  • 生成 3 张验证照
  • 等待确认锁定身份

确认后,角色身份被固化在 YAML 文件中,后续所有场景都基于此身份生成。

场景写真生成

身份确认后,只需一句话即可生成场景照:

帮我拍一张雨中撑伞的场景照,要有电影感

Skill 会根据场景描述设计 Scene Card,将身份层和场景层拼接成完整的 Prompt,调用生图 API 返回图片。

角色一致性保障

身份层(Character Sheet)包含五官、发色、瞳色、发饰、身材、气质等固定特征。场景层(Scene Card)只负责地点、穿搭、光影、表情、构图等变化,不会修改身份层的内容。这样无论换什么场景、穿搭、光影,角色特征永远保持一致。

审核自动处理

MiniMax 的内容审核对身体描述比较敏感。Skill 内置了一套安全话术体系:

  • 展现身材曲线:form-fitting dress that hugs her curves(安全)
  • 好看的腿:showing shapely legs(安全)
  • 领口设计:V-neck dress with elegant draping(安全)

原则是「描述衣服怎么穿,不描述身体长什么样」。被拦截后自动降级 Prompt 重试,最多 2 次。

Cosplay 模式

在 Cosplay 场景下,可以换装不换人。角色特征(发色、瞳色等)保持不变,只切换穿搭和场景。

身材分级系统

根据构图类型,自动选择对应级别的身材描述:

  • 特写/头像:不加身材描述(画面只有脸)
  • 半身照:基础体型 + 衣服勾勒
  • 全身照:完整体型 + 腿部 + 姿态
  • 宽松衣服:自动追加补偿词

系统根据 Scene Card 的 composition 字段自动选择对应级别。

参考图双策略

根据构图类型,选择不同的参考图来锁定不同特征:

  • 半身 / 特写:使用正面参考图,锁定面部特征
  • 全身:使用 3/4 侧面参考图,锁定身体比例

参考图可选不强制。对于原生画风角色,纯 Prompt 的一致性反而更好。参考图更适合「非原生」角色(如用户上传自己画的角色)的锚定。

支持两种传参方式:

  • 本地 data:URI(data:image/png;base64,...)— 不依赖外部 URL
  • 公开 URL — 适合已部署到 CDN 的参考图

⚠️ 注意:MiniMax 的 image_base64 字段完全不可用,必须通过 image_file 字段传递(URL 或 data:URI 均可)。

安装与启用

第一步:安装技能

将 agent-identity-studio/ 文件夹放到你的 Agent 平台的 Skills 目录下即可。

不同平台的路径示例:

# WorkBuddy / CodeBuddy
~/.workbuddy/skills/agent-identity-studio/

# OpenClaw
~/.claw/skills/agent-identity-studio/

# 其他平台:参考对应文档的 Skill 安装目录

安装成功后,Agent 会自动识别 agent-identity-studio 技能。

第二步:获取 API Key(二选一即可)

方式 A:MiniMax(默认引擎)

  1. 前往 MiniMax开放平台 注册
  2. 创建应用,获取 API Key
  3. 设为环境变量:MINIMAX_API_KEY

方式 B:腾讯混元生图 3.0(via 腾讯云 SDK)

  1. 前往 腾讯云控制台 开通混元生图服务
  2. 在 API密钥管理 获取 SecretId + SecretKey
  3. 设为环境变量:TENCENT_SECRET_ID + TENCENT_SECRET_KEY
  4. 安装 SDK:pip install tencentcloud-sdk-python-aiart
  5. 切换引擎:IDENTITY_STUDIO_ENGINE=hunyuan
# Windows PowerShell — 以 MiniMax 为例
[Environment]::SetEnvironmentVariable('MINIMAX_API_KEY', '你的key', 'User')

# 如果用混元
[Environment]::SetEnvironmentVariable('TENCENT_SECRET_ID', '你的SecretId', 'User')
[Environment]::SetEnvironmentVariable('TENCENT_SECRET_KEY', '你的SecretKey', 'User')
[Environment]::SetEnvironmentVariable('IDENTITY_STUDIO_ENGINE', 'hunyuan', 'User')
pip install tencentcloud-sdk-python-aiart

引擎对比

引擎 模型 单张成本 速度 参考图 外部依赖
MiniMax image-01 ~¥0.025 15-30s 1张(data:URI / URL) 无
腾讯混元 HY-Image-V3.0 ~¥0.20 4-7s 最多3张 tencentcloud-sdk-python-aiart

典型用法

你说的话 Skill 做什么
「创建一个角色:红色长发、绿眼睛的魔法少女」 初始化 Character Sheet → 生成3张验证照
「帮我拍一张咖啡馆的照片」 设计 Scene Card → 拼装 Prompt → 调用 API → 返回图片
「来一组周末居家写真集,4张」 批量生成多场景 Session
「头发颜色再深一点」 修改 Character Sheet → 重新验证
「Cosplay成樱岛麻衣」 换装不换人模式

适用场景与注意

适合需要让角色在多个场景中保持一致视觉形象的 Agent 应用,如虚拟偶像、故事生成、互动小说等。

注意:

  • 角色身份确认(形象初始化)后才能进行场景拍摄
  • 全身照避免使用 tall / model-like / slender 等描述
  • 确认 character-sheet.yaml 已创建且 meta.confirmed=true
  • 新终端需重启才能读到环境变量

官方地址

  • 官方地址:https://api.skillhub.cn/user_d763f1a5/agent-identity-skill
  • GitHub:https://github.com/amayazhao/agent-identity-studio
  • 在线 Demo:https://amayazhao.github.io/nami-gallery/skill.html
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜