mcpField
S
scenario-seedream

scenario-seedream

github.com/scenario-labsクリエイティブ・メディア1.2k402 回インストール1 日前に更新
リポジトリ

scenario-seedream について

scenario-seedreamは、Seedreamによる画像生成、参照画像を使った編集、Layerizeによる画像分割を扱うScenarioスキルです。モデルごとのスキーマの違いに触れ、透明度、画像内テキスト、レイヤーの扱い方を説明します。

主な機能

  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 の画像

概要

Scenario の ByteDance 製画像モデルファミリーである 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 px刻み画像内のテキストを正確に再現、プロンプトは3500文字
5.0 LitereferenceImages、最大14枚width と height、最大4K高速かつ低コスト、プロンプトは2048文字
5.0 FlashreferenceImages、最大10枚正確な width と height、672~3136 px、16 px刻み最も低コスト、background で参照画像のアルファを維持
4.5referenceImagessize(2K、4K)と aspectRatio 列挙型被写体を維持した編集、比率を "auto" にすると元画像に合わせる
5.0 Pro Layerizeimage 1枚、必須size の段階:auto、1K、1.5K、2K分割のみで生成は行わない、プロンプトは任意
5.0 Flash Layerizeimage 1枚、必須size の段階:auto、1K、1.5K、2KoptimizePromptMode を除き、同じ仕様

生成モデルでは、入力に応じてモードが決まります。referenceImages が空の場合はテキストから画像を生成し、1枚以上ある場合は編集または複数参照画像による生成になります(複数枚を指定する場合、プロンプト内で各参照画像の役割を順番で示します)。アセットが1つの場合でも、配列の形式は変わりません。シーケンスモード(sequentialImageGeneration: "auto" と maxImages)を使うと、Lite と 4.5 は1回の実行で関連する画像セットを返せます。入力画像と生成画像を合わせた上限は15枚です。Pro にはシーケンス用のフィールドがありません。画像1枚あたりの価格は大きく異なります。作成時点では、2048 pxの正方形画像は Flash が4 CU、Lite が6 CU、Pro が18 CUでした。また、Pro の所要時間は約2分で、他の2モデルは1分未満でした。そのため、低コストのメンバーで試行錯誤し、最終版には Pro を使ってください。一括実行の前に両方とも dry_run を行ってください(見積もりでは、実際に送信した内容に基づいて正確に料金が算出され、シーケンス全体も含まれます)。Pro と Pro Layerize には optimizePromptMode があります。既定の standard はプロンプトを先に分析するため、処理が遅くなります。fast は料金が変わらず、参照画像で構図がすでに決まっている場合は通常これで十分です(Layerize では、速度と引き換えに分割の忠実度がやや低下します)。Flash のスキーマには、width と height は Resolution が Custom の場合にのみ適用されると記載されていますが、Flash には Resolution フィールドがありません。ピクセル数の指定はそのまま適用されます。

透明なアセットの透明性を保つ

Flash の background: "transparent" は編集後もアルファチャンネルを保持しますが、被写体を切り抜く機能ではありません。 透明な周囲は保持しますが、被写体内部の半透明性は保持しません。制作時のあるテストでは、アルファ値 170 のガラスがほぼ不透明になって戻ってきたため、半透明部分は後処理で合成してください。このフィールドのデフォルト値は opaque なので、省略してスタイルを変更すると、有効な切り抜き画像が平坦化されます。透明性を維持する必要がある実行では、毎回設定してください。この機能が適用されるのは、アルファチャンネルを持つ参照画像を正確に 1 枚指定した場合のみで、それ以外では無視されます。テキストのみの実行、平坦化された JPEG の参照画像、または参照画像を 2 枚指定した場合は、エラーなしで不透明な画像が返ってきます。そのため、Flash で既存の切り抜き画像(スプライト、アイコン、小道具)をスタイル変更または色変更する際は、PNG を 1 枚だけ参照画像として指定してください。また、asset_display は透明部分を合成してしまうため、出荷前にダウンロードしたファイルのアルファ値を確認してください。Pillow(インストールされていない場合は uv run --with pillow)を使い、Image.open(path).getchannel("A").getextrema() の値の最小値が 0(完全に透明なピクセルがある状態)であることを確認してください。A チャンネルがない画像は平坦化されています。最初に切り抜き画像を作成するには、単色の背景で生成してから背景を削除する(scenario-image-editing スキル)か、Layerize で画像を分割してください。

正確なコピーをプロンプトに記述する

Pro は、複数行のレイアウトやラテン文字以外の文字を含め、画像内のテキストを読みやすく描画します。言い換えずに、正確な文字列をプロンプト内で引用し、それぞれの位置とサイズの優先度(上部に大きく見出し、下部に小さく日付など)を指定してください。また、1~2 種類のサイズで、要素は数個にとどめてください。文字は組版されるのではなく描画されるため、段落や小さなラベルが多いと図形のようになり、予算を超えるコピー(ツアー日程、クレジットなど)は最初から後処理で合成します。asset_display で校正してください。文字化けした単語は、再実行時に引用した文字列の後へ 1 文字ずつ綴りを追加し、それでも文字化けする場合は後処理に回してください。参照画像のコピーを差し替えるには、新しい文字列を引用し、その位置を固定して、それ以外はすべて変更せず、元の書体、サイズ、色を維持するよう指定してください。

Layerize:画像 1 枚から編集可能なレイヤーを生成

Layerize は、ベースレイヤーと最大 16 枚の透明な PNG 切り抜きを返し、切り出した部分の背後にある背景を再構築します。プロンプトでモードを選択します。空欄なら完全自動で分割し、パーツを列挙したリスト(「このポスターを透明なレイヤーに分割:見出し、製品、影、背景」)を指定すると、「すべてのレイヤー」より適切に切り分けられます。左上を原点とする 0~1000 のグリッド上で <bbox>x1 y1 x2 y2</bbox> を指定すると、分割範囲を 1 つの領域に限定できます。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 を指定して再度呼び出し、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 のみです。
  • Pro 用の 3000 文字のプロンプトを Lite に移すこと:プロンプトの上限はメンバーごとに異なります。
  • テキストのみの実行やフラット化された参照画像で、Flash の background に transparent を設定すること:設定は無視され、画像は不透明な状態で返されます。

コメント