mcpField
S
scenario-seedream

scenario-seedream

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

关于 scenario-seedream

scenario-seedream 是面向图像创作者的 Scenario 技能,涵盖 Seedream 图像生成、参考图编辑及 Layerize 图层拆分。它提醒各模型成员参数不同,并提供透明背景、图中文字和图层处理指导。

主要功能

  1. 01文本生成图像
  2. 02使用一个或多个参考图编辑或生成
  3. 03生成关联图像序列
  4. 04将图像拆分为透明图层
  5. 05保留符合条件参考图的透明通道

适用场景

  1. 01根据提示词制作含精确文案的海报
  2. 02用参考图生成或修改图像
  3. 03把完成的图像拆成可编辑图层
  4. 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 ProreferenceImages,最多 10 张精确的 width 和 height,672 至 3136 px,步长为 16图像内文字精确;提示词上限 3500 个字符
5.0 LitereferenceImages,最多 14 张width 和 height,最高 4K快速且便宜;提示词上限 2048 个字符
5.0 FlashreferenceImages,最多 10 张精确的 width 和 height,672 至 3136 px,步长为 16最便宜;background 可保留参考图的 alpha
4.5referenceImagessize(2K、4K)加 aspectRatio 枚举编辑时保留主体;比例为 "auto" 时沿用源图
5.0 Pro Layerize一张必需的 imagesize 档位:auto、1K、1.5K、2K只拆分,不生成;提示词可选
5.0 Flash Layerize一张必需的 imagesize 档位: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。

实例:先制作海报,再拆分图层

  1. 使用 search,设置 target="models"、query="seedream"、public=true。优先选择适合此任务的最新非弃用结果,例如 model_bytedance-seedream-5-0-pro(撰写时可用的结果;每次会话都要重新发现)。
  2. 使用该 ID 调用 model_schema_get:查看尺寸字段、上限和默认值。
  3. 使用该 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}; 两个尺寸字段都会影响价格。
  4. 使用 wait=false 重新调用 model_run,然后使用返回的作业 ID 调用 jobs_wait;如果超时,则通过 pending_job_ids 再次调用 jobs_wait,绝不要第二次调用 model_run。
  5. 使用 asset_display 并校对渲染后的文本。
  6. 对 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"}。
  7. 调用 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:该设置会被静默忽略,返回的图像仍然不透明。

评论

支持 Markdown