【ComfyUI】 ComfyUI Registryに自作のカスタムノードを登録し、公式のカスタムノードとして利用してもらおう!
先日、初めてComfyUIのカスタムノードを作成し、GitHubで公開しました。以下が作成したカスタムノードになります。このカスタムノードは、fal.aiのFLUX.1[dev]のAPIを実行するためのノードになります。
今回は、このカスタムノードをComfy Registryに登録し、公式のカスタムノードとしてComfyUI Managerからインストールできるようにするまでの過程を解説します。
1. はじまりはPRから
リポジトリを公開した翌日、ComfyUIの公式チームのRobin氏からPR(Pull Request)が届いていました。内容としては、ComfyUIが公式で管理しているカスタムノードの公開コレクションの「Comfy Registry」に私が作成したカスタムノードを登録してほしいという旨でした。
私もカスタムノードを公開するにあたり、ComfyUI Managerからインストールできないのは不便だと感じていたので、Comfy Registryに登録することにしました。
PRでCommitされたファイルは、以下の2点でした。
pyproject.toml: ComfyUI Registryにカスタムノードを登録する際の情報をまとめたファイル
.github/workflows/publish.yml: pyproject.tomlの更新をトリガーに発動し、リポジトリの更新をComfyUI Registryに反映するworkflow
これらのファイルとPRのメッセージを基に登録を進めて行きたいと思います。
2. Comfy Registryとは
Comfy Registryは、ComfyUI用のカスタムノードを発見し、インストールするためのプラットフォームです。開発者はカスタムノードを公開し、バージョン管理や非推奨化、メトリクスの追跡が可能です。ユーザーはこのレジストリを通じてカスタムノードを見つけ、インストールし、評価することができます。
Comfy Registryの特徴
バックエンドとしての役割: Comfy Registryは、ComfyUI Managerのデフォルトバックエンドとして統合されており、カスタムノードのシームレスなインストールを自動化するために使用されます。
ノードの検証: Comfy Registryは、カスタムノードが悪意のある動作をしないかどうかをスキャンし、検証済みのノードにはUI-manager上で確認フラグが表示されます。
自動テスト: Comfy Registryは、新しいバージョンのカスタムノードが既存のワークフローに対して問題なく動作するかどうかを自動的にテストします。これにより、ユーザーは安心してノードをアップデートできます。
3. Publisher IDの発行
まず、以下のリンクからComfy Registryにアクセスしてください。
Comfy Registryのトップ画面にある「Sign up」をクリックしてください。
ログイン方法の選択画面に遷移します。ログインは、GoogleまたはGitHubのアカウントとの連携によりログイン可能です。今回は、GitHubアカウントでログインします。「Continue with GitHub」をクリックしてください。
「Authorize Comfy-Org」をクリックします。
ログインが完了し、登録済みノード一覧の画面に遷移します。「New Publisher」をクリックします。
Publisher IDの作成画面に遷移します。UsernameとDisplay Nameを入力し、「Create」をクリックします。ここで、UsernameがPublisher IDになります。
これでPublisher IDの発行が完了します。
4. APIキーの発行とリポジトリのSecretsへの登録
GitHub Actionsで自動でComfy Registryにカスタムノードを登録するために、Comfy RegistryのAPIキーを取得します。
Your Nodes画面にある「Create new key」をクリックします。
APIキーの作成画面に遷移します。ここで、APIキーを識別する名称をNameに入力し、「Create Secret Key」をクリックしてください。Descriptionは、必須入力ではないので、必要に応じて入力してください。
APIキーが作成されます。APIキーが表示されている欄の右にある「Copy」をクリックすると、APIキーをコピーできます。
次に、このAPIキーをGitHubのSecretsに登録します。該当リポジトリの「Settings」タブを開き、「Secrets and variables」セクションの「Actions」を選択してください。その後、表示された画面の「New repository secret」をクリックしてください。
Secretの新規作成画面に遷移します。Nameに「REGISTRY_ACCESS_TOKEN」と入力し、Secretに先ほど作成したAPIキーを貼り付けてください。最後に「Add secret」をクリックします。
APIキーがSecretに登録されます。
5. publish.ymlの追加
.github/workflowsディレクトリにpublish.ymlを追加します。publish.ymlの中身は以下になります。各自で変更が必要な箇所は、branchesくらいかと思います。
name: Publish to Comfy registry
on:
workflow_dispatch:
push:
branches:
- main
- master
paths:
- "pyproject.toml"
jobs:
publish-node:
name: Publish Custom Node to registry
runs-on: ubuntu-latest
# if this is a forked repository. Skipping the workflow.
if: github.event.repository.fork == false
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Publish Custom Node
uses: Comfy-Org/publish-node-action@main
with:
## Add your own personal access token to your Github Repository secrets and reference it here.
personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }}
6. pyproject.tomlの追加
リポジトリのルートディレクトリにpyproject.tomlを追加します。ここで、PublisherIdには、先ほど発行したPublisher IDを先頭の"@"なしで追記します。
[project]
name = "comfyui-fal-api-flux"
description = "This repository contains custom nodes for ComfyUI that integrate the fal.ai FLUX.1 [dev] with LoRA API, specifically for text-to-image generation. These nodes allow you to use the FLUX.1 model directly within your ComfyUI workflows."
version = "1.0.0"
license = {file = "LICENSE"}
dependencies = ["requests==2.32.3", "configparser==7.1.0", "fal-client==0.4.1", "numpy==1.24.3", "torch==2.1.1+cu121"]
[project.urls]
Repository = "https://github.com/yhayano-ponotech/ComfyUI-Fal-API-Flux"
# Used by Comfy Registry https://comfyregistry.org
[tool.comfy]
PublisherId = "your-publisher-id"
DisplayName = "ComfyUI-Fal-API-Flux"
Icon = ""
7. Comfy Registryへの登録
ここまでの設定が完了していると、pyproject.tomlをコミットすると、workflowが発動し、自動でComfy Registryへの登録が進みます。
手動で登録したい場合は、comfy-cliをインストールし、"comfy node publish"を実行することで登録可能なようです。
pip install comfy-cli
comfy node publish
登録が完了すると、Your Nodesの画面にカスタムノードが表示されます。
カスタムノードをクリックすると、以下のように詳細が表示されます。
この記事でご紹介したAI技術の応用方法について、もっと詳しく知りたい方や、実際に自社のビジネスにAIを導入したいとお考えの方、私たちは、企業のAI導入をサポートするAIコンサルティングサービスを提供しています。以下のようなニーズにお応えします。
AIを使った業務効率化の実現
データ分析に基づくビジネス戦略の立案
AI技術の導入から運用・教育までの全面サポート
専門家によるカスタマイズされたAIソリューションの提案
初回相談無料ですので、お気軽にご相談ください。以下のリンクからお問い合わせください。
この記事が気に入ったらサポートをしてみませんか?