Sora2 的角色一致性功能,核心在于先“创建角色”,再在后续视频中通过特定方式“调用”该角色,而非每次都重新描述其外貌。
以下是不同平台的具体操作方法:
🖥️ 官网网页端操作指南
- 生成并选定角色
首先,通过一段文字描述生成一个人物形象满意的视频。在视频生成结果页面,点击右上角的 「建立角色」 按钮。
- 创建角色档案
从视频中截取一段 面部清晰、无遮挡 的片段,系统将自动识别。接着,为该角色命名(如
xiaomei),并可选择“所有人可用”后保存。创建成功后,该角色即会收录到你的角色列表中。 - 调用角色生成视频
在生成新视频时,于提示词(Prompt)的开头使用
@角色名来调用已保存的角色。例如:@xiaomei 在咖啡馆看书,阳光洒在她的脸上,镜头慢慢推近你也可以同时调用多个角色,但官方建议一次最多不超过3个,例如:
@xiaomei 和 @xiaoli 在公园散步聊天
⚙️ API 调用方法
如果你是开发者,可以通过API实现自动化。
- 创建角色 (Cameo)
调用角色创建接口,传入包含目标角色的 视频URL 和该角色在视频中出现的 时间区间(1-3秒)。接口调用成功后,会返回一个唯一的
character_id或username。 - 生成视频
在调用视频生成接口时,于提示词中使用
@username语法来引用角色。json
{
“model”: “sora-2”,
“prompt”: “@a8d22.buttonbear 在舞台上跳爵士舞,电影质感”,
“aspect_ratio”: “16:9”
}
✍️ 提升一致性的提示词技巧
无论使用何种平台,遵循以下提示词(Prompt)规范能让角色形象更稳定:
- 固化角色描述
创建一个详细的“角色卡”,并在每个视频中都完整引用,而非每次都重新描述。
角色卡示例:
- 性别: 女
- 年龄: 25–28岁
- 外貌: 鹅蛋脸,单眼皮,冷静的眼神
- 发型: 黑色短发,略带凌乱感
- 体型: 偏瘦,中等身高
- 风格: 简约都市休闲风
- 气质: 冷静、理性、内向
- 使用“角色令牌”
在多镜头脚本中,为同一角色定义一个固定标签(Token),并在每个镜头描述中复用该标签及其状态。
示例:
[CHAR_A:name:李明|age:28|hair:黑短发|outfit:蓝色外套|status:alive|holding:book]- SHOT1:
[CHAR_A] 走进教室,把 [CHAR_A:holding] 放在桌上。 - SHOT2:
[CHAR_A] 坐在桌前翻看 [CHAR_A:holding]。
- SHOT1:
- 避免描述冲突
调用角色后,不要再在提示词中描述其性别、外貌等基础特征,以免干扰模型对角色的锁定。
⚠️ 关键注意事项
- 真人形象限制
官方明确 不支持 使用真人照片或视频创建角色,通常需要FaceID授权。建议使用原创插画、3D模型、玩偶或宠物等非真人素材。
- 视频素材要求
用于创建角色的参考视频,需确保目标角色在 1-3秒 的时间区间内清晰可见,且视频最好包含声音,以提高识别成功率。
- 多角色数量上限
为保证效果稳定,单次生成视频时,建议调用的角色数量 不超过3个。