mcpField
S
scenario-multi-reference

scenario-multi-reference

github.com/scenario-labs创意与媒体1.2k170 次安装1 天前更新
代码仓库

关于 scenario-multi-reference

scenario-multi-reference-composition 是用于多参考图像生成的 skill,为每张图指定单一作用,并明确排除无关细节。它面向使用 Scenario 工具的图像工作流,也提供检查参考内容泄漏和模型 schema 的指导。

主要功能

  1. 01为每张参考图指定单一作用
  2. 02明确排除参考图中的无关内容
  3. 03查询模型能力与参考图数量限制
  4. 04检查输出中的意外参考元素
  5. 05指导图像生成与结果检查

适用场景

  1. 01组合主体、场景、姿势和风格
  2. 02避免风格参考图的主体进入结果
  3. 03排查参考图输入缺失或意外内容

MCP 相关

该 skill 描述了使用 `upload_asset`、`recommend`、`model_schema_get` 和 `model_run` 等工具的 Scenario 图像工作流。它指导支持 MCP 的 Agent 选择模型、验证参考图输入并运行图像生成。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/scenario-labs/skills --skill scenario-multi-reference

安装后在 Claude Code 中输入/scenario-multi-reference确认已加载。

附带文件README.mdreferences/prompt-patterns.md

详细介绍

场景多参考图合成

概览

除非提示词另有说明,参考图会把其中展示的一切都带入画面:给模型一张浣熊厨师的风格参考图,浣熊就会走进场景。解决办法是让每张图恰好只承担一项任务,然后逐一说明每张图中哪些内容不能借用。四五张图各提供一个点子(一幅画、一张照片、一个人体模型、一帧电影画面、一块色卡),合成为一张图,保留每张图各自的贡献,不带入其他内容。连接和生成循环:参见 scenario 技能。各模型系列的参考图上限和语法:scenario-image 列出了图像模型系列技能。让同一主体贯穿多张图:scenario-consistency。让结果动起来:scenario-video。拒绝处理:scenario-moderation。如果你的可用技能中缺少这里提到的同级技能,请让用户安装该技能 (npx skills add scenario-labs/skills --skill <name>);若无人值守,则根据工具架构继续操作,并标明这一缺口。

快速参考

任务图片提供的内容典型的“不要”说明
主体(WHO)角色、产品“只采用壁虎这个点子。不要照搬照片中的颜色。”
场景(WHERE)地点“若媒介不同,则重绘为木刻风格建筑”
姿势身体姿势“不要展示人体模型或任何木头。”
角度摄像机“不要包含灯塔。”
风格媒介、渲染效果、纹理“不要包含浣熊、厨房、围裙或锅。”
光线仅光线“不要包含鲜花或花瓶。”
配色唯一允许使用的颜色“任何地方都不要出现绿色。”
材质表面“不要展示任何鱼、鱼鳍或水。”
表情面部情绪“不要出现人类皮肤、鼻子、耳朵或头发。”
穿戴衣物或盔甲“猫自己的脸要保持可见;不要戴人脸面具。”
灵感设计点子,而不是该事物本身“以这只水母为灵感设计一件礼服。不要展示水母。”
布局网格和构图“不要照抄 MONDAY 这个词。”

提示词,每张图占一行(保留的提示词将主体验和场景写作 WHO 和 WHERE):

<One sentence naming the medium.> Each reference picture has exactly one job:
Image N (<what it shows>) = <JOB> only. <What it lends, concretely.> Do not <what to leave out>.
...
<Framing: shot size, placement, mood, text rules.>

行之有效的规则

  • 每张图片只承担一项任务。 一张卡片承担两项任务(主体加配色),两者都会变得模糊。某张卡片虽保留在调用中却未使用时,应注明“Image 4 = no job: ignore it completely.”
  • 一个主要主体。 一次生成中出现两个主体会分散注意力;请按照 scenario-consistency 来构图。
  • 最容易被忽略的任务要放在最前面,通常是风格,并注明“This is the most important job”。有一次,黏土场景生成了镀铬 CG 效果,直到把风格说明移到最前面才解决。
  • 具体说明借鉴之处。 “Copy its 3D render look, soft materials, warm bounce light” 比 “use its style” 更有效。配色任务要逐一说明各元素的颜色(“the gecko is Prussian blue with vermilion spots”);只写 “palette only” 几乎不会改变配色。
  • 解决不同任务之间的冲突。 每张图片携带的信息不止它对应的任务,因此风格卡片会带有自身的颜色,主体照片也会带有自身的毛色。使用配色卡片时,风格说明中要加上“do not copy its colors”,并根据色卡说明主体的颜色。如果重新配色会影响用户在意的对象(比如他们的狗或产品),请先征求同意;在无人值守的情况下,遵循任务说明,否则保留主体自身的颜色,并报告冲突。
  • 只取灵感,不照搬。 如果不能照搬主体照片,请注明:“Use only the idea of a gecko ... Do not copy the photo's pose, lighting, colors or realism.”
  • 文字要逐字引用,并注明“No extra words, no duplicate text”;需要字字精准的文字复制应使用 scenario-text-overlay。
  • 卡片内容简洁。 使用纯色背景,不要出现可读的标识或徽标。最好使用用户自己的图片;缺少卡片时,用文生图生成,一张卡片只包含一个创意。

演示示例:蜡笔画变成电影剧照

卡片:孩子画的蜡笔怪兽(主体)、一张后院照片(场景)、一个正在跳跃的木制人体模型(姿势)、一张 3D 动画电影中的浣熊厨师剧照(风格)。

  1. 对每张卡片调用 upload_asset,然后调用 upload_asset_complete(见 scenario)。按编号顺序保存资源 ID。
  2. 使用 capability="img2img"、features=["referenceImages"] 调用 recommend(只保留暴露该确切字段的成员;去掉它即可查看用不同名称表示该槽位的成员),并将用户自己的措辞作为 prompt。按照 scenario 的指示处理 next_step。
  3. 对选中的模型调用 model_schema_get。查看:参考图字段的上限(在编写本文时,靠前的成员支持四到五张卡片,部分成员最多支持十张)、array: true、描述中关于提示词如何指代参考图的说明(按顺序称为“Image 1”,或在某些系列中使用 @Image1 等标签)、尺寸类别和质量等级。如果架构为某项任务提供了专用槽位(风格参考字段、姿势控制),就将对应卡片放入该槽位,而不是参考图数组中(scenario-consistency),并查看字段描述,了解提示词如何指代它,因为提示词编号遵循数组顺序。
  4. 使用架构中的字段名称调用 model_run,并设置 dry_run=true(位于顶层,与 model_id 并列,绝不能放在 parameters 中),例如: parameters={"prompt": "<below>", "referenceImages": ["asset_monster", "asset_yard", "asset_mannequin", "asset_raccoon"], "quality": "high"} 再加上尺寸字段。向用户报出总价、任何仍需生成的卡片,以及用户需要影片时包含影片的报价(dry run 会拒绝缺少必需图像的请求,因此应使用已上传的任意图片报价;如果还没有卡片,则使用小型替代图),并且在用户同意前不要执行任何收费操作(无人值守时,仅当任务明确给出预算且报价在预算内才启动;否则停止并报告报价)。之后使用同一调用并设置 wait=false,再调用 jobs_wait 和 asset_display。
A still frame from a 3D animated family feature film. Each reference picture has exactly one job:
Image 1 (child's crayon drawing) = WHO. Turn this crayon monster into a soft, plush 3D animated character: round purple body, three uneven eyes, spiky green hair, tiny orange legs, big toothy smile. Keep its lopsided, hand-drawn charm.
Image 2 (backyard photo) = WHERE. Use this exact backyard: lawn, wooden fence, red hose, blue kiddie pool, swing set, lemon tree.
Image 3 (wooden mannequin) = POSE only. The monster leaps mid-air with both arms thrown up and one knee raised, exactly like the mannequin. Do not show the mannequin or any wood.
Image 4 (raccoon chef frame) = STYLE only. Copy its 3D render look, soft materials, warm bounce light and rich color. Do not include the raccoon, the kitchen, the apron or the pot.
Wide shot, the monster in the center above the lawn, afternoon sun, joyful.
  1. 检查每张图片是否有泄漏(见下文)。如有问题,收紧该图片对应的描述并重新运行,绝不要通过修图来解决。
  2. 要为它添加动画,将结果作为首帧交给 scenario-video。影片提示词不包含任何任务,只描述动作、镜头和声音:首帧已经包含了所有任务。

另有七条保留提示词,涵盖黏土动画、产品广告、木刻版画、时尚编辑大片、像素艺术、移轴微缩模型和孔版印刷海报,每条都附有影片提示词: references/prompt-patterns.md。

保留前检查泄漏

对每张图片,问两个问题:是否看得出它的任务?是否还看得出它的其他内容?

  • 姿势和角度:不要出现人体模型、木头或草图中的道具。
  • 风格:不要出现风格参考图自身的主体、场景或物体。
  • 表情:只改变情绪,不改变面部特征(不要让烤面包机长出人类鼻子或皮肤)。
  • 布局:改变网格,不要保留参考图自身的文字。
  • 调色板:不要出现色卡之外的颜色。

如果某项任务被忽略,在改写描述前先调用 asset_get 检查输出:metadata.referenceImages 会列出本次运行使用的参考图;如果架构要求 array: true,但参考图以裸字符串形式传入,它就会被静默丢弃,因此无论如何措辞都无法让它恢复原本的作用。

常见错误

  • 主体照搬了照片。 一张绿色壁虎的照片生成后,变成了木刻版画中的同一只绿色壁虎。把风格放在首位,使用“仅借鉴……的创意”,并严格限定配色。
  • 意外生成了标志。 生成的广告牌上出现红、白、蓝色的旋涡图案,看起来像汽水品牌:图生视频模型拒绝了该画面,图像编辑器随后也拒绝将其作为输入。说明广告牌和标牌上展示的内容(波浪、云朵、鹤)。
  • 参考图中包含品牌。 一张带有真实店铺招牌的街景照片被拒绝作为参考图。用“虚构招牌、空白无字、无标志”重新生成卡片。
  • 提示词中点名受保护的设计。 直接点名一把知名椅子后,提示词被拒绝。改为描述原创设计。
  • 服装被安全过滤器拦截。 一件半透明长袍被拒绝;使用“无透明感、完全遮盖、高领”后则通过了审核。
  • 影片中出现偏移。 吉他在片段中途改变了颜色。要求画面“几乎静止”,列出哪些内容不得改变,并只移动需要移动的部分。
  • 将模型 ID 或价格写死。 使用 recommend 发现模型,通过 model_schema_get 读取能力,并使用 dry_run=true 获取价格。

评论

支持 Markdown