关于 scenario-seedream
scenario-seedream 是面向图像创作者的 Scenario 技能,涵盖 Seedream 图像生成、参考图编辑及 Layerize 图层拆分。它提醒各模型成员参数不同,并提供透明背景、图中文字和图层处理指导。
主要功能
- 01文本生成图像
- 02使用一个或多个参考图编辑或生成
- 03生成关联图像序列
- 04将图像拆分为透明图层
- 05保留符合条件参考图的透明通道
适用场景
- 01根据提示词制作含精确文案的海报
- 02用参考图生成或修改图像
- 03把完成的图像拆成可编辑图层
- 04对透明 PNG 素材进行重绘或改色
MCP 相关
该技能说明通过 Scenario 技能连接并使用模型工具,包括搜索模型、读取架构、运行任务及等待结果;它本身不是 MCP 服务。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-seedream安装后在 Claude Code 中输入/scenario-seedream确认已加载。
详细介绍
Scenario Seedream Images
概述
Scenario 上的 Seedream 图像系列涵盖图像生成、参考图驱动的编辑,以及一个只拆解图像的成员:Layerize 可将成品图像拆分为可编辑图层。这些成员的其他特性差异很大,因此请使用 search 发现它们,并在每次运行前阅读 model_schema_get。
连接和核心循环:参见 scenario 技能;与模型无关的图像处理:参见 scenario-image 技能。如果此处提到的同级技能不在你可用的技能中,请让用户安装(npx skills add scenario-labs/skills --skill <name>);若需无人值守地继续,请依据工具架构操作,并指出这一缺失。
快速参考
编写时(字段和上限因成员而异,请读取实时架构):
| 成员 | 参考图 | 尺寸 | 备注 |
|---|---|---|---|
| 5.0 Pro | referenceImages,最多 10 张 | 精确的 width 和 height,672 至 3136 px,步长为 16 | 图像内文字精确;提示词上限 3500 个字符 |
| 5.0 Lite | referenceImages,最多 14 张 | width 和 height,最高 4K | 快速且便宜;提示词上限 2048 个字符 |
| 5.0 Flash | referenceImages,最多 10 张 | 精确的 width 和 height,672 至 3136 px,步长为 16 | 最便宜;background 可保留参考图的 alpha |
| 4.5 | referenceImages | size(2K、4K)加 aspectRatio 枚举 | 编辑时保留主体;比例为 "auto" 时沿用源图 |
| 5.0 Pro Layerize | 一张必需的 image | size 档位:auto、1K、1.5K、2K | 只拆分,不生成;提示词可选 |
| 5.0 Flash Layerize | 一张必需的 image | size 档位:auto、1K、1.5K、2K | 合同相同,但没有 optimizePromptMode |
对于生成模型,模式由输入决定:空的 referenceImages 表示文生图;一个或多个参考图表示编辑或多参考图生成(多个参考图时,提示词按位置为每张参考图指定作用),即使只有一个资源,数组结构也保持不变。序列模式(sequentialImageGeneration: "auto" 加 maxImages)允许 Lite 和 4.5 在一次运行中返回一组相关图像,输入图像加生成图像最多 15 张;Pro 没有序列字段。每张图像的价格差异很大:编写时,2048 px 的正方形图像在 Flash 上报价为 4 CU、在 Lite 上为 6 CU、在 Pro 上为 18 CU;Pro 耗时约两分钟,而其他成员不到一分钟。因此,请先用较便宜的成员迭代,最终成品再使用 Pro;批量运行前,两者都要先执行 dry_run(估价会精确按照提交的运行内容计算,包括整个序列)。Pro 和 Pro Layerize 都带有 optimizePromptMode:默认的 standard 会先分析提示词,因此速度较慢;fast 费用相同,而且当参考图已确定构图时通常就够用(在 Layerize 上,它会牺牲部分拆分保真度以换取速度)。Flash 的架构说明 width 和 height 仅在 Resolution 为 Custom 时适用,但 Flash 没有 Resolution 字段:像素尺寸会直接生效。
保持透明素材的透明度
Flash 的 background: "transparent" 会在编辑过程中保留 alpha 通道;它不会把主体抠出来。
它保留的是透明背景,而不是主体内部的半透明效果:在一次创作时测试中,alpha 为 170 的玻璃变得几乎不透明,因此应在后期合成半透明部分。该字段默认为 opaque,所以未设置此字段的重绘会压平有效的抠图结果:每次需要保持透明时都要设置它。只有在恰好有一张本身带 alpha 通道的参考图时才会生效,否则会被忽略:纯文本运行、已压平的 JPEG 参考图或两张参考图都会在没有报错的情况下返回不透明结果。因此,可在 Flash 上重绘或重新着色现有抠图素材(精灵图、图标、道具),并将 PNG 作为唯一参考图;发布前要检查下载文件的 alpha 通道,因为 asset_display 会合成掉透明度:使用 Pillow(若缺少,可运行 uv run --with pillow),Image.open(path).getchannel("A").getextrema() 的起始值应为 0(表示存在完全透明的像素);没有 A 通道的图像则已被压平。若要首次抠图,可在纯色背景上生成图像并移除背景(使用 scenario-image-editing 技能),或使用 Layerize 拆分图像。
在提示词中写出确切文案
Pro 可以清晰地渲染图像内文字,包括多行排版和非拉丁文字。请在提示词中引用确切字符串,而不要改述;为每段文字指定位置和字号等级(标题横跨顶部,日期行小字置于底部),并将元素数量控制在少数、字号控制在一到两种:文字是绘制出来的,而非排版出来的,因此段落和许多小标签会变成图形;超出此范围的文案(巡演日期、制作人员名单)应从一开始就通过后期合成。使用 asset_display 校对;若某个词渲染错乱,在重新运行时于引用的字符串后逐字母拼出该词;若仍然错乱,则交由后期处理。若要替换参考图中的文案,请引用新字符串,固定其位置,并要求其他内容保持不变,包括原有字体、字号和颜色。
Layerize:输入一张图像,输出可编辑图层堆栈
Layerize 会返回一个底图以及最多 16 个透明 PNG 抠图,并重建被提取内容后方的背景。提示词决定模式:留空会进行全自动拆分;列出各个部分(“将这张海报拆分为透明图层:标题、产品、阴影、背景”)比“所有图层”拆分效果更好;在 0 到 1000 的网格上使用 <bbox>x1 y1 x2 y2</bbox>(原点在左上角),可将拆分范围限制在一个区域。请明确设置 size,因为自动模式会继承源图像的档位,而档位会影响价格;除此之外,费用按每次运行固定收取,不按图层数计费。返回的图层会按各自边界裁剪,并附带 bbox 和 z-index 元数据,不会与源画布对齐;也不支持导出 PSD。
实例:先制作海报,再拆分图层
- 使用
search,设置target="models"、query="seedream"、public=true。优先选择适合此任务的最新非弃用结果,例如model_bytedance-seedream-5-0-pro(撰写时可用的结果;每次会话都要重新发现)。 - 使用该 ID 调用
model_schema_get:查看尺寸字段、上限和默认值。 - 使用该 ID 调用
model_run,设置dry_run=true和parameters={"prompt": "Concert poster, teal and cream, screen-print grain. Headline \"MIDNIGHT ORBIT\" across the top, date line \"Nov 14, Union Hall\" small at the foot.", "width": 1600, "height": 2368}; 两个尺寸字段都会影响价格。 - 使用
wait=false重新调用model_run,然后使用返回的作业 ID 调用jobs_wait;如果超时,则通过pending_job_ids再次调用jobs_wait,绝不要第二次调用model_run。 - 使用
asset_display并校对渲染后的文本。 - 对 Layerize 的结果调用
model_schema_get,然后使用该 ID 调用model_run,并设置parameters={"image": "<poster asset id>", "prompt": "Separate this poster into transparent layers: the headline text, the date line, and the background. Clean edges, complete transparency.", "size": "2K"}。 - 调用
jobs_wait,然后使用asset_display查看每个图层,并使用asset_download下载要保留的图层。
常见错误
- 将一个成员的参数块用于另一个成员:在 Pro 和 Lite 上使用像素尺寸,在 4.5 和 Layerize 上使用等级枚举;向枚举字段传入像素尺寸会被拒绝。
- 向 Layerize 传入
referenceImages,或向生成器传入image:各成员的输入字段名称和结构不同。 - 认为 Layerize 的图层可以直接叠加到源图上:每个图层都会裁剪到自身边界,因此要根据返回的元数据重新定位。
- 要求 Pro 生成序列:序列字段仅在 Lite 和 4.5 上提供。
- 将 3000 个字符的提示词从 Pro 移到 Lite:每个成员的提示词长度上限不同。
- 在纯文本运行或扁平化参考图中,将 Flash 的
background设为transparent:该设置会被静默忽略,返回的图像仍然不透明。