layer-workflow-import について
Layer Workflow Import は、既存のワークフローを Layer のノードグラフに変換し、非公開でインポートするスキルです。他のツールのワークフローを再構築する際に、検証と実行確認も行います。
主な機能
- 01元の手順を Layer ノードに対応付け
- 02ノード種別とスキーマを確認
- 03インポート前にグラフを検証
- 04ワークフローを非公開でインポート
- 05サンプルを実行して結果を確認
活用シーン
- 01ノードグラフからワークフローを再構築
- 02ワークフローを Layer ノードに変換
- 03インポートしたワークフローを検証・テスト
MCP 対応
このスキルは get_blueprint_system_config や import_workflow などの Layer ツールを使い、グラフの作成、検証、インポートを行います。インポートしたワークフローは既定で非公開です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ layerai/ skills --skill layer-workflow-importインストール後、Claude Code で/layer-workflow-importを入力して読み込まれたか確認します。
同梱ファイルreferences/sources.md
詳細
Layer ワークフローのインポート
概要
ソースの動作を読み取り、Layer のノード種別で再構築して、グラフ全体を
import_workflow に渡します。結果は常に非公開です。共有は Layer アプリで別途行います。
すでに存在するワークフローを実行するには、layer-workflows を使用してください。料金の上限と
ポーリングのルールは layer スキルに記載されています。
ここで名前が挙げられている関連スキルが利用可能なスキルにない場合は、ユーザーにインストールを依頼してください
(npx skills add layerai/skills --skill <name>)。無人で進める場合は、ツールのスキーマをもとに作業し、
不足しているスキルについて明記してください。
ノードではなく意図を変換する
ほかのツールは仕組みを公開しますが、Layer が公開するのはタスクです。低レベルのテキストから画像を生成するグラフは、モデル ローダー、プロンプトごとのテキストエンコーダー、空の潜在表現、サンプラー、デコーダーで構成されます。Layer では、これは 1 つの生成ノードです。何が入力され、各ステップで何が行われ、何が出力されるかを読み取り、同じ処理を行う最小限の Layer ノードを使用してください。
見慣れないソースの読み方と、一般的なノードパターンの意味については、 ソースを参照してください。
クイックリファレンス
| ステップ | ツール | 注記 |
|---|---|---|
| 構成要素を確認 | get_blueprint_system_config | ノード種別、ポート、値のスキーマ。一度呼び出して再利用します。 |
| モデルを選択 | list_base_models, get_base_model | ユースケースから探します。ソースのモデル名は決してコピーしないでください。 |
| サンプルファイル | request_file_upload_url または upload_file | 動作確認の実行に限ります。ファイル入力の値は file_id です。 |
| グラフを確認 | validate_only: true を指定した import_workflow | 作成は行われません。報告された問題をすべて修正してください。 |
| インポート | import_workflow | デフォルトでは、実行できるよう非公開で公開します。 |
| 動作を検証 | estimate_workflow_price, execute_workflow | layer-workflows と同じ形式で実行します。get_workflow_run をポーリングしてください。 |
| プロジェクトに登録 | list_projects を実行し、インポート時に project_id を指定 | 任意:レビュー用にワークフローをプロジェクトに登録します。 |
グラフ
graph は、3 つのマップを持つオープンなオブジェクトです。inputs(パラメーターキーから入力パラメーターへの対応)、
nodes(ノード ID からノードへの対応)、outputs(パラメーターキーから出力パラメーターへの対応)です。公開された仕様では
その内部のフィールドが定義されていないため、形状を推測しないでください。ノード種別、ポートキー、ポート型、値のスキーマは
get_blueprint_system_config から取得します。validate_only は不足している項目や名前が誤っている項目を示します。
エッジリストはありません。値を受け取る側は、そのソースを refs 内で指定します。{"_default": [...]} には、
ノード出力の場合は nodes::<node id>[<kind key>]::<port key> を、ワークフロー入力の場合は
blueprint::<input key> を指定します。
型 A の出力を型 B の入力に渡せるのは、A と B が同じ型であるか、(A、B)がキャスト規則に含まれる場合に限られます。
transformer を持つ規則はブロックされており、使用できません。その間に指定されたトランスフォーマーノード種別を挿入し、
それを経由して配線してください。
静的な値は、システム設定に定義された型の JSON スキーマに準拠する必要があります。ポートでモデルを選択する場合は、そのノードが
担うユースケースで絞り込んだ list_base_models を使ってモデルを探してください。
一連の手順
- ワークスペースの
get_blueprint_system_configを実行します。 - ソースを読み、入力、手順、出力を平易な言葉で書き出します。
- 各手順をノードの種類に対応付けます。該当するものがない場合は、無関係なノードで近似せず、Layer に相当するものがない手順をユーザーに伝えて中断します。
- グラフを構築し、
validate_only: trueを指定してimport_workflowを実行します。結果では問題がノード、入力、出力ごとに分類されます。is_validが true になるまで修正して再実行します。 - 明確な
nameと、どこから作成したかを記載したdescriptionを設定し、実際にimport_workflowを実行します。プロジェクトに登録する場合はproject_idを渡します。 - 実証します。各ファイル入力にサンプルをアップロードし、
estimate_workflow_priceを実行して 20 CUs を超えることを確認してから、session_nameを指定してexecute_workflowを実行し、状態をポーリングします。検証に通ったグラフでも、誤った結果が生成されることがあります。出力を確認してください。 - 報告します。ワークフロー ID、何を何に対応付けたか、削除または近似したものがあればその内容を伝えます。
publish: false を指定すると、実行可能なワークフローではなくドラフトとして保存されます。また、検証で問題が見つかった場合でも指定できます。ユーザーがエディターでグラフを手作業で完成させたい場合にのみ使用してください。
実例
「このワークフローをインポートしてください。」ユーザーがノードグラフの JSON を添付します。JSON はトップレベルに nodes リストと、[link, from node, from slot, to node, to slot] の形式の links リストを持ちます。
- 内容を読み取ります。チェックポイントローダー、ピクセルアートのスタイルアダプター、正負のテキストエンコーダー、1024x1024 の空の潜在表現、サンプラー、デコーダー、2 倍アップスケール、保存ノードです。
- 意図を確認します。テキストを入力し、ピクセルアート画像を出力して、2 倍にアップスケールします。入力はプロンプトです。サイズとスタイルは固定です。
get_blueprint_system_configを実行し、ポートが適合する画像生成とアップスケールのノードの種類を選びます。画像生成の種類にスタイルポートがある場合は、list_reference_setsでピクセルアートのセットを確認します。ない場合は、スタイルをプロンプトに組み込みます。- テキストから画像へのユースケースで
list_base_modelsを実行し、最初の結果を画像生成ノードに使用します。 - グラフを構築します。入力は
promptとします。画像生成ノードのプロンプトポートはblueprint::promptを参照します。アップスケールノードの画像ポートはnodes::<generate id>[<generate kind>]::<image port>を参照し、出力はアップスケールノードの出力を参照します。 validate_onlyを実行すると、アップスケールノードの画像ポートの型が正しくないと報告されます。この組み合わせのキャストルールにはtransformerが指定されているため、そのままでは接続できません。そのトランスフォーマーノードの種類を挿入し、そこを経由するように接続します。- インポートし、見積もり(6 CUs)を確認して、サンプルプロンプトと
session_nameを指定して実行し、状態をポーリングして、画像がアップスケールされ、ピクセルアート風に仕上がっていることを確認します。 - 次のように報告します。「プライベートワークフローとしてインポートしました。サンプラー、潜在表現、デコーダーの接続は、1 つの画像生成ノードにまとめられました。スタイルアダプターはリファレンスセットに置き換えられました。選択したモデルにはネガティブプロンプトポートがないため、ネガティブプロンプトは削除しました。」
よくある間違い
- チェックポイントや重みファイルの名前をモデルポートに入力し、
base_model_idを調べない。 - システム設定や検証結果から取得せずに、
graph内のフィールド名を作り出す。 - キャストルールに
transformerが指定されている組み合わせを、そのノードの種類を経由せずに接続する。 - Layer に対応するノードがない手順を、説明なしに近似する。該当する手順と理由を伝えます。
- ワークフローが共有されると約束する。ワークフローはプライベートです。共有は Layer アプリで行います。
- テスト実行を省略する。検証で確認できるのは接続であり、出力が正しいかどうかではありません。