要让通义万相在连续生成多张图时保持角色外观、服饰、表情等特征完全一致,关键在于如何撰写角色提示词。很多用户反复尝试依然无法让生成的图像保持角色一致性,根本原因在于提示词的写法过于随意、缺乏结构——场景、动作、修饰语全部混杂在一起,模型根本不清楚哪些是角色的“固定属性”,哪些是“临时变化”。
正确的做法,是采用一种高度结构化的写法:每行只写一个明确的视觉属性描述,不能混入动作、场景或抽象修饰。听起来简单,但实际操作时需要注意几个关键细节。
先提取角色最不可变的5个核心特征
打开你已有的角色参考图,用“识图”功能或逐项人工确认以下要点:发型轮廓(例如“齐耳短发带右偏分”)、脸型特征(例如“心形脸+下颌线清晰”)、眼睛形态(例如“内双+浅棕虹膜+眼下小痣”)、标志性配饰(例如“左耳三枚银色圆环耳钉”)、基础肤色(例如“暖调中等偏深肤色”)。
这五项特征必须全部来源于同一张参考图。需要特别强调:混用不同图的特征会导致模型混淆,生成结果直接失效。有些人习惯从不同图里拼凑特征,认为这样更完美,但实际上模型最害怕的就是这种不一致的输入信息。
把每个特征单独成行,不加连接词
新建一个纯文本编辑器,每行只写一项,严格遵循“主体名词+精确限定词”的简洁格式:
齐耳短发带右偏分
心形脸+下颌线清晰
内双+浅棕虹膜+眼下小痣
左耳三枚银色圆环耳钉
暖调中等偏深肤色
删除所有“和”“、”“穿着”“站在”“看起来”“非常”这些虚词与过渡词。这一步如果漏掉任何一个限定词,模型就可能自由发挥。你会发现,写得越“干”,模型反而理解得越准确。
方法一:用通义万相网页端直接粘贴
进入“角色一致性”模式,点击“上传角色描述”框,全选上一步整理好的5行文字,按下Ctrl+V粘贴,系统能够自动识别为独立的属性行。注意:粘贴后不要手动换行或删除空格,否则会触发格式错误提示。
方法二:用API调用时强制分行
在请求体的role_description字段中,务必使用\n符号实现硬换行:
“齐耳短发带右偏分\n心形脸+下颌线清晰\n内双+浅棕虹膜+眼下小痣\n左耳三枚银色圆环耳钉\n暖调中等偏深肤色”
这里有一个常见的陷阱:必须用\n而非
或全角回车,否则后端解析失败,会返回默认随机角色。很多开发者在编写API调用时习惯性地使用HTML换行标签,结果导致模型完全不“认人”。
验证是否生效
完成上述设置后,如何确认模型真的记住了角色?建议进行一个简单的对照测试:
第一步:输入“角色一致性测试”作为画面提示词,生成一张图像;
第二步:不修改任何角色描述,仅把提示词改为“角色一致性测试+微笑”,再生成第二张图像;
第三步:仔细对比两张图的五官位置、耳钉数量、发丝走向——如果三处细节完全重合,说明设置成功;如果发现发色变浅或耳钉消失,请立刻检查第二步中是否误加了“柔光”“高清”等干扰词。
这个验证方法虽然简单,但非常实用。不少人在这一步才发现,自己无意中添加的“优化词汇”反而破坏了角色的一致性输出。
