メインコンテンツへスキップ

仕様

pyproject.toml ファイルには、ComfyUI カスタムノード用の 2 つの主要セクション [project][tool.comfy] が含まれています。以下に各セクションの仕様を示します。

[project] セクション

name(必須)

ノード ID はカスタムノードを一意に識別し、レジストリからの URL で使用されます。ユーザーはこの名前を参照してノードをインストールできます:
要件:
  • 100 文字未満であること
  • 英数字、ハイフン、アンダースコア、ピリオドのみ含めることができる
  • 連続した特殊文字を含めることはできない
  • 数字または特殊文字で始まることはできない
  • 大文字小文字を区別しない比較
ベストプラクティス:
  • 短く説明的な名前を使用する
  • 名前に「ComfyUI」を含めない
  • 記憶しやすく入力しやすい名前にする
例:
詳細については、公式 Python ドキュメント をご覧ください。

version(必須)

セマンティックバージョニング を使用し、3 桁のバージョン番号 X.Y.Z を採用します:
  • X(MAJOR): 破壊的変更
  • Y(MINOR): 新機能(後方互換性あり)
  • Z(PATCH): バグ修正
例:

license(オプション)

カスタムノードのライセンスを指定します。2 つの方法で指定できます:
  1. ファイル参照:
  1. ライセンス名:
一般的なライセンス:MITGPLApache

description(推奨)

カスタムノードの機能に関する簡単な説明。

repository(必須)

関連リソースへのリンク:

urls(推奨)

関連リソースへのリンク:

requires-python(推奨)

ノードがサポートする Python バージョンを指定します:

フロントエンドバージョン互換性(オプション)

ノードがサポートする ComfyUI フロントエンドバージョンに特定の要件がある場合、comfyui-frontend-package 依存関係を使用してこれを指定できます。このパッケージは PyPI で公開されています。 以下の場合にこのフィールドを使用します:
  • カスタムノードが特定のバージョンで導入されたフロントエンド API を使用している
  • ノードと特定のフロントエンドバージョン間の非互換性を特定した
  • ノードが新しいフロントエンドバージョンでのみ利用可能な特定の UI 機能を必要としている

classifiers(推奨)

分類子を使用して、オペレーティングシステムの互換性と GPU アクセラレータを指定します。この情報は、ユーザーがシステムに適したノードを見つけるのに役立ちます。

[tool.comfy] セクション

PublisherId(必須)

一意の発行元識別子。通常、GitHub ユーザー名と一致します。 例:

DisplayName(オプション)

カスタムノードのユーザーフレンドリーな名前。

Icon(オプション)

ComfyUI レジストリと ComfyUI-Manager に表示されるカスタムノードのアイコンへの URL。 要件:
  • ファイル形式:SVG、PNG、JPG、または GIF
  • 最大解像度:400px × 400px
  • アスペクト比は正方形であること

Banner(オプション)

ComfyUI レジストリと ComfyUI-Manager に表示される大きなバナー画像への URL。 要件:
  • ファイル形式:SVG、PNG、JPG、または GIF
  • アスペクト比:21:9

requires-comfyui(オプション)

ノードが互換性のある ComfyUI バージョンを指定します。これにより、ユーザーが正しいバージョンの ComfyUI をインストールしていることを確認するのに役立ちます。 サポートされる演算子: <><=>=~=<>!= および範囲

includes(オプション)

特定のフォルダーを強制的に含めるかどうかを指定します。フロントエンドプロジェクトのカスタムノードなど、一部の状況では、最終的なパッケージ出力フォルダーが .gitignore に含まれている可能性があります。そのような場合、レジストリ使用のために強制的に含める必要があります。
公開アーカイブからファイルを除外する(includes の逆)には、公開ページの .comfyignore を参照してください。

完全な例