关于 scenario-gpt-image
scenario-gpt-image 是一项技能,可在 Scenario 上使用 OpenAI 的 GPT Image 模型生成和编辑图像。它指导如何选择模型及设置参考图、局部重绘、尺寸、质量和保真度参数。
主要功能
- 01通过提示词生成和编辑图像
- 02使用参考图与蒙版
- 03选择不同 GPT Image 模型
- 04设置尺寸与宽高比
- 05通过 dry_run 估算成本
适用场景
- 01制作图像草稿和最终素材
- 02通过局部重绘修改指定区域
- 03生成透明背景抠图
- 04保留或重新诠释参考图
MCP 相关
它使用 Scenario MCP 工具发现模型、查看 schema、上传参考图、运行图像任务并获取结果。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-gpt-image安装后在 Claude Code 中输入/scenario-gpt-image确认已加载。
详细介绍
Scenario GPT Image
概述
Scenario 上的 OpenAI 图像系列 GPT Image 的每个成员,都通过同一个
prompt 进行生成和编辑;referenceImages 用于传入要编辑的图像,另可使用 alpha mask 进行
局部重绘。撰写本文时,有四个成员可用:GPT Image 2.5 Flare(快速,适合日常使用)、GPT
Image 2.5 Sunburst(精准,适合密集文案、图表以及必须保持几何结构的编辑)、GPT Image 2
和 GPT Image 1.5;后者是唯一提供保真度调节和比例尺寸的成员。通过 search 查找成员,
并将 model_schema_get 视为接口约定:整个系列都支持 prompt 和参考图像,但在尺寸、质量等级和保真度方面各有不同。
关于连接和核心循环,请参阅本仓库中的 scenario 技能;关于模型无关的图像工作,请参阅
scenario-image 技能。如果这里提到的同级技能不在你的可用技能中,请让用户安装它(npx skills add scenario-labs/skills --skill <name>);如需无人值守地继续,请根据工具架构操作,并指出这一缺失。
快速参考
撰写本文时的共享参数:prompt(必填,最多 32000 个字符)、referenceImages(即使只有一张也必须是数组,最多 10 张)、numOutputs(为同一个 prompt 生成 1 到 10 个变体)、quality 和 background(所有成员均支持 auto 和 opaque;除 GPT Image 2 外的成员均支持 transparent)。差异如下:
| 接口约定 | 2.5 Flare 和 Sunburst | GPT Image 2 | GPT Image 1.5 |
|---|---|---|---|
| 尺寸 | width 和 height,16 至 3840 px | 相同 | aspectRatio:auto、1:1、3:2、2:3 |
| 局部重绘 | mask PNG | mask PNG | 无 mask 字段 |
quality | auto、low、medium、high、xhigh、max | auto、low、medium、high | high、medium、low(默认 high) |
| 源图保真度 | 仅通过 prompt 措辞控制 | 仅通过 prompt 措辞控制 | inputFidelity:high 锁定,low 重新处理 |
路由选择:Flare 和 Sunburst 共用一套接口约定和价格表,因此选择时需权衡速度与质量。OpenAI 将
Flare 描述为一款小型模型,专为速度而设计,图像质量与 GPT Image 2 相当;将 Sunburst 描述为基础模型,图像质量优于 GPT Image 2:日常工作选 Flare;准确性比速度更重要时(如包装文案、密集数字、分解图,以及需要保持几何结构的编辑)选 Sunburst。GPT Image 2 的接口约定与 2.5 相同,但少了两个最高等级;其 high 定价与 2.5 的 max 相同,因此新任务应从 2.5 开始。GPT Image 1.5 适用于 inputFidelity: "low",可重新处理参考图像,而不是照搬它(只有前五张参考图像会保持较高保真度);它还支持 3:2 或 2:3 输出,无需计算像素尺寸。透明抠图应选择 2.5 系列成员:GPT Image 2 不接受该值;而 1.5 主打保真度和比例,并非抠图。
质量是价格调节盘
quality 对价格的影响大于尺寸,而且同一个选项在不同成员上的价格并不相同。在撰写本文时,两个 2.5 成员对 1024 的正方形图像按 low、medium、high、xhigh 和 max 档位分别定价为 2、3、12、20 和 45 CU;GPT Image 2 的 low、medium 和 high 档位分别定价为 2、12 和 45;三个成员的 auto 都解析为 12;Flare 上一次 3840×2160 的 max 运行耗费了 69 CU。对你将要运行的成员设置 dry_run=true,并读取 creativeUnitsCost;referenceImages、numOutputs、quality 和尺寸设置都会影响 cost_impact,因此每次更改后都要重新估价。即使使用 dry run,GPT Image 2 上的 xhigh 或 max 也会返回 400(“Input quality must be one of the following values”)。档位选择:草稿用 low,日常成品用 medium,必须保证小字或图例清晰易读时用 high;只有当低一档在你的延迟预算内无法满足某项具体要求时,才用 xhigh 或 max:更高档位并不保证对每个提示词都能带来更好的结果。
像素成员的尺寸遵循 OpenAI 发布的网格:每个轴的尺寸都是 16 的倍数,长边至多为 3840,宽高比介于 1:3 和 3:1 之间,总像素数介于 655,360 和 8,294,400 之间;高于 2560×1440 的尺寸为实验性功能。Schema 只强制执行 16 的步进范围,且 dry_run 会对任何请求报价,因此请自行遵守此网格:不符合网格的请求仍会成功,但返回的尺寸会有所不同,且不会报错。在撰写本文时,3840×960 和 3840×480 都返回了 3840×1280(限制为 3:1);960×3840 返回了 1280×3840;1000×1000 返回了 992×992;Sunburst 上的 3840×3840 返回了 2880×2880,而 Flare 在提交时拒绝了该请求(“Error while running prediction”)。常见选择:1024×1024(最快)、1536×1024、1024×1536、4K 用 3840×2160、真正的 21:9 用 2560×1088。
宽高比超出 1:3 到 3:1 范围的编辑源会被填充,而不是裁切:一张 1326×313(4.24:1)的源图在两个 2.5 成员上都返回了约 2132×738 的图像,上下白边约占画面的三分之一;即使输入源图尺寸,也会返回 1408×480,并以相同方式填充。每次运行后,都要从 asset_get 读取 width 和 height。如果编辑后的文件必须保持原始画布尺寸,请裁掉结果中的边带,或将编辑路由到会保留源图尺寸的成员(参见 scenario-ideogram)。
蒙版和透明度
mask 是一张与第一张参考图尺寸相同的 PNG,只通过其 alpha 通道读取:透明像素会被编辑,不透明像素会保留;没有 alpha 时,RGB 白色或黑色会被忽略。导出时保留透明度,切勿扁平化,并将白底黑字蒙版中的白色区域转换为透明。OpenAI 将蒙版视为指导,而非硬性边界:如果某个区域必须保持像素级一致,请将获准的编辑结果合成回原图。
background: "transparent" 在 2.5 Flare 和 Sunburst 的所有档位都会返回真正的 alpha;GPT Image 2 会拒绝此设置。在撰写本文时,对 2.5 成员有两点观察:alpha 峰值为 254,而非 255,因此检查完全不透明像素时会把整个主体识别为半透明;透明像素下方的颜色数据带有光晕,因此任何会丢弃 alpha 的表面(JPEG 扁平化、无透明度的缩略图、在黑色背景上合成的查看器)都会让抠图边缘发亮。在白色背景或棋盘格背景上则很干净。提示词中应要求干净抠图、轮廓清晰、边缘细致、保留标签文字、无光晕、不重新设计,然后检查头发、玻璃、阴影和物体边缘处的 alpha 通道。所有环节都应保留 PNG 或 WebP 及其 alpha 通道,包括预览和下载。
提示词撰写方式
位置就是权重:提示词开头依次写风格、媒介、主体和情绪,然后用自然句子而非标签列表描述场景、细节、光线和文字。说明预期用途(广告、UI 模型图、信息图、主视觉),以确定精细程度。若追求照片级真实感,请写上“photorealistic”并指出具体纹理(毛孔、织物磨损、材料纹理);若画面中有人物,请描述取景、视线和手部动作。详细的需求说明会被规范化,而非加以润色:只补充过于笼统的提示词,绝不添加需求中未暗示的人物、品牌、标语或左右位置。大约超过 7 项不同要求后,部分要求可能会悄然遗漏,因此先构建简洁的基础版本,再通过每次编辑进行一项有针对性的修改,并将上一次的输出作为下一次的参考。
编辑时,请说明“只修改 X”,列出必须保留的内容,并在每次迭代时重复这份列表;未提及的内容都可能发生变化。并非每张输入图片都用于编辑:作为风格或情绪参考提供的图片,会让本次运行成为带参考图的生成任务。请按索引为每张参考图指定用途(“图片 1 是产品,图片 2 是调色板”);未指定用途的参考图会混在一起。numOutputs 会根据同一个提示词生成多个变体,适合为同一份需求制作版式草稿;不同主体则需要分别运行。
图片中的文字:引用准确文案,逐字拼写容易出错的单词,说明布局(每个元素所在区域、相对其他元素的大小层级、哪些区域保持留白),注明字体粗细和大小写形式,说明文案出现的次数,并附上“no extra words, no duplicate text”。若提示词中提及公众人物,系统会拒绝;请改为描述一种原型。复杂提示词可能需要约 2 分钟才能运行:请等待 jobs_wait,不要重新运行任务。
实例:带标题文字的产品主视觉
- 使用
target="models"、query="gpt image"、public=true调用search。请阅读模型名称,而不是只看排名:新成员的使用时间较短,排名会低于 GPT Image 2。标题文字适合用 Sunburst,例如model_openai-gpt-image-2-5-sunburst(撰写本文时查询到的一个可用结果:每次会话都应重新发现)。 - 使用该 ID 调用
model_schema_get:先查看quality的允许值、尺寸范围、是否支持遮罩以及默认值。 - 使用
upload_asset上传产品照片(参见scenario技能),获取其资源 ID。 - 使用该
model_id调用model_run,设置dry_run=true,并传入parameters={"prompt": "Editorial product photography, soft daylight. The exact bottle from image 1 on brushed concrete, label, shape, and color preserved. Headline \"DRINK GREEN\" in bold sans-serif, centered, appears once, no extra words, no duplicate text.", "referenceImages": ["asset_x"], "width": 1536, "height": 1024, "quality": "low", "numOutputs": 3}以查看草稿价格;然后使用wait=false运行,并对返回的任务 ID 调用jobs_wait。超时时,使用pending_job_ids再次调用jobs_wait,绝不要再次调用model_run。 - 使用
asset_display查看 3 个草稿并选定构图。按照步骤 4 再运行一次,使用该提示词并设置quality: "high"、numOutputs: 1,先设置dry_run=true:档位变化会影响价格。 - 使用
asset_display查看最终结果,并在批量生成前校对渲染出的文字;使用asset_download保存。
常见错误
- 将
xhigh或max用于 GPT Image 2 或 1.5:验证时会返回 400 错误;请查看各模型的 schema,确认允许值。 - 使用 GPT Image 2 生成抠图:它不接受
background: "transparent";请改用 2.5 Flare 或 Sunburst(1.5 是注重保真度和比例的成员)。 - 在不同模型之间沿用尺寸参数:2 和 2.5 使用
width/height,1.5 使用aspectRatio,两者不可同时使用。 - 盲目信任请求的尺寸:若宽高比超过 3:1、像素数超过 8,294,400,或尺寸不符合 16 像素网格,任务会以不同尺寸成功;过宽的编辑源图还会出现白边。
- 使用 1.5 时,若希望重新诠释图像,却仍将
inputFidelity保持在较高默认值:请将其调低,并重新调用dry_run。