Skip to main content
カスタムノードを使用すると、新しい機能を実装して、より広いコミュニティと共有できます。 カスタムノードは他のComfyノードと同じように、入力を受け取り、それに対して何らかの処理を行い、出力を生成します。非常に複雑なタスクを実行するカスタムノードもありますが、その多くは1つのことだけを行います。以下は、画像を受け取って反転させるシンプルなノードの例です。 ユニーク画像ノード カスタムノードの例: 開発にClaude Codeを使用している場合、ComfyUI Custom Node Skillsは、V3およびV1の両方のAPIをカバーするComfyUIノードシステムに関する包括的な知識をClaudeに提供します。Claude Codeマーケットプレイスからインストールするか、リポジトリのURLを追加すると、ノードの基本、入力、出力、データタイプ、高度なパターン、フロントエンド拡張機能、パッケージングをカバーする9つのスキルを入手できます。

クライアント・サーバーモデル

Comfyはクライアント・サーバーモデルで動作します。Pythonで書かれたサーバーが、データ処理、モデル、画像拡散など、実際の処理をすべて担当します。Javascriptで書かれたクライアントが、ユーザーインターフェースを担当します。 ComfyはAPIモードでも使用できます。このモードでは、Comfy以外のクライアント(別のUIやコマンドラインスクリプトなど)からサーバーにワークフローが送信されます。 カスタムノードは次の4つのカテゴリに分類できます。

サーバーサイドのみ

ほとんどのカスタムノードは、純粋にサーバーサイドのみで動作します。入力タイプと出力タイプを指定するPythonクラスを定義し、入力を処理して出力を生成するために呼び出せる関数を提供します。

クライアントサイドのみ

一部のカスタムノードはクライアントUIの変更を提供しますが、コア機能は追加しません。名前とは裏腹に、システムに新しいノードを追加しない場合もあります。

独立したクライアントとサーバー

カスタムノードは、追加のサーバー機能と、追加の(関連する)UI機能(新しいデータ型を扱うための新しいウィジェットなど)を提供する場合があります。ほとんどの場合、クライアントとサーバー間の通信はComfyのデータフロー制御によって処理できます。

接続されたクライアントとサーバー

ごく一部のケースでは、UI機能とサーバーが互いに直接やり取りする必要があります。
クライアント・サーバー間の通信を必要とするノードは、API経由での使用には対応しません。

次のステップ

クイックスタート

動作するカスタムノードを構築して登録する手順を、ステップごとに解説します。

Python(バックエンド)

ノードクラスの契約:プロパティ、入力、戻り値の型。

JavaScript(UI)

ノードパッケージからComfyUIのフロントエンドを拡張します。

パッケージと公開

ノードをComfy Registryに公開します。