comfyui-media-workflows について
クリエイティブまたは技術的なブリーフを、再現・レビュー可能なComfyUIワークフローパッケージにまとめる、プロバイダー非依存のスキルです。メディア制作者や技術オペレーター向けに、グラフ設計、実行前確認、モデルやノードのリスク、引き継ぎ記録を扱います。
主な機能
- 01制作ブリーフと制約の確認
- 02UI用とAPI用の形式
- 03ワークフローの事前検証
- 04モデルとライセンスの一覧化
- 05カスタムノードのリスク管理
- 06実行メタデータと引き継ぎ記録
活用シーン
- 01再現可能な画像ワークフローの構築
- 02API実行用グラフの準備
- 03モデルとノード依存関係の確認
- 04引き継ぎ用ワークフロー情報の記録
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ calesthio/ generative-media-skills --skill comfyui-media-workflowsインストール後、Claude Code で/comfyui-media-workflowsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
EVAL.mdscripts/inspect_workflow.pytests/test_inspect_workflow.py詳細
ComfyUI メディアワークフローの制作
このスキルを使って、クリエイティブまたは技術的なブリーフを、本番運用可能な ComfyUI ワークフローパッケージに変換します。ComfyUI はプロンプト入力欄ではなく、グラフベースのメディア制作ランタイムとして扱ってください。出力は、グラフを再現・レビューでき、安全に実行でき、別のオペレーターやシステムが簡単に実行できるものにします。
この内容は特定のプロバイダーに依存しません。ユーザーまたは既存プロジェクトが明示していない限り、特定のチェックポイント、ホスト型 Comfy サービス、カスタムノードセット、クラウドベンダーを前提にしないでください。ComfyUI、カスタムノード、モデル、ライセンス、クラウド API に関する情報は頻繁に変わるため、本番運用時に必ず再確認してください。
運用原則
- 納品物と制約から始め、その後でグラフのトポロジー、モデル、ノード、ランタイムを選択します。人気のワークフローを貼り付けるところから始めないでください。
- 文書で確認できる事実と、本番運用上の経験則を分けます。文書で確認できる事実とは、最新のドキュメント、モデルカード、ライセンス、API スキーマ、直接のテストに基づく情報です。経験則とは、本番運用に関する判断です。
- 可能であれば、次の 2 種類のワークフロー成果物を維持します。
workflow.json:レイアウト、グループ化、メモ、オペレーターが読みやすい構成を含む、フロントエンド/保存形式のグラフ。workflow_api.json:プログラム実行用の API 形式のグラフ。
- 実行を再現できるだけのメタデータを維持します。ワークフロー JSON、ハッシュ付きの入力ファイル、モデルの識別子とハッシュ、カスタムノードのリポジトリリビジョン、ComfyUI のバージョン、パラメーター、シードの方針、ハードウェア/ランタイム、出力パス、QA メモを含めます。
- クリエイティブ上の要件で本当に必要な場合を除き、カスタムノードとモデル依存関係は最小限に抑えます。すべてのカスタムノードには、コード実行とサプライチェーンのリスクがあります。
- モデルが利用可能であることを、権利処理済みであることと同一視しないでください。ファイルをダウンロードできても、プロジェクトで商用利用できる、出力を自由に使える、出力を使って学習できる、または特定の人物の肖像を使用できるとは限りません。
- ワークフローのメタデータを出力に埋め込むかどうか、意図的に決めてください。グラフの埋め込みは再現性に役立ちますが、プロンプト、モデル名、プライベートなパス、クライアントの参照情報、API ノードのタイトル、ワークフローの知的財産が漏れるおそれがあります。
必須の初回確認
グラフの作成または変更に着手する前に、短い制作ブリーフを作成します。
- 納品物: メディアの種類、点数、寸法/アスペクト比、動画の場合は尺/fps、ファイル形式、命名規則、プラットフォームまたは後工程のエディター。
- クリエイティブ意図: 主題、スタイル、制約、参考資料、ネガティブ制約、保持必須要素、ブランド規則。
- 入力: テキストプロンプト、画像、マスク、動画、音声、深度/ポーズ/制御マップ、ブランド素材、人物のアイデンティティ/肖像利用許可、素材の権利保有者。
- ランタイム: ローカル ComfyUI、Comfy Cloud、その他のホスト型 Comfy 互換サービス、または引き渡しのみか。利用可能な GPU/VRAM、同時実行数、ストレージ、ネットワーク、プライバシーの制約。
- モデル一覧: 使用予定のチェックポイント/拡散モデル、VAE、テキストエンコーダー、LoRA、ControlNet、アダプター、アップスケーラー、動画モデル、音声/3D モデル(該当する場合)。
- カスタムノード一覧: コア以外のノードパッケージすべてについて、インストール元、バージョン/コミット、ライセンス、依存関係への影響、信頼レベル、代替手段。
- 権利と安全性: 商用利用の有無、クライアント/法務担当の承認が必要か、肖像/音声の同意、未成年者、規制対象分野、なりすまし/欺瞞、禁止コンテンツ、プラットフォームの制限。
- 再現性の目標: 完全な再実行、近似した結果、または探索的なバッチ生成か。完全な再実行には、より厳密なシード、バージョン、ハッシュ、および決定性に関する注意事項が必要です。
- 引き渡し先: 別のアーティスト、API サービス、クラウドへのデプロイ、バッチレンダーキュー、またはアーカイブ。
不足している情報がある場合、ワークフローの設計に実質的な影響がないときに限り、範囲を限定した仮定を置きます。そうでなければ、確認してください。
ワークフロー形式と API の境界
ComfyUI のワークフローは JSON グラフです。フロントエンドの保存形式と API 形式は同じではありません。
- 保存形式は UI で編集するためのものです。レイアウト、色、グループ、ノードのサイズなどの視覚的なメタデータが含まれます。
- API 形式は実行するためのものです。ノード ID をキーとして、
class_type、inputs、任意の_metaを使用し、UI レイアウトデータの大部分は省略します。 - プログラムから実行する場合は、フロントエンドで File -> Export Workflow (API) を選択してエクスポートするか、対象のランタイムで検証済みの変換方法を使用してください。
- API ワークフローを送信する前に、各
class_typeがランタイムのノードレジストリに存在すること、および公開されている各入力名が現在のノード定義と一致することを検証してください。
API 形式のワークフローを静的に事前検査する場合は、ランタイムでの検証前に、同梱の Python 3.11+ 標準ライブラリヘルパーを使用してください。
python scripts/inspect_workflow.py workflow_api.json --approved-classes approved_classes.txt --unknown-class warning --pretty
このヘルパーはローカルの JSON のみを検査します。API 形式の構造、ノード ID、class_type、inputs、任意の _meta、[node_id, output_index] 形式のリンク入力、リンク切れ、0 以上の整数の出力インデックス、グラフの循環を検証し、秘密情報と思われるキーや値、絶対パスまたはプライベートなパスに見える文字列について警告します。ノード数、エッジ数、クラス数、検出事項数を含む、正規化された安定した JSON インベントリを出力します。終了コードは、検証エラーがない場合は 0、検証エラーがある場合は 2、解析または処理に失敗した場合は 3 です。承認済みクラスのリストを改行区切りで指定すると、そのリストにないクラス型を --unknown-class で警告、エラー、または無視として報告できます。
このヘルパーは、ComfyUI ランタイムでの検証の代わりにはなりません。グラフを実行したり、/prompt に送信したり、不足しているカスタムノードをインストールしたり、モデルを読み込んだり、/object_info に照らして入力名を検証したり、ワークフローが VRAM に収まることや対象サーバーで実行できることを証明したりすることはありません。
ローカルの ComfyUI サーバーで実行する場合の基本的な流れは次のとおりです。
- ランタイムのアップロードルートを通じて必要な入力をアップロードするか、想定されている入力ディレクトリに配置します。
- API 形式のグラフをプロンプトキューに送信します。
- WebSocket メッセージまたはポーリングでステータスを監視します。
- 実行履歴または表示/ダウンロードルートから出力を取得します。
- 実行メタデータと出力を、一時的なランタイムディレクトリの外部にアーカイブします。
クラウドで実行する場合は、ローカルルートと同じ動作を前提にしないでください。現在のクラウドドキュメントで、認証、エンドポイントのプレフィックス、同時実行数の制限、ストレージの動作、署名付き URL の動作、タイムアウト、パートナーノードのキーの取り扱いを確認してください。
本番ワークフローカード
重要なワークフローごとに、プロジェクトのメモまたは引き継ぎメッセージにワークフローカードを用意してください。簡潔でありながら、必要な情報を漏れなく記載します。
workflow_name: product-hero-sdxl-controlnet-v003
purpose: "Generate 6 square product hero image candidates with locked silhouette and color palette."
formats:
save_graph: workflow.json
api_graph: workflow_api.json
runtime_verified:
comfyui_version: "record exact version/commit"
execution_target: "local RTX 4090 / Comfy Cloud / other"
verified_at: "YYYY-MM-DD"
models:
- role: checkpoint
id: "repository-or-file-name"
file: "model.safetensors"
sha256: "..."
source_url: "..."
license: "..."
license_verified_at: "YYYY-MM-DD"
approval: "approved / needs counsel / noncommercial only / unknown"
custom_nodes:
- package: "repo-or-registry-id"
version_or_commit: "..."
source_url: "..."
license: "..."
risk: "low / medium / high"
reason: "why needed"
exposed_inputs:
positive_prompt_node: "6.inputs.text"
negative_prompt_node: "7.inputs.text"
seed_node: "3.inputs.seed"
width_height_node: "5.inputs.width|height"
seed_policy: "fixed seeds for rerun; randomized only in variants manifest"
input_custody:
source_assets: "paths, hashes, consent notes"
output_custody:
destination: "..."
metadata_policy: "embed workflow / strip workflow / add C2PA externally"
qa_status: "not run / smoke passed / approved / blocked"
known_limits:
- "..."
ハッシュ、バージョン、ライセンスの状態、承認を捏造しないでください。不明な項目は明確に不明と記載してください。
モデルとライセンスの一覧
メインのチェックポイントだけでなく、モデルに該当するすべての成果物を一覧にします。
- チェックポイントまたは拡散モデル
- VAE
- テキストエンコーダー
- LoRA、LyCORIS、埋め込み、テキスト反転
- ControlNet、T2I アダプター、IP/参照アダプター、ポーズ/深度/セグメンテーションモデル
- アップスケーラー、顔修復モデル、背景除去ツール
- 動画生成モデル、補間モデル、フレーム強化モデル
- ノードで使用する音声、3D、キャプション生成、または LLM/VLM モデル
各モデルについて、以下を記録します。
- 正確なファイル名と、ローダーノードが想定するフォルダーのカテゴリ
- ソース URL またはリポジトリ ID
- バージョン、リビジョン、またはダウンロード日
- ファイルハッシュ(入手可能な場合、またはローカルで算出したもの)
- モデルカードまたはライセンスの URL
- この業務に関連するライセンス条項:商用利用、帰属表示、出力の利用、派生物/ファインチューニング、再配布、合成データ/学習に関する制限、コンテンツの利用制限
- 既知の実行時要件:データ型/量子化、必要な VRAM の最小容量、必要なテキストエンコーダーまたは VAE
- 承認者と承認日、または未解決の事項
モデルカードのメタデータは確認の出発点として使用し、完全な権利確認とは見なさないでください。Hugging Face はライセンスのメタデータとモデルカードに対応していますが、メタデータが欠落していたり曖昧だったりすることは珍しくないため、重要な業務ではリンク先のライセンスやリポジトリ内のファイルを確認する必要があります。モデルが派生モデルまたはマージモデルの場合、プロジェクトが商用、公開、クライアント向け、または再配布を伴うものであれば、上流モデルのライセンスとの互換性を確認してください。
以下の場合は、クライアント、権利者、プラットフォームの運営者、または法律顧問にエスカレーションしてください。
- ライセンスが存在しない、矛盾している、非商用、研究目的のみ、出力に関する規定が不明確、または意図する用途と両立しない場合
- モデルがマージモデルまたは派生モデルで、上流モデルが不明な場合
- ワークフローで、人物の肖像、非公開の参照素材、存命のアーティストやその作風に関するリクエスト、商標登録されたキャラクター、ブランド素材、または規制対象分野のコンテンツを使用する場合
- 出力を販売、広告、配信、政治的説得、規制対象分野での利用、または学習データとして使用する場合
- ワークフローまたはカスタムノードパッケージを他者に再配布する場合
法的助言は提供しないでください。リスクと必要な判断事項を明記してください。
カスタムノードのリスク管理
カスタムノードは、ComfyUI 環境内でコードを実行する拡張機能です。サプライチェーン上の依存関係として扱ってください。
カスタムノードごとにリスクを評価してください。
- 低: 公式またはコアのノード、既知の公開元によるレジストリの最新パッケージ、活発に保守されている、明確なライセンスがある、ドキュメントに記載されたモデル/API 呼び出し以外のネットワーク動作がない、バージョンが固定されている。
- 中: 活発なリポジトリを持つ人気のコミュニティノードだが、依存関係の範囲が広い、リリースのバージョン固定が不明確、ドキュメントが限られている、または重要ではないネットワーク/ファイル操作がある。
- 高: あまり知られていないリポジトリ、ライセンスがない、リリースが固定されていない、未確認のインストールスクリプト、出所不明のバイナリホイール、広範なファイルシステム/ネットワークアクセス、認証情報の取り扱い、コードの難読化、破損やセキュリティに関する古い課題、または軽微な利便性のためだけに必要なもの。
必須の取り扱い:
- 要件を満たす場合は、コアノードと公式テンプレートを優先してください。
- カスタムノードが必要な場合は、リリースまたはコミットを固定し、インストール元を記録してください。本番環境では「latest」を避けてください。
- ノードの README とインストール要件を読み、モデル、外部 API、認証情報、ffmpeg、CUDA 拡張機能、コンパイラツールチェーン、またはシステムパッケージが必要かどうかを確認してください。
- 依存関係は、ComfyUI 用として指定された環境にのみインストールしてください。システムの Python や無関係なプロジェクトを汚染しないでください。
- 承認なしに、信頼できないインストールスクリプトやインストール後のコマンドを実行しないでください。
- ワークフロー JSON、出力メタデータ、ログ、またはスクリーンショットに保存される可能性のあるノードパラメーター経由で、シークレットを渡さないでください。ただし、ノードのドキュメントでその方法が明示的に必須とされ、ユーザーが同意している場合を除きます。
- 外部ソースのワークフローを使用する場合は、実行前に不明なノードを確認してください。すべてを無条件にインストールするより、ノード不足のエラーが出るほうが安全です。
必須のカスタムノードが高リスクで、安全な代替手段がない場合は作業を中断し、次の選択肢を示して承認を求めてください:サンドボックスでリスクを受け入れる、制作アプローチを変更する、ホスト型プロバイダーを使用する、または一時停止する。
グラフ設計パターン
これらは本番環境向けのパターンであり、固定テンプレートではありません。ノード名は ComfyUI のバージョン、モデルファミリー、カスタムノードパッケージによって異なります。
テキストから画像への静止画
一般的な構成:
- チェックポイントまたはモデルファミリー固有のモデルと、必要なテキストエンコーダー/VAE を読み込みます。
- ポジティブプロンプトとネガティブプロンプトをエンコードします。
- 目標の寸法またはモデル固有の寸法で潜在表現を作成します。
- ドキュメントに記載されたサンプラー/スケジューラー/ステップ数/CFG/シードを使ってサンプリングします。
- デコードします。
- 必要に応じて、アップスケール、カラー調整、顔/ディテール調整、メタデータ/来歴処理を行います。
- 決定的なファイル名のプレフィックスを付けて保存します。
本番環境での注意事項:
- ポジティブプロンプト、ネガティブプロンプト、シード、幅、高さ、ステップ数、CFG/ガイダンス、サンプラー/スケジューラー、デノイズ、バッチサイズ、出力プレフィックスを外部から指定できるようにします。
- モデル固有のアスペクト比と解像度の制約が見えるようにしてください。品質が許容されない限り、小さなサイズで生成した画像を最終納品用に暗黙的にアップスケールしないでください。
- 承認候補には固定シードを使用してください。ランダムな探索にはバリアントマニフェストを使用してください。
画像から画像への変換とスタイライズ
一般的な構成:
- 元画像を読み込みます。
- 必要に応じて前処理します:リサイズ/クロップ/パディング、色の正規化、セグメンテーション、深度、エッジ、ポーズ、または参照画像の埋め込み。
- 画像を潜在表現にエンコードするか、該当する条件付けノードに入力します。
- 保持目標に合わせてデノイズ強度を選んでサンプリングします。
- 合成するか、ディテールを復元します。
- 出力と比較用コンタクトシートを保存します。
デノイズ値の目安:
- 低いデノイズ:保持とクリーンアップ向け。
- 中程度のデノイズ:構図を保ちながらスタイルを変換する場合。
- 高いデノイズ:入力から大まかな着想を得た新しい画像を生成する場合。
実際のデノイズ値と、期待される保持レベルを記録してください。クライアントのアセットでは、プロンプトが構図を保持することに頼るのではなく、明示的な制御入力で構図を保ってください。
インペイントとアウトペイント
一般的な構成:
- ソース画像とマスクを読み込みます。
- マスクの極性とエッジの柔らかさを確認します。
- 詳細/インペイント用のクロップ経路を使う場合はマスク領域をクロップし、全体の一貫性が重要な場合はフレーム全体を処理します。
- 画像とマスクをインペイントモデルまたはコンディショニング経路にエンコードします。
- 保持したい内容に適したノイズ除去強度でサンプリングします。
- 元の画像に合成し直します。
- 継ぎ目の品質、形状、影、テクスチャ、ブランドや製品の忠実度をQAします。
本番運用時の注意事項:
- マスクはハッシュとともにソースアーティファクトとして保存し、引き継げないUI上だけのマスクに依存しないでください。
- 長時間の実行前に、「マスクチェック」の出力またはスクリーンショットを含めてください。
- 対象が製品、ロゴ、顔、医療・法律・技術関連の物体の場合は、より厳密にレビューし、AIによる再構成が許可されているか確認してください。
制御とコンディショニング
コンディショニングを使うと、曖昧なプロンプトの意図を制御可能な構造に変換できます。レイアウト、ポーズ、奥行き、製品のシルエット、エッジの忠実度、カメラアングル、またはアイデンティティに関連する一貫性が重要な場合に使用してください。
一般的な制御方法:
- 形状や明確な輪郭には、エッジ/線画/Cannyを使用します。
- 空間レイアウトやカメラの遠近感には、深度を使用します。
- 体の位置には、ポーズ/OpenPose風の骨格を使用します。
- オブジェクトの領域には、セグメンテーションを使用します。
- 色、スタイル、またはアイデンティティに関連する視覚的手がかりには、参照画像/画像アダプターを使用します。
- 一貫性のあるスタイル、被写体、または製品ファミリーの表現には、LoRAや埋め込みを使用します。
本番運用時の注意事項:
- 最終的な制御画像だけでなく、前処理モデルとパラメーターも記録してください。
- 弱く競合する制御を複数使うより、強力な制御を1つ使うことを優先してください。
- 複数の制御を使う場合は、優先順位を定めてください。ブリーフで別の指定がない限り、まず構造、次にアイデンティティ/参照、最後にスタイルの順にします。
- 制御の過剰適合をQAしてください。制御強度が高すぎると、出力がトレースしたように見えたり、硬くなったり、歪んだり、テクスチャが乏しくなったりすることがあります。
アップスケールと仕上げ
一般的な構成:
- モデルに適した基本サイズで生成します。
- アーティファクトの種類に応じて、潜在アップスケールまたはピクセルアップスケールを選びます。
- 新しいディテールを捏造するのではなく、画像を改善できる場合に限ってディテールパスを適用します。
- 元画像、アップスケール画像、最終ファイルを、相互に関連付けられたメタデータとともに保存します。
本番運用時の注意事項:
- アップスケールは、基本の構図を正しくすることの代わりにはなりません。
- 人物の顔やディテールを復元する場合は、類似性や同意への影響を確認してから行ってください。
- 印刷物では、最終的な実寸と解像度で確認してください。ウェブ/ソーシャルメディア用では、圧縮とクロップ時のセーフエリアを確認してください。
動画とモーションのワークフロー
動画のワークフローでは、VRAM、時間、時間的アーティファクト、権利、ファイルの管理など、あらゆるリスクが増大します。
一般的な構成:
- モーション仕様を定義します。長さ、fps、アスペクト比、カメラ/被写体の動き、ソース画像またはテキストプロンプト、ループ/連続性の要件を指定します。
- 動画モデルと必要なエンコーダー/VAE/モーションモジュールを読み込みます。
- 必要に応じて、ソース画像/動画/制御フレームを指定します。
- 長いクリップの前に、短いクリップを生成します。
- オプションで、補間、アップスケール、手ぶれ補正、復元、字幕付け、または外部での合成を行います。
- 実行メタデータとともに、フレームと最終動画を保存します。
本番運用時の注意事項:
- フル解像度で実行する前に、短い長さ、低解像度、固定シードでスモークテストを行ってください。
- fps、フレーム数、解像度、シードのポリシーを固定してください。「5秒」という目標だけでは不十分です。正確なフレーム数とfpsを記録してください。
- 後工程の編集で修正や時間的なQAが必要になる可能性がある場合は、中間フレームを保存してください。
- 時間経過によるアイデンティティのずれ、ちらつき、テクスチャの煮え立ち、カメラの急な移動、テキスト/ロゴの歪み、物理法則やブランド要件に反する動きに注意してください。
- ソース映像では、変換する権利があること、およびAIによる変更の開示が必要かどうかを確認してください。
バッチバリアント
バッチ処理は、混乱を招くためではなく、管理された探索のために行います。
バリアントマニフェストを使用してください:
base_workflow: workflow_api.json
locked:
checkpoint: "..."
dimensions: "1024x1024"
negative_prompt: "..."
control_image_sha256: "..."
variants:
- id: A01
seed: 101
prompt_delta: "warmer backlight, softer shadows"
- id: A02
seed: 102
prompt_delta: "cooler palette, sharper product edge"
幅広い探索が目的の場合を除き、1回のバッチで変更する変数は1つまたは2つにしてください。出力にはバリアントIDとシードを付けてください。人が選定できるよう、コンタクトシートまたはレビュ—グリッドを生成してください。
プロンプト、シード、パラメーターの制御
プロンプトを入力として公開しますが、それだけを制御手段にしないでください。
プロンプトの取り扱い:
- モデルが構造化された形式に適切に応答する場合は、プロンプトの意図を被写体、構図、メディア/スタイル、照明、カメラ/レンズ、素材/テクスチャ、制約、ブランド用語に分けます。
- ネガティブプロンプトは、実際の失敗要因に絞ります。巨大なネガティブプロンプトのリストはデバッグが困難です。
- プロンプトのバージョンを記録します。1語の変更で承認結果が変わることがあります。
- 出力やワークフロー JSON を共有する場合は、プロンプトからクライアントの非公開名、未発表製品のコードネーム、個人データ、秘密の URL を削除します。
シードの取り扱い:
- 承認用には固定シードを使用し、記録します。
- 探索用にはシードの範囲またはリストを定め、生成ポリシーを記録します。
- 厳密な再現性が重要な場合は、シードだけでは不十分であることを明記します。モデルファイル、ノードのバージョン、サンプラー、スケジューラー、精度、ハードウェア/バックエンド、前処理も一致させる必要があります。
パラメーターの取り扱い:
- サンプラー/スケジューラー、ステップ数、CFG/ガイダンス、ノイズ除去、寸法、バッチサイズ、モデルの重み、LoRA の強度、制御の強度、開始/終了の割合、アップスケール倍率、fps/フレーム数、ファイル名のプレフィックスを記録します。
- 結果に大きく影響する値を、デフォルトのまま黙って使わないでください。デフォルト値を使用する場合は、その旨を明記します。
VRAM、パフォーマンス、信頼性
有効な JSON だからといって、グラフが実行できると保証しないでください。
パフォーマンスのチェックリスト:
- 利用可能な場合は、実行環境のシステム情報(GPU、VRAM、Python/torch/CUDA または同等のスタック、ComfyUI のバージョン、空きディスク容量、関連する環境フラグ)を取得または記録します。
- コストを左右する要因を見積もります。モデルサイズ、精度、解像度、バッチサイズ、フレーム数、サンプラーの数、ControlNet/アダプター、タイル処理、アップスケーラー、複数の大規模モデルをロードしたままにすることなどです。
- まずはバッチサイズ、フレーム数、解像度、同時に使用する制御、高解像度/ディテール処理の順に減らし、品質に問題がない場合はその後にモデルサイズ/精度を下げます。
- 動画では、長さと解像度を段階的に上げます。16 フレームで実行できるグラフでも、120 フレームでは失敗することがあります。
- キャッシュされた中間出力は意図的に使用します。ただし、最終的な再現性を検証する際は、キャッシュをクリアするか、ソースから再実行します。
- メモリ不足で実行が失敗した場合は、失敗したノードを記録し、一度に変更するリソース変数は1つだけにします。
- クラウドでは、タイムアウト、同時実行数、キューの動作、署名付き URL の有効期限、ストレージの保持期間を記録します。
利用可能な場合は /system_stats または対象の実行環境に相当する機能を使用します。他の実行中ジョブに影響しない場合に限り、モデルのアンロードに /free または UI の同等機能を使用します。
入力と出力の管理
すべての入力と生成出力を、管理対象のアセットとして扱います。
入力:
- ソース画像、マスク、動画、音声、制御マップは、プロジェクト管理の入力ディレクトリまたは承認済みのクラウドストレージに保存します。
- クライアントから提供された入力と参照素材のハッシュ値を記録します。
- 人物、声、私有財産、ロゴ、商標、著作権で保護されたアートワークについて、ライセンス/同意の状況を記録します。
- ワークフロー JSON を外部と共有する前に、機密性の高いパスや名前を削除するか置き換えます。
- ユーザー提供の非公開アセットを、無関係なモデルの学習やサンプルに使用しないでください。
出力:
- 出力は ComfyUI のデフォルト出力フォルダーだけでなく、管理下にあるプロジェクトディレクトリに保存します。
- 実用上可能な場合は、ワークフロー名、バリアント ID、シード、日付を含むファイル名のプレフィックスを使用します。
- プロジェクトの保持ポリシーに従い、オリジナル、選定した最終版、却下したバリアントを保持します。
- 引き渡し時には、出力とともに、ワークフロー、入力、パラメーター、ソースモデルの詳細、品質確認の状況を記載したマニフェストを含めます。
- プラットフォームで開示や来歴メタデータが必要な場合は、後回しにせず仕上げの一環として追加します。
来歴とメタデータ
ComfyUI の SaveImage ノードは、画像を出力ディレクトリに保存し、プロンプトなどのワークフローメタデータを埋め込むことができます。コアのワークフロードキュメントでは、生成画像のメタデータはグラフを再度開く方法として、スタンドアロンの JSON はメディア形式がメタデータに対応していない場合に便利なものとして説明されています。
運用上の判断:
- 再現性、社内レビュー、または信頼できる ComfyUI オペレーターへの引き継ぎが、機密性よりも重要な場合は、ワークフローメタデータを埋め込みます。
- 公開用またはクライアント向けのファイルを共有すると、プロンプト、モデル名、ファイルパス、未公開の参照情報、カスタムノードの知的財産、または個人データが漏えいする場合は、ワークフローメタデータを削除するか、埋め込まないようにします。
- 開示、真正性、またはプラットフォームポリシーが関係する場合は、外部の来歴情報を追加します。C2PA/Content Credentials には、署名付きの来歴情報や AI 編集に関するアサーションを記録できますが、オプトイン方式であり、情報が不完全な場合もあり、DRM ではありません。
C2PA または同様の来歴情報を使用する場合:
- コンテンツが AI 生成、AI 編集、または素材を組み合わせて作成したものかを記録します。
- 開示に適したレベルで、ツール名と重要な変換内容を含めます。
- 承認されていない限り、機密性の高い個人情報やクライアントの機密情報を含めないようにします。
- 最終的なエクスポート形式とプラットフォームでメタデータが保持されることを確認します。ワークフローが対応している場合は、サイドカーまたはホストされたマニフェストへのパスを提供します。
ローカル実行とクラウド実行の衛生管理
ローカル実行:
- 想定されている ComfyUI の環境と依存関係のセットを使用します。
- モデルは想定されている
ComfyUI/models/<category>フォルダー、または設定済みの追加モデルパスに保持します。 - カスタムノードのバージョンを固定し、ドキュメントに記載します。
- レビューされていない外部ワークフローを、特権のある環境で実行しないようにします。
- 認証とネットワーク制御なしに、ローカルの ComfyUI ポートを公開しないでください。
- 機密情報を含む参照データが含まれた一時ファイルと出力を削除します。
クラウド実行:
- 現在の API ベース URL、認証ヘッダー、ジョブ送信の形式、ポーリング/WebSocket の動作、アップロード/ダウンロードのルート、同時実行数、ストレージの保持期間、課金を確認します。
- API キーは環境変数またはシークレットストアに保存し、ワークフロー JSON には決して記載しないでください。
- 外部プロバイダーを呼び出すパートナー/API ノードを把握し、どのサードパーティサービスに入力が送信されるかを記録します。
- 署名付き URL の有効期限が切れる前に出力をダウンロードし、プロジェクトの管理下に保存します。
- クラウドの出力が永続的に非公開だと想定せず、サービスの利用規約とプロジェクトの要件を確認します。
引き渡し前の QA
最低限の QA:
- フロントエンド用グラフが提供されている場合、ComfyUI フロントエンドで JSON を開けること。
- API グラフがランタイムの要件を満たすこと:すべての
class_typeの値が存在し、必須入力が設定され、ローダーノードが利用可能なファイルを参照していること。 - 別の担当者がインストールを再現できるだけのモデルとカスタムノードの一覧がそろっていること。
- 低コストの設定または代表的なシードを 1 つ使ったスモークテストに合格すること。
- 出力が想定された場所に保存され、正しい名前が付いていること。
- ワークフローカードに、公開されているすべての入力と固定パラメーターが記載されていること。
- 公開、販売、クライアント向け、または再配布する制作物について、権利および安全性のステータスが「不明」ではないこと。
- メタデータ/来歴に関する方針が明確であること。
静止画のビジュアル QA:
- 構図がブリーフに合っていること。
- 被写体の同一性、製品の形状、ロゴ/テキスト、手/顔、反射、影、パースが許容範囲であること。
- 不要な透かし/署名/テキストや、非公開の参照情報の漏えいがないこと。
- トリミング時のセーフエリアと最終寸法が正しいこと。
- アップスケーリング/ディテール処理で、欠陥が幻覚されていないこと。
動画のビジュアル QA:
- 時間的な一貫性が保たれ、スタイル上許容される範囲を超えるちらつきや揺らぎがないこと。
- フレーム間で被写体とオブジェクトの連続性が保たれていること。
- 動きの方向とカメラの動きがブリーフに合っていること。
- フレーム落ち、ループの破綻、不安定なテキスト/ロゴ、不要なモーフィングがないこと。
- fps、長さ、コーデック/コンテナ、音声/字幕に関する要件を満たしていること。
技術 QA:
- 再現性が必要な場合、変更後に固定シードで出力を 1 つ再実行すること。
- ノード/モデルの欠落、フォールバック精度、入力のスキップ、ダウンロードの失敗、API ノードのエラーに関する警告がないか、ログを確認すること。
- 完全に同じ再実行が必要な場合、ファイルハッシュまたは知覚的な一致を比較すること。
- 方針に従って、出力メタデータが存在する、または存在しないことを確認すること。
引き渡しパッケージ
以下を引き渡します:
- UI 編集用の
workflow.json(利用可能な場合)。 - 実行用の
workflow_api.json(利用可能な場合)。 - ワークフローカードまたはマニフェスト。
- 入力アセットとマスク/制御マップ、または承認済みのストレージ URL。
- 出力サンプル/最終成果物。
- ライセンスとハッシュを含むモデル一覧。
- バージョン/コミットとインストールに関する注記を含むカスタムノード一覧。
- 実行ログ:シード、プロンプト、パラメーター、ランタイム、出力ファイル名、エラー。
- QA メモと未解決のリスク。
- メタデータ/来歴に関する決定事項。
再配布を予定している場合は、法的にも実務的にも再配布できるアセットとモデルリンクだけを含めてください。それ以外の場合は、制限付きのモデルファイルを同梱するのではなく、インストール手順とソース URL を提示してください。
例:制御された製品ヒーロー静止画
例の目的:新しいボトルのシルエットとラベルの配置を維持しながら、EC 用の正方形のヒーロー画像を生成します。ユーザーは承認済みの製品レンダーとブランドパレットを提供します。商用リリースを予定しています。
アプローチ:
- 純粋なテキストからの画像生成ではなく、画像から画像への生成とエッジ/深度の条件付けを使用します。
- 製品レンダーとマスクを、ハッシュ付きの入力として保持します。
- 商用利用が許可されたチェックポイントと、少数の主要な制御ノードを使用します。
- 照明を制御して変更しながら、固定シードで 6 種類のバリエーションを実行します。
- 公開用の最終成果物から埋め込みワークフローメタデータを削除し、内部用のワークフローファイルは保持します。
ワークフローカードの抜粋:
workflow_name: bottle-hero-control-v001
purpose: "Generate six 1:1 product hero candidates preserving bottle geometry."
exposed_inputs:
prompt: "CLIPTextEncode positive text"
negative_prompt: "CLIPTextEncode negative text"
seed: "KSampler seed"
control_strength: "ControlNet strength"
locked:
dimensions: "1024x1024"
source_product_sha256: "record actual hash"
mask_sha256: "record actual hash"
model_license_status: "approved for commercial use by client on YYYY-MM-DD"
variant_policy:
seeds: [50101, 50102, 50103, 50104, 50105, 50106]
changed_fields: ["seed", "lighting phrase only"]
qa_focus:
- "label text/logo not reconstructed incorrectly"
- "bottle silhouette matches reference"
- "no invented claims on packaging"
metadata_policy: "strip from delivered finals; archive workflow internally"
この方法が有効な理由:グラフでは制御入力によって製品に関する厳密な制約を守り、モデルに製品の形状を創作させるのではなく、プロンプトで雰囲気を指定します。
起こり得る失敗:ラベルの歪み、キャップの継ぎ目の増加、不自然な反射、制御の過剰適合、ダウンロードした LoRA の商用利用許可が不十分であること。
例:キャンペーン画像のインペイント修復
意図の例:承認済みのキャンペーン画像から目障りなオブジェクトを取り除き、モデルの顔、服装、背景の同一性は変更しません。
アプローチ:
- マスクを使用したインペイントのワークフローを使います。
- 元の画像は変更せずに保持します。
- マスクファイルとマスクのプレビュー出力を保存します。
- 低〜中程度のノイズ除去を使用し、元の画像に合成します。
- フル解像度で品質を確認し、元の画像と比較します。
エージェントの計画例:
I will build an inpaint-only workflow, not a full img2img restyle. Fixed inputs are the original campaign image and mask. The only creative prompt will describe the missing background texture. I will preserve the person, wardrobe, and lighting, and I will stop if the mask overlaps face, body, logo, or other protected areas.
引き継ぎ時に記載する内容の例:
- 元の画像のハッシュ値;
- マスクのハッシュ値と極性;
- ノイズ除去の値;
- インペイントモデル/チェックポイントのライセンス;
- 変更前と変更後の比較;
- 顔や身体の変更を意図していない旨の記載;
- 人物やブランド要素を変更した場合は、未解決の承認事項。
例:短い画像から動画へのバッチ処理
意図の例:承認済みのポスターフレームから、ソーシャルメディア向けのティーザー用に、4秒の縦型アニメーションループを3本作成します。
アプローチ:
- ポスターをAIで変換する権利があることを確認します。
- フレーム数とfpsを固定した、画像から動画への変換または動画モデルのワークフローを使用します。
- まず、低解像度で1秒のスモークテストを行います。
- スモークテストに合格してから、モーションプロンプトとシードのみをバッチ処理します。
- 後続の編集が想定される場合は、動画ファイルと中間フレームの両方を保存します。
マニフェストの抜粋例:
workflow_name: poster-loop-i2v-v002
delivery:
aspect_ratio: "9:16"
fps: 24
frames: 96
duration_seconds: 4
smoke_test:
frames: 24
resolution: "reduced"
status: "passed/failed"
variants:
- id: loop-a
seed: 7201
motion: "subtle parallax push-in, fabric barely moving, no face morph"
- id: loop-b
seed: 7202
motion: "slow lateral camera drift, particles in background only"
- id: loop-c
seed: 7203
motion: "gentle light sweep, subject locked"
qa_focus:
- "identity consistency"
- "no text/logo warping"
- "loop seam if looped"
- "no unauthorized transformation of protected artwork"
起こりうる失敗:顔のずれ、テキストやロゴの歪み、最終的なフレーム数での高いVRAM使用量、商用のソーシャルメディア利用に関するモデルライセンスが不明確、小さなプレビューでは見えない時間的なアーティファクト。
出典メモと検証
このスキルに記載された事実は、以下の出典に基づいており、2026-07-11 に検証済みです。
- ComfyUI の公式ドキュメント:ComfyUI は生成 AI 向けのノードベースのインターフェース/推論エンジンであり、ローカルで実行できます。ドキュメントではローカル API とクラウド API についても説明されています。https://docs.comfy.org/
- ComfyUI Workflow API Format:フロントエンドの保存形式と API 形式は異なります。API 形式ではノード ID を使用し、UI レイアウトデータは省略されます。
File -> Export Workflow (API)からエクスポートできます。https://docs.comfy.org/development/api-development/workflow-api-format - ComfyUI Workflow JSON specification:ワークフロー JSON のスキーマとバージョン管理されたワークフロー構造について説明しています。https://docs.comfy.org/specs/workflow_json
- ComfyUI Server API routes:
/prompt、/object_info、/history、/queue、/upload/image、/upload/mask、/view、/system_stats、/free、/wsの各ルートの用途について説明しています。https://docs.comfy.org/development/comfyui-server/comms_routes - ComfyUI Cloud API docs:Comfy Cloud の API 形式によるワークフローの送信、アップロード、ジョブの監視、出力のダウンロード、API キーの処理、同時実行の動作について説明しています。ドキュメントではクラウド API は実験段階とされています。https://docs.comfy.org/development/cloud/overview および https://docs.comfy.org/development/cloud/api-reference
- ComfyUI workflow docs and SaveImage docs:ワークフローは JSON として保存でき、生成された画像にはワークフローやプロンプトのメタデータを含められる場合があります。https://docs.comfy.org/development/core-concepts/workflow および https://docs.comfy.org/built-in-nodes/SaveImage
- ComfyUI custom-node installation docs:カスタムノードは ComfyUI を拡張します。悪意のあるプラグインがセキュリティリスクをもたらす可能性があるため、慎重に確認する必要があります。https://docs.comfy.org/installation/install_custom_node
- ComfyUI templates docs:ワークフローテンプレートには、必要なモデルへのリンクやモデルフォルダーの情報を埋め込めます。サポートされているモデルリンクの動作やテンプレートの依存バージョンは変わる可能性があります。https://docs.comfy.org/interface/features/template
- Hugging Face model card and license docs:モデルカードには、ライセンスのメタデータ、データセット、バージョン、タスクのメタデータを指定できます。リポジトリのライセンスを遵守する必要があります。https://huggingface.co/docs/hub/en/model-cards および https://huggingface.co/docs/hub/en/repositories-licenses
- C2PA Content Credentials explainer and FAQ:Content Credentials は署名付きの来歴メタデータです。使用は任意で、情報が不完全な場合や削除される場合があります。AI の使用に関するアサーションを含められ、DRM ではありません。https://spec.c2pa.org/specifications/specifications/2.4/explainer/Explainer.html および https://c2pa.org/faqs/
本番環境で再確認が必要な、変更される可能性のある情報:
- ComfyUI のルートの詳細、API リクエスト/レスポンスの形式、クラウド API のステータス、エンドポイントのプレフィックス、同時実行制限、請求。
- ComfyUI デスクトップ/Manager の現在の動作、レジストリの標準、テンプレートのモデルリンクに関する安全ルール。
- すべてのカスタムノードパッケージのバージョン、インストール方法、依存関係ツリー、公開元の身元、セキュリティ状況。
- すべてのモデル/チェックポイント/LoRA/コントロール/アップスケーラー/動画モデルのライセンスと出力の使用条件。
- プラットフォームにおける開示、来歴、真正性、AI 生成メディアに関するポリシー。