
自作したComfyUIのカスタムノードをGitHubで公開しても、そのままではComfyUI-Managerの検索結果に表示されません。
Managerから検索してインストールできるようにするには、Comfy Registryへの登録が必要です。
私も今回初めてやってみたので、アウトプット兼ねてカスタムノードを登録するところまでを紹介します。
- 登録に必要なもの(pyproject.tomlとAPIキー)
- 自作カスタムノードを登録するまでの手順
- 登録に失敗したときの確認方法
登録完了までの全体像
ざっくりこんな感じで進めていきます。
- 登録前の確認・前提
- Comfy RegistryでPublisherを作成する
- Registry公開用のAPIキーを発行する
- 不要なファイルを配布対象から除外
- requirements.txtの有無を確認
- pyproject.tomlを作成する
- カスタムノードを公開する
- comfy node publishを使う場合
- GitHub Actionsを使う場合
- RegistryとComfyUI-Managerで表示を確認する
カスタムノードをManagerに登録する手順
登録前の確認・前提
カスタムノードは作成済み、GitHubに公開済みであることが前提です。
今回はAIに作って貰ったComfyUI-FolderBatchというカスタムノードがあるので、それを登録してみます。
フォルダ内の画像・動画・音声・テキストを1件ずつComfyUIのキューへ流すためのカスタムノード集です。

現在カスタムノード本体はできていて、Registryへ公開するための情報が足りない状態になっています。
| 確認項目 | FolderBatchの状態 |
|---|---|
| GitHubリポジトリ | 作成済み |
| README | 英語・日本語の説明あり |
| LICENSE | MIT Licenseあり |
| ノードの動作 | ローカルのComfyUIで使用中 |
| pyproject.toml | 未作成 |
| Registry | 未登録 |
Comfy RegistryでPublisherを作成する
カスタムノードをComfyUI-Managerに登録するためにComfy RegistryでアカウントやAPIキーの取得が必要です。
まずComfy Registryにアクセスしてアカウントを作成します。
サインアップをクリックしてください。

登録方法をGoogle、GitHub、メールから選べます。

アカウント登録したらページトップの開始するをクリックします。

新しいパブリッシャーをクリックします。

あとは任意のユーザー名・表示名を入力して作成を押してください。

表示名は後から変えられますが、ユーザー名(Publisher ID)は変更できないので注意が必要です。
Registry公開用のAPIキーを発行する
パブリッシャーを作成すると表示名のリンクがでるので、それをクリックします。

APIキーから新しいキーを作成をクリックします。

任意の名前・説明を入れて秘密鍵を作成をクリックします。

キーが表示されるので、安全な場所に保管しておいてください。
書いてある通り紛失した場合は、新しいキーの作成が必要です。

不要なファイルを配布対象から除外
公開すると、Gitで管理しているファイルが公開用パッケージへ入ります。
そのため、キャッシュや開発用ファイルをそのまま含めないようにした方が良いです。
FolderBatchだと__pycache__内のファイルがGit管理に入っていたのと、公開後のnode.zipが入らないようにしました。
gitで追跡したくないものは.gitignore、公開パッケージに含めたくないものは.comfyignoreに書きます。
ファイルはリポジトリ直下に置けばOKです。
__pycache__/
*.py[cod]
*.ziprequirements.txtの有無を確認
カスタムノードがComfyUIに入っていない外部ライブラリを使う場合は、必要なパッケージをrequirements.txtなどへ記載します。
ただし、必要のないライブラリまで追加すると、利用者のPython環境で競合する原因になります。
何らかのカスタムノードを入れたらComfyUIの挙動がおかしくなったみたいなことは、こういうところで発生してしまう可能性が高いです。
ComfyUI本体で使われてるライブラリのみ使うカスタムノードであれば、requirements.txtは必須ではありません。
今回登録するComfyUI-FolderBatchもComfyUI本体のライブラリだけで動作するため、requirements.txtは作りませんでした。
pyproject.tomlを作成する
pyproject.tomlは、Comfy Registryへ登録するための情報を書く設定ファイルです。
Registryへ表示するノード名、説明、バージョン、作者情報などを書きます。
[project]
name = "ComfyUI-FolderBatch"
description = "Folder-based batch queue helpers for ComfyUI"
version = "1.0.0"
license = { file = "LICENSE" }
dependencies = []
[project.urls]
Repository = "https://github.com/aiai-r/ComfyUI-FolderBatch"
[tool.comfy]
PublisherId = "aiaicreate"
DisplayName = "ComfyUI-FolderBatch"公開前にRegistryで同じ名前が使われていないか確認し、実際の名前を確定します。
主な設定項目
| 項目 | 内容 |
|---|---|
| name | Registry内で使う重複不可のNode ID |
| description | 何ができるノードかを短く書く説明 |
| version | 公開するバージョン。初回は1.0.0など |
| license | リポジトリ内のライセンスファイル |
| Repository | カスタムノードのGitHub URL |
| PublisherId | Registryで作成したPublisher ID |
| DisplayName | 利用者向けに表示する名前 |
公式ではnameは短く説明的な名前が推奨されており、Node IDへComfyUIを含めない形が案内されています。
ただ実際登録されているカスタムノードを見るとリポジトリ名やカスタムノード名をそのまま使用している方が多いので、私はComfyUI-FolderBatchにしました。
またこのpyproject.tomlはcomfy-cliでひな形が作れます。
インストールはpipで実行できます。
# ポータブル版
cd ComfyUI_windows_portable
.\python_embeded\python.exe -m pip install comfy-cli
# StabilityMatrix
& "C:\StabilityMatrix-win-x64\Data\Packages\ComfyUI\venv\Scripts\python.exe" -m pip install comfy-cliインストール後、登録するカスタムノードフォルダに移動します。
# ポータブル版
cd C:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-FolderBatch
# StabilityMatrix
cd C:\StabilityMatrix-win-x64\Data\Packages\ComfyUI\custom_nodes\ComfyUI-FolderBatchあとはコマンドを実行するだけです。
# ポータブル版
& "C:\ComfyUI_windows_portable\python_embeded\Scripts\comfy.exe" node init
# StabilityMatrix
& "C:\StabilityMatrix-win-x64\Data\Packages\ComfyUI\venv\Scripts\comfy.exe" node init実行すると以下の質問が出ます。
これはcomfy-cliの利用状況を匿名で収集してよいかという確認です。
Do you agree to enable tracking to improve the application?
良ければyを入力、送信したくない場合はn、またはそのままEnterを押せば進めます。

実行後、フォルダ内にpyproject.tomlが作成されたら完成です。
あとはPublisherIdなどが空なので、上記の通り内容を修正してください。
カスタムノードを公開する
comfy node publishを使う場合
公開もcomfy-cliのコマンドでできます。
同じフォルダで以下のコマンドを実行してください。
& "C:\StabilityMatrix-win-x64\Data\Packages\ComfyUI\venv\Scripts\comfy.exe" node publish途中でAPIキーを求められるので、先ほど発行したRegistry公開用APIキーを入力します。

コピペしても表示されませんが、Ctrl+Vで貼り付けたらそのままEnterでOKです。
GitHub Actionsを使う場合
GitHub Actionsを使う場合は、先にAPIキーをGitHubに登録します。
Settings
→ Secrets and variables
→ Actions
→ Repository secrets
→ New repository secret

任意の名前を付けて、Comfy Registryで取得したAPIキーを入力し、Add secretをクリックします。
今回はREGISTRY_ACCESS_TOKENで進めます。

次にGitHub Actionsの設定ファイルを作成します。
リポジトリ内に以下のファイルを作成してください。
・パス
.github/workflows/publish_action.yml・publish_action.ymlの中身
name: Publish to Comfy Registry
on:
workflow_dispatch:
push:
branches:
- main
paths:
- "pyproject.toml"
jobs:
publish-node:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Publish custom node
uses: Comfy-Org/publish-node-action@main
with:
personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }}Secretで別の名前を使った場合は、REGISTRY_ACCESS_TOKEN部分も修正してください。
これでgit pushするとその時点で公開処理が実行されます。
StatusはActions タブから確認可能です。
一度失敗してから手動でやったので画像はManuallyになってますが、通常はpushした時点で公開処理されます。

RegistryとComfyUI-Managerで表示を確認する
どちらの手順でやってもComfy Registryにアクセスして、カスタムノードが追加されていれば実行できています。

CLIでやった方が1.0.0、GitHubでやったのが1.0.1なので、どちらからでも公開できるのが確認できました。

ComfyUI-Managerでも検索で表示されるようになっています。

登録できないときの確認方法
公開できない場合は、CLIとGitHub Actionsのどちらで失敗したかを分けて確認します。
まずは実行結果を見て、該当する項目を確認してください。
GitHub Actionsが実行されない
今回作成した設定では、mainブランチへpyproject.tomlを含む変更をpushしたときにGitHub Actionsが動きます。
コードだけを修正してpyproject.tomlを変更しなかった場合は、公開処理が始まりません。
また、リポジトリのブランチ名がmasterの場合は、publish_action.yml内のmainをmasterへ変更してください。
実行されたかどうかは、GitHubリポジトリのActionsタブから確認できます。
APIキーのエラーが表示される
GitHub Actionsで次のエラーが表示された場合は、Registry公開用APIキーがActionへ渡っていません。
Option '--token' requires an argument.GitHubのSettingsからSecrets and variables、Actionsの順に開き、Repository secretsを確認します。
REGISTRY_ACCESS_TOKENという名前で、Comfy Registryから取得したAPIキーを登録してください。
登録後はバージョン番号を変えず、失敗したActionsを開いてRe-run jobsを押せば再実行できます。
同じバージョンが公開済みと表示される
Registryでは、一度公開したバージョンの中身を同じ番号のまま差し替えられません。
CLIとGitHubでバージョン変えたのもこれが理由です。
例えば1.0.0が公開済みなら、pyproject.tomlを開いて1.0.1へ変更します。
[project]
version = "1.0.1"保存後、GitHub Actionsを使う場合はGitHubへpushし、CLIを使う場合は再びcomfy node publishを実行してください。
RegistryやManagerに表示されない
最初に、CLIの最後に公開成功のURLが表示されたか、GitHub Actionsに緑色のチェックが付いているかを確認します。
公開処理が失敗している場合は、RegistryやManagerを探す前に表示されたエラーを修正してください。
Registryには表示されているのにManagerで見つからない場合は、Managerの一覧を更新してからComfyUIを再起動します。
それでも見つからないときは、ComfyUIとManagerを最新版へ更新してから再度検索してください。
まとめ
以上ComfyUIの自作カスタムノードをManagerに登録する方法を紹介しました。
一度やってしまえばそこまで難しくないと思います。
更新するときはバージョン番号を上げて出し直すことだけ押さえておけば大丈夫そうです。
参考になれば幸いです。

