タグ: ComfyUI マスターガイド

  • [6]ComfyUI設定完全ガイド!(前編)

    こんにちわ、AICU media編集部です。
    ComfyUIマスターガイド」シリーズの第6回です!
    今回は、ComfyUIの設定画面について、前後編にわけて解説していきたいと思います。

    前回はこちら シリーズ初回はこちら

    本記事では、ComfyUIの設定で知っているとオトクな詳細項目を初心者の方にも分かりやすく解説します。ロギング、開発者モード、ノード接続線の表示、別名保存、プレビュー品質、ウィジェット更新タイミングなど…。これらの設定をマスターして、ComfyUIを自分好みにカスタマイズしましょう!

      1. 設定画面の開き方

      キャンバスの画面にて、メニューの上部の歯車マーク[⚙]をクリックします。

      画像

      ComfyUIの設定画面が開きます。

      画像

      2. 設定画面の項目の分類

      設定画面には、多くの設定項目がありますが、本記事では重要な機能を紹介します。設定画面の項目の中には、ComfyUIで標準機能として提供されている項目と、ComfyUI Managerで追加機能として提供されている項目があるため、この分類も同時に説明していきましょう。

      • ロギングの有効/無効(ComfyUI)
      • 開発者モードの有効化(ComfyUI)
      • ノードの接続線の表示方法の変更(ComfyUI Manager)
      • ワークフローを別名で保存機能の有効化(ComfyUI)
      • プレビュー時の画像品質の指定(ComfyUI)
      • ウィジェットの更新タイミングの設定(ComfyUI Manager)

      3. 重要な機能の解説

      ロギングの有効/無効

      Logging(ロギング)は、ComfyUIが起動されたブラウザやOSの情報や、拡張機能のロード情報などのシステムに関連する情報をログとして出力します。デフォルトで有効化されていますが、チェックボックスのチェックを外せば無効化することもできます。

      画像

      View Logs」をクリックすることで、ログを確認することができます。

      画像

      開発者モードの有効化

      Enable Dev mode Optionsは、開発者モードを有効化する項目です。この項目にチェックを入れることで、開発者モードに移行します。

      画像

      開発者モードになると、メニューに「Save (API Format)」という項目が追加され、API用のワークフローを出力できるようになります。

      画像

      ComfyUIはAPIとして使用することもできます。ComfyUIのAPI化については後日別記事にて解説しますので、本記事ではAPI化のセーブができるということを知っておいていただければ大丈夫です。

      ノードの接続線の表示方法の変更

      Link Render Mode(リンクのレンダーモード)は、ノード間を繋ぐ線の表示方法を変更します。通常は、曲線で描かれますが、これを直線や直角線、表示なしに変更することができます。ぜひ皆さんの見やすい表示方法を探してみてください。

      画像

      リンクのレンダーモードは、以下の4種類から選択できます。

      • Spline
        デフォルトのモードがSplineで、下図のように接続線が曲線で描かれます。
      画像
      • Straight
        下図のように接続線が直線で描かれます。曲がる箇所は、自動で直角になります。
      画像
      • Linear
        下図のように接続線が直線で描かれます。Straightと異なり、曲がる箇所はなく、すべて一直線で繋がるように描かれます。
      画像
      • Hidden
        接続線を非表示にします。
      画像

      ワークフローを別名で保存機能の有効化

      Prompt for filename when saving workflowは、ワークフローの保存時、標準のファイル名ではなく、別名を付けて保存する機能を有効化する項目です。

      画像

      ワークフローの保存は、メニューの「Save」をクリックすることで、JSON形式のファイルで保存できます。

      画像

      この機能のチェックボックスにチェックが入っていない場合は、標準のファイル名である「workflow.json」で保存されます。チェックが入っていた場合、下図のように別名を入力するダイアログが表示されます。保存される場所は、いずれの場合もブラウザで設定されているダウンロードフォルダに保存されます。

      画像

      プレビュー時の画像品質の指定

      When displaying a preview in the image widget, convert it to a lightweight image, e.g. webp, jpeg, webp;50, etc.では、生成画像のプレビュー時の画像品質を指定できます。

      画像

      例えば、512×512の解像度で画像を10枚生成した場合、プレビューでは512×512の解像度で10枚の画像が表示されます。生成する画像の解像度が高かったり、枚数が多くなると、プレビューの表示が遅くなってしまいます。
      そこで、この項目に画像形式を指定すれば、低い解像度で生成画像をプレビューでき、表示速度を上げることができます。例えば、「webp;50」と指定した場合、webp形式で品質50%の画像をプレビューに表示します。品質値は、パーセントで指定するため、1-100の間で指定してください。

      画像

      ウィジェットの更新タイミングの設定

      Widget Value Control Modeは、ウィジェットの更新タイミングを指定します。更新タイミングは、「after」と「before」から選択でき、デフォルトでは「after」が設定されています。

      画像

      この設定は、固定値ではないウィジェットの更新タイミングを制御する設定です。例えば、ランダム生成時のシード値(*1)が対象になります。ここでは、シード値を例にウィジェットの更新タイミングについて説明します。

      *1 シード値(seed)は、Stable Diffusionでの画像生成内部で使われる乱数列を決める種(seed)のようなものです。(ゲームやサイコロとは異なり)同じシード値を使えば、同じ乱数列が生成され、結果として同じ画像が生成される可能性が高くなります。いわば画像の性質の種を決める番号と言えるでしょう。

      「before」の場合(編集部のオススメ)

      • ウィジェットの値は、ノードの実行直前に更新されます。つまり「Queue Prompt」ボタンを押す前に設定した値が適用されます。
      • 表示されているシード値は、現在表示されている画像に使用された値です。
      • 例えば、画像生成を開始する前のシード値が「98765」だったとします。beforeの場合、画像生成の前にウィジェットが更新(シード値が更新)されるため、このシード値は使用されません。ウィジェットの更新後のシード値が「12345」と設定されて画像生成された場合、画像生成後に画面に表示されているシード値は「12345」となり、画像生成に使用されたシード値を画面で確認することができます

      「after」の場合(デフォルト)

      • ウィジェットの値は、ノードの実行後に更新されます。つまり、画像生成が完了した後に設定した値が表示されています。
      • 表示されているシード値は、次回の画像生成で使用される値です。現在表示されている画像のシード値は直接確認できません。
      • 例えば、画像生成を開始する前のシード値が「1」だったとします。afterの場合は、「1」を使用して画像が生成されます。しかし、その後にシード値が更新され「2」が表示されています。つまり画像生成に使用されたシード値を画面で確認できません
      画像
      実験してみました。

      「before」設定では、同じシード値を再入力することで、以前生成した画像と同じ画像を再現できます。「after」設定では、シード値が自動更新されるため、同じ画像を再現するには、自動更新される前にシード値をメモしておく必要があります。

      AICU編集部としてはオススメは「before」ですね!
      説明のためにも、入れた値が表示と一致しているのがありがたいです。

      本記事では、ComfyUIの設定画面にある、知っていると便利な詳細項目を初心者の方にも分かりやすく解説しました。ロギング、開発者モード、ノード接続線の表示、別名保存、プレビュー品質、ウィジェット更新タイミングなど…これらの設定をマスターすることで、ComfyUIを自分好みにカスタマイズし、より快適に画像生成を行うことができるようになります。ぜひ、本記事を参考にして、ComfyUIを最大限に活用してください!

      次回は更に便利となる設定をご紹介していきたいと思います!


      画像生成AI「ComfyUI」マスターPlan

      画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、ゼロから学ぶ「ComfyUI」マガジンからまとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

      • メンバー限定の会員証が発行されます
      • 活動期間に応じたバッジを表示
      • メンバー限定掲示板を閲覧できます
      • メンバー特典記事を閲覧できます
      • メンバー特典マガジンを閲覧できます
      • 動画資料やworkflowといった資料への優先アクセスも予定

      ゼロから学ぶ「ComfyUI」マガジン

      https://note.com/aicu/m/md2f2e57c0f3c

      マガジン単体の販売は1件あたり500円を予定しております。
      2件以上読むのであればメンバーシップ参加のほうがお得です!というのもメンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

      https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487

      もちろん、初月は無料でお試しいただけます!
      毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
      退会率はとても低く、みなさまにご満足いただいております。

      ✨️オトクなメンバーシップについての詳細はこちら

      今回のボーナス画像とプロンプトはプラネタリウムに来たLuC4くんです。
      みなさんは天体観測お好きですか?色々な星座たちが「幾千光年離れた星々のきらめきを繋げて生まれた存在…」と思うと心がとても揺らぎますよね。

      画像

      この記事の続きはこちらから https://note.com/aicu/n/nd5325821d292

      Originally published at https://note.com on Aug 13, 2024.

    1. [5]ComfyUI カスタムノード徹底解説!機能とメリットを理解しよう

      こんにちわ、AICU media編集部です。
      「ComfyUI マスターガイド」第5回目になります。今回は、「カスタムノード」について、実際にインストールをした後の使い方と合わせて掘り下げていきたいと思います。

      前回はこちら シリーズ初回はこちら

        1. カスタムノードとは?

        カスタムノードとは、使う人が独自に機能を拡張することができる、ComfyUIの「拡張パーツ」のようなものです。まるでレゴブロックのように、様々なカスタムノードを組み合わせることができるので、自分だけのオリジナル作品を創造していくことできます。とても楽しそうですね!

        さて、カスタムノードがなぜあるのか。それは、使う人一人ひとりのニーズや創造性に合わせた柔軟な画像生成環境を提供するためです。標準機能だけでは実現できない、細かな調整や特殊効果、また最新のAI技術の導入などをカスタムノードでは行うことができます!

        初心者にとって、カスタムノードを理解することは、ComfyUIの可能性を最大限に引き出すための非常に重要な一歩となります。最初は難しく感じるかもしれませんが、この記事を通して、ぜひカスタムノードの基本的な知識を理解いただき、さらにComfyUIの世界をより深く探求するきっかけにしてみてください。

        2. カスタムノードの基礎知識

        カスタムノードとは何か

        カスタムノードは、ComfyUIの機能を拡張するためのユーザー定義のモジュールになります。料理で例えると、標準ノードが「基本的なレシピ」だとすれば、カスタムノードは「その人それぞれの独自のレシピ」と言えるでしょう。

        例えば、「野菜炒め」という料理を作る際に、野菜を切る、炒める、味付けをするといった基本的な手順は標準ノードでカバーできます。しかし、「特製ソースを使う」「隠し味を加える」といった独自の工夫は、カスタムノードで実現できます。

        画像

        カスタムノードの基本的な構造は、標準ノードと同様に、入力 → 処理 → 出力の流れで成り立っています。入力として画像やテキストなどのデータを受け取り、内部でPythonコードによって処理を行い、結果を出力します。

        例えば、「色調整ノード」であれば、入力として画像データを受け取り、明るさやコントラストなどを調整し、調整後の画像データを出力します。また、「プロンプト拡張ノード」であれば、入力として短いプロンプトを受け取り、それを詳細なプロンプトに拡張して出力します。

        カスタムノードとPythonの関係

        カスタムノードの内部処理は、Pythonというプログラミング言語で記述されています。Pythonは、その読みやすさと豊富なライブラリ、活発なコミュニティサポートによって、世界中で広く使われているプログラミング言語です。

        Pythonがカスタムノードに使用されている理由は、その柔軟性と拡張性の高さにあります。様々なライブラリを活用することで、画像処理、自然言語処理、機械学習など、多岐にわたる機能を簡単に実装できます。

        Pythonコードの基本構造は、入力の受け取り → 処理 → 出力の生成という流れです。カスタムノードでも、このPythonコードによって入力データを処理し、 望ましい出力を生成します。例えば、以下のようなコードでカスタムノードは作成されています。

        # カスタムノードの基本構造を示すサンプルコード
        
        # 1. 必要なライブラリをインポート
        import numpy as np
        from PIL import Image
        
        # 2. カスタムノードのクラスを定義
        class SimpleImageProcessor:
            # 3. 初期化メソッド
            def __init__(self):
                self.brightness_factor = 1.5
        
            # 4. 入力を受け取り、処理を行い、出力を生成するメソッド
            def process_image(self, input_image):
                # 入力画像をNumPy配列に変換
                img_array = np.array(input_image)
        
                # 画像の明るさを調整
                brightened_array = np.clip(img_array * self.brightness_factor, 0, 255).astype(np.uint8)
        
                # 処理結果を新しい画像として生成
                output_image = Image.fromarray(brightened_array)
        
                return output_image
        
        # 5. カスタムノードの使用例
        if __name__ == "__main__":
            # 入力画像を読み込む(実際のComfyUIでは自動的に提供されます)
            input_img = Image.open("input_image.jpg")
        
            # カスタムノードのインスタンスを作成
            processor = SimpleImageProcessor()
        
            # 画像を処理
            result_img = processor.process_image(input_img)
        
            # 結果を保存(実際のComfyUIでは自動的に次のノードに渡されます)
            result_img.save("output_image.jpg")
        
            print("画像処理が完了しました!")

        何が書いてあるかわからない?安心してください!Pythonコードを理解していなくても、カスタムノードを利用できます!ComfyUIは、ユーザーフレンドリーなインターフェースを提供しており、コードを直接操作することなく、カスタムノードの機能を活用できるのです。

        標準ノードとカスタムノードの違い

        標準ノードは、ComfyUIにデフォルトで搭載されている基本的な機能を提供するノードです。例えば、画像を読み込む「Load Image」や、プロンプトを入力する「CLIP Text Encode (Prompt)」などが挙げられます。これらのノードは、ComfyUIの基本的な操作を行うために必要不可欠です。

        しかし、標準ノードだけでは実現できない機能や、より高度な処理が必要になる場合もあります。そこで登場するのがカスタムノードです。カスタムノードでは、標準ノードではカバーできない機能を補完し、ComfyUIの機能を拡張することができます。

        例えば、複数の標準ノードを組み合わせて行っていた複雑な処理を、1つのカスタムノードにまとめることで、ワークフローを大幅に簡略化することもできます。また、最新のAIモデルを統合したカスタムノードを使用することで、より高品質な画像生成が可能となります。

        3. カスタムノードの重要性

        ComfyUIの柔軟性向上

        カスタムノードは、ComfyUIの柔軟性を飛躍的に向上させます。使う人は自分のニーズや好みに合わせて、様々な機能を追加し、ComfyUIを自分だけのツールへとカスタマイズすることができます。例えば、特定の画風や効果を簡単に適用できるカスタムノードを作成することで、自分だけのオリジナル作品を効率的に制作することも可能です。

        画像

        ユーザー体験の改善

        カスタムノードは、複雑な操作を簡略化しより直感的にComfyUIを使用できるようになります。また、視覚的にわかりやすいアイコンや名称を使用することで、ノードの機能を容易に理解し、スムーズなワークフローを実現できます。

        例えば、「efficiency-nodes-comfyui」というカスタムノードでは、モデルのロード(Load Checkpoint)、プロンプトの入力(CLIP Text Encode (Prompt))、空の潜在空間の作成(Empty Latent Image)などを1つのノードにまとめ、簡略化を実現しています。
        実際にインストールをしてみてみましょう。

        画像

        ワークエリア上でカチカチッとダブルクリックをして『efficient』と入力したら…出てきました!早速クリックをしてみます。

        画像

        補足です。空の潜在空間の作成(Empty Latent Image)とはいつもの text to imageな空の潜在空間では、画像のサイズや生成回数を記入しているノードのことです。

        画像

        通常の「Empty Latent Image」ノード
        ここではempty_latent_width, empty_latent_height, は 512, 512(SD1.5系)もしくは、1024, 1024 (SDXL系)、batch_size(生成回数) 1→15 など、用途に合わせて記入しましょう。

        画像生成プロセスの最適化

        カスタムノードは、画像生成プロセスの最適化にも貢献します。最適化されたアルゴリズムを使用することで、処理速度を向上させ、より短時間で高品質な画像を生成できます。また、高度なノイズ除去や詳細強化機能を追加することで、画像の品質をさらに向上させることができます。
        例えば、「ComfyUI_IPAdapter_plus」というカスタムノードでは、IP-Adapterという参照画像を基に画像生成を行える技術を簡単に使用することができるノードです。標準ノードでは実現が難しい技術をカスタムノードでサポートしています。

        画像

        コミュニティ駆動の革新

        カスタムノードは、ComfyUIコミュニティの活発な活動を促進し、革新的なアイデアを生み出す原動力となっています。使う人々が自由にアイデアを共有し、カスタムノードとして実装することで、多様なニーズに対応した機能が次々と誕生しています。特定の業界や用途に特化したカスタムノードも開発されており、ComfyUIの可能性は無限に広がっています。

        画像

        プログラミングの知識がなくても活用できる利点

        カスタムノードは、プログラミングの知識がなくても活用できるという大きな利点があります。ユーザーフレンドリーなインターフェース、コミュニティによるサポート、豊富な情報源など、初心者でも安心してカスタムノードを利用できる環境が整っています。最初は既存のカスタムノードを使用し、徐々に使い方を学び、最終的には自分でカスタムノードを開発する、といった段階的な学習も可能になってきます。

        画像

        4. まとめ

        カスタムノードは、ComfyUIの機能を拡張することで、ユーザー体験は格段と向上します。Pythonで記述されたこれらのモジュールは、ワークフローの効率化、高度な機能の追加、コミュニティ駆動の革新など、様々なメリットをもたらすことができます。

        Pythonとカスタムノードの関係を理解することで、ComfyUIの無限の可能性を最大限に引き出すことができます。初心者の方は、まずは既存のカスタムノードを試してみて、その機能や使い方を学んでみましょう!コミュニティのサポートや豊富な情報源を活用することで、徐々にカスタムノードに慣れていくことができます。

        今回は以上になります。
        どんどんComfyUIについて学ぶことが出来ているのではないでしょうか?この後のボーナストラックではお得なTipsを公開しております。次回も楽しくComfyUIを学べるような内容をご用意しておりますので是非楽しみにしていてください!

        画像生成AI「ComfyUI」マスターPlan

        画像

        画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、ゼロから学ぶ「ComfyUI」マガジンからまとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

        • メンバー限定の会員証が発行されます
        • 活動期間に応じたバッジを表示
        • メンバー限定掲示板を閲覧できます
        • メンバー特典記事を閲覧できます
        • メンバー特典マガジンを閲覧できます
        • 動画資料やworkflowといった資料への優先アクセスも予定

        ゼロから学ぶ「ComfyUI」マガジン

        https://note.com/aicu/m/md2f2e57c0f3c

        マガジン単体の販売は1件あたり500円を予定しております。
        2件以上読むのであればメンバーシップ参加のほうがお得です!というのもメンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

        https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487

        もちろん、初月は無料でお試しいただけます!
        毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
        退会率はとても低く、みなさまにご満足いただいております。

        ✨️オトクなメンバーシップについての詳細はこちら


        この記事の続きはこちらから https://note.com/aicu/n/n5d5e6b0199b3

        Originally published at https://note.com on Aug 12, 2024.

      1. [4]ComfyUIカスタムノード導入ガイド! 初心者でも安心のステップバイステップ解説

        こんにちわ、AICU media編集部です。
        「ComfyUI マスターガイド」第4回目になります。今回は、ComfyUI Managerの基本的な使い方についてお届けしたいと思います。
        この先のComfyUIの使いこなしを学ぶ上で、必須となる「カスタムノード」と「モデル」の導入にあたり必須の知識を解説します!

        前回はこちら シリーズ初回はこちら

        ComfyUIを最大限に活用するための第一歩!

        ComfyUIの拡張機能は、画像生成の幅を広げるために必須なツールです!様々な効果や機能を追加することで、あなたのアイデアを形が更に広がっていきます。この記事では、基本となるカスタムノードモデルのインストール方法をステップバイステップで解説していきます。

        ComfyUI Managerへのアクセス

        • メニューバー下部の「Manager」ボタンをクリックします。
        画像
        • ComfyUI Managerのインターフェースが新しいウィンドウで開きます。
        画像

        カスタムノードのインストール

        • Manager画面の「Custom Nodes Manager」ボタンをクリックします。
        画像
        • 利用可能なカスタムノードのリストが表示されます。
        画像
        • インストールしたいノードの横にある「Install」ボタンをクリックします。

          ★このあとアンインストールまで試しますので何を選んでも構いません。
        画像
        • インストールが完了すると、ComfyUIの再起動を求められるので、下部の「Restart」ボタンを押下します。
        画像
        • 再起動が完了するまで待機します。再起動中は、”Reconnecting…”というメッセージが中央に表示され、完了すると、このメッセージが消えます。
        画像
        • 再度「Custom Nodes Manager」を開き、以下の画像のように表示が変わっていると、インストールが完了しています。
        画像

        このとき、『Restart Required』の表示から変わらないようでしたら、
        ブラウザから更新をしてみると解決するかもしれません。

        「使いたいけど、まだ入れてないノードがある!」そんな時は

        例えば、他の人が作成したワークフローを自身のComfyUI環境に読み込ませて使用する際に、自身の環境にインストールされていないカスタムノードが使用されている場合、以下の画像のようにノードにエラーが発生することがあります。これを解消するために、インストールされていないノードのみを表示し、インストールしてくれる機能がComfyUI Managerにはあります。

        画像
        • エラーのあるワークフローを表示している状態で、Manager画面の「Install Missing Custom Nodes」ボタンをクリックします。
        画像
        • インストールされていないカスタムノードの一覧が表示されます。ここから前項で解説したカスタムノードのインストールを実行することで、現在のワークフローに必要なカスタムノードのみをインストールできます。
        画像

        モデルのインストール

        カスタムノードのインストールについては以上となります。
        次は、モデルのインストールについて説明をしてまいります。
        モデルとは、Stable Diffusionでオリジナルの画像を生成するために必要な学習済みファイルのことを指しております。公開されている様々なモデルを利用することで、イラスト風や実写風など様々なテイストで画像を生成することができます。

        ここでは練習として「TAESD」をインストールしてみます。
        ★このあとアンインストールまで試しますので何を選んでも構いません。

        早速試してみましょう!

        • 「Models Manager」ボタンをクリックします。
        画像
        • 利用可能なモデルのリストが表示されます。
        画像
        • インストールしたいモデルの横にある「Install」ボタンをクリックします。
        画像
        • インストールが完了すると、Refreshを求められます。
        画像
        • メインメニューで「Refresh」ボタンをクリックします。
        画像
        • 再度「Models Manager」を開くと、「Install」にチェックが入っており、インストールができていることが確認できます。
        画像
        • インストールされたモデルは、「Save Path」で指定されているフォルダに格納されます。今回の例だと、”ComfyUI/models/vae_approx“フォルダに格納されます。
        画像

        不要なモデルはディスク節約のために削除しておきましょう。

        アップデートの実行

        • Manager画面には、3種類のアップデート方法が用意されています。それぞれのボタンを押下することで、アップデートが実行されます。
          • Update All: ComfyUI本体およびカスタムノードを最新の状態に更新します。
          • Update ComfyUI: ComfyUI本体のみを更新します。
          • Fetch Updates: カスタムノードのみを最新の状態に更新します。
        画像

        注意点

        • カスタムノードやモデルをインストールする前に、それらの機能や使用方法をよく理解することが重要です。
        • 大量のカスタムノードをインストールすると、ComfyUIの起動時間が長くなる可能性があります。
        • モデルのダウンロードには時間がかかる場合があります。特に大きなモデルの場合は注意が必要です。

        ComfyUI Managerを効果的に使用することで、ComfyUIの機能を大幅に拡張し、より創造的な画像生成が可能になります。初心者の方でも、このツールを使いこなすことで、高度な機能を簡単に利用できるようになるでしょう。

        【最新】
        こちらの記事もどうぞ。最先端のFLUX.1[dev]のComfyUIでの利用例です。

        ✨️オトクなメンバーシップについての詳細はこちら

        ゼロから学ぶ「ComfyUI」マガジン(単品販売)

        https://note.com/aicu/m/md2f2e57c0f3c

        今回の有料特典は、インストールをしたモデルを使用して、AICUで公開しているキャラクター『全力肯定彼氏君 LuC4』くんを生成したいと思います。是非皆さんも、こちらを参考に様々なモデル・カスタムノードを試してみて、是非Xなどで公開をしてみていただけると編集部一同喜びます!(その際は、  #AICU_LuC4  のハッシュタグを是非ご利用ください!)


        この記事の続きはこちらから https://note.com/aicu/n/n4295d336677e

        Originally published at https://note.com on Aug 9, 2024.

      2. ComfyUIの操作系とショートカット、ノードで「Stable Diffusion」の内部処理を学ぼう

        こんにちわ、AICU media編集部です。
        ComfyUIマスターガイド」シリーズの第2回になります。
        今回は、ComfyUIの基本操作と画像の生成についてご説明をしていきたいとおもいます。

        第1回はこちら

        第2回は、ComfyUIの基本的な操作から、ショートカット、画像の出力までの簡単な流れを解説します。AUTOMATIC1111と違い、完全にグラフィカルなユーザーインターフェースで操作するノードシステムは慣れるまで大変かと思いますが、用語や操作方法に慣れると大変見やすく効率的になります。またここでは、簡単な用語と中で起きている生成AIの処理についても解説していきます。

        ComfyUIの基本操作とUIの名称

        ComfyUI Manager入りのComfyUIが起動したら、まずは基本的な操作方法やユーザーインターフェース(UI)の名称をおさらいしておきましょう。

        ユーザーインターフェース

        画像

        ComfyUIではおもに上のようなグラフキャンバス(GraphCanvas、以下Canvas)上で作業します。以下で説明をする『ノード(node)』と呼ばれる部品を使用して、画像生成を行うためのネットワークを作成していきます。

        Canvasの右にあるメニュー(Menu)では、画像生成(Queue Prompt)のコマンドを投入したり、その他各種設定を行うことができます。

        ノード (node)

        ノード (node) とは、こぶ、結び目、節、という意味ですが、 ネットワーク用語では「結び目」「集合点」といった意味で「ノード」と呼びます。例えばコンピュータネットワークは、点(装置)とそれを結ぶ線(伝送路)で表すことができます。
        ComfyUIにおける画像生成AIはこのようなネットワークの部品で表現されています。

        例えば以下は「プロンプトとネガティブプロンプトを指定して、KSamplerに入力とする」を意味します。

        画像

        ComfyUIではノードシステムを利用して「グラフ」もしくはワークフロー(後述)を構築することで画像生成のネットワークをつくることができます。

        ノードシステムとは、指示を出すノード(点)とその指示を受けるノードをライン(線)で繋げるイメージです。
        複数の点を連結させていくことで、複雑な指示を出すことができ、
        最終的に精密な画像を出力することができます。

        ちなみに、ノードを繋げた一連を『ノードツリー』と呼ぶこともあります。
        (ノードの一連流れが樹と枝葉に似ていることからこのような呼び方が生まれました)

        マウス操作

        左・中ボタンドラッグアンドドロップ:画面の移動
        中央ホイールのスクロール:画面の拡大 / 縮小
        ワークスペース上で右ボタンのクリック:ノードの追加

        左ボタンダブルクリック:ノードの検索

        キーボードショートカット

        上から順によく使うものです、いまはまだわからない用語も多いかもしれませんが、使いながら覚えていくことをおすすめします。

        Ctrl + S : ワークフローの保存
        Ctrl + Enter : 現在のグラフを生成するためにキューに入れる
        グラフとは現在のワークフローのことを指します。
        キュー(queue)とはこれから画像生成を行う待ち列です。
        Ctrl + Shift + Enter : 現在のグラフを生成の最初としてキューに入れる
        いま作業している内容を待ち列の先頭に入れるという意味になります。

        Ctrl+Z:もとに戻す
        Ctrl+Y:操作のやり直し

        Ctrl + O : ワークフローの読み込み
        Ctrl + D : デフォルトのグラフを読み込み

        [ノード操作系]
        Ctrl/Shift + Click : クリックしたノードを選択範囲に追加
        Ctrl + A : すべてのノードを選択
        Delete/Backspace(Windows) : 選択したノードを削除
        Ctrl + Delete/Backspace : 現在のグラフを全削除
        Shift + Drag : 選択した複数のノードを同時に移動
        Alt + C : 選択したノードを折りたたむ/折りたたまない
        Ctrl + M : 選択したノードをミュート/ミュート解除
        Ctrl + B : 選択したノードをバイパス
        (ノードがグラフから削除され、ワイヤが再接続されたように動作)
        Ctrl + C/Ctrl + V : 選択したノードをコピーして貼り付け
        (選択されていないノードの出力への接続は維持されない)
        Ctrl + C/Ctrl + Shift + V : 選択したノードをコピーして貼り付け
        (選択されていないノードの出力から貼り付けたノードの入力への接続を維持)

        [表示系]
        Q : キューの表示を切り替え
        H : 履歴の表示を切り替え
        R :グラフを更新

        Space : カーソルを押しながら移動するとキャンバスが移動


        ComfyUIのワークフローとノード

        ComfyUIで画像生成を実行する前に、基本となるワークフローについて説明をします。ここでは、ComfyUIの起動時に表示されるデフォルトのワークフローを例にとります。Ctrl + Dでいつでも読み込めます。

        画像

        ワークフロー(Workflow)とは

        ワークフローとは、ComfyUIにおいて画像生成プロセスを視覚的に表現したものです。複数のノード(点)を線で接続し、データの流れを示しています。各ノードは特定の処理を担当し、それらを組み合わせることで望む画像を生成します。
        ワークフローはjson形式でテキストファイルとして保存することもできますが、ComfyUIで生成されたPNG画像にも埋め込まれています。

        デフォルトのワークフローの構成

        デフォルトのワークフローは、以下のノード構成になっています。
        この連載では基本的に、左上から右下に向かうようにノードツリーを配置して解説していきます。

        画像
        • Load Checkpoint
          • モデルをロードするノードです。
          • ここでは “v1-5-pruned-emaonly.ckpt” というStable Diffusion 1.5のベースモデルが使用されています。
          • ダウンロード済みであれば他のファイルを選択することができます。
        画像
        • CLIP Text Encode (Prompt)
          • CLIP (Contrastive Language-Image Pretraining)というOpenAIが最初に提案した言語と画像の学習モデルです。
          • テキストプロンプトを「条件付け(Conditioning)」にエンコードします。
          • 2つあり、上部のものがポジティブプロンプト(生成したい内容)、下部のものがネガティブプロンプト(見せたくない要素)を指定します。ノードの種類としては同じものです。
        画像
        • Empty Latent Image
          • 潜在空間(Latent Space)から与える初期画像です。この段階では「サイズだけを持った無の画像」とイメージしておくと良いでしょう。
          • 生成する画像の解像度やバッチサイズ(一度の画像生成で何枚の画像を生成するか)を設定します。
          • ここでは512×512ピクセル、バッチサイズ1が設定されています。
        画像
        • KSampler
          • 実際の画像生成を行うノードです。
          • サンプリング方法、ステップ数、どれだけプロンプトに従うかを指定するCFG(Classifier Free Guidance)、乱数のシードなど、画像生成とその画質に関わる重要なパラメータを設定します。
        画像
        • VAE Decode
          • ここまでの処理は潜在空間での演算なので、最終的に人間が見れる画像(RGBのPNGファイル)に変換するため、VAE(Variational autoencoder; 可変オートエンコーダ)を使って圧縮された潜在表現(latent representation)を実際の画像に変換します。
        画像
        • Save Image
          • 生成された画像を保存します。保存される場所は、”ComfyUI/output”フォルダになります。
          • ファイル名のプレフィックス(前置詞)を設定できます。例えば、プレフィックスに”ComfyUI”を設定した場合、保存される画像のファイル名は”ComfyUI_00001″、”ComfyUI_00002″となります。
        画像

        以上で、ComfyUIの基本的な操作から、ショートカット、画像の出力までの簡単な流れを解説しました。ノードシステムは慣れるまで大変かと思いますが、慣れると大変見やすく効率的になります。また、AUTOMATIC1111と違い、用語の解説とともに触ってみると、中で起きている生成AIの処理がわかりやすくなったかと思います。
        次回はComfyUI Managerやmodelの基本的な使い方をご説明したいと思います。

        画像生成AI「ComfyUI」マスターPlan

        画像

        画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、まとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

        • メンバー限定の会員証が発行されます
        • 活動期間に応じたバッジを表示
        • メンバー限定掲示板を閲覧できます
        • メンバー特典記事を閲覧できます
        • メンバー特典マガジンを閲覧できます
        • 動画資料やworkflowといった資料への優先アクセスも予定

        メンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

        https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487

        もちろん、初月は無料でお試しいただけます!
        毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
        退会率はとても低く、みなさまにご満足いただいております。


        この記事の続きはこちらから https://note.com/aicu/n/nb9657cfc3d8f

        Originally published at https://note.com on Aug 2, 2024.

      3. 【新シリーズ開始】 Google ColabでComfyUIを動かしてみよう!

        「ComfyUIマスターガイド」シリーズの第1回になります。
        第0回はこちら

        ComfyUI ManagerとGoogle Colabではじめる「ComfyUI」

        ComfyUIには様々なインストール、セットアップ方法があります。「SD黄色本」でA1111を学んだ方が、ComfyUIを簡単に試すのであれば、「Stability Matrix」によるインストールが速いかもしれません。
        GPU搭載のWindows11をお持ちの方は「Stability Matrix」公式サイトからインストーラーを使い、A1111と並んで「ComfyUI」をパッケージからインストールするだけで起動できます。

        https://github.com/LykosAI/StabilityMatrix

        より実用的かつシンプルなインストール手順

        このシリーズではAICU特製の Google Colabノートブックを使ってよりシンプルなインストール手順を紹介します(文末)。

        さらに実用的な方法として「ComfyUI Manager」という拡張機能を使用することで、カスタムノードやモデルの管理、ComfyUI本体の更新など、より効率的な運用が可能になります。

        本記事では、ComfyUIの基本的な特徴から、Google Colabでの使用方法、基本的なワークフローの解説、そしてComfyUI Managerの活用方法まで、幅広くカバーしています。AI画像生成に興味がある方、より高度な制御を求めているクリエイターの方々に、ComfyUIの可能性を探っていただければ幸いです。

        1. ComfyUIとは

        ComfyUIは、AI画像生成の世界に革新をもたらした強力かつ柔軟なオープンソースのグラフィカルユーザーインターフェイス(GUI)です。Stable Diffusionをベースにしており、画像生成プロセスを視覚的に構築し、細かく制御することができます。

        https://github.com/comfyanonymous/ComfyUI

        ComfyUIの主要な特徴

        1. ノードベースのインターフェイス:
          • 複雑な画像生成プロセスを視覚的にデザインできます。
          • 各ノードが特定の機能を表し、それらを線で結んでワークフローを作成します。
          • この方式により、初心者でも直感的に操作でき、上級者は複雑な処理を構築できます。
        2. 高度なカスタマイズ性:
          • 生成プロセスの各段階で細かなパラメータ調整が可能です。
          • プロンプト、シード値、サンプリング方法、ステップ数など、あらゆる要素を制御できます。
          • これにより、望む結果を得るための精密な調整が可能になります。
        3. 拡張性と柔軟性:
          • プラグインやカスタムノードを追加することで機能を拡張できます。
          • コミュニティによって開発された多様な拡張機能を利用できます。
          • 必要に応じて独自のノードを作成し、特殊な処理を組み込むことも可能です。
        4. リソース効率:
          • 他のGUIに比べて軽量で、システムリソースの使用が効率的です。
          • これにより、比較的低スペックのマシンでも快適に動作します。
          • Google Colabのような環境でも十分なパフォーマンスを発揮します。
        5. 幅広い互換性:
          • 様々なStable Diffusionモデルに対応しています。
          • LoRA(Low-Rank Adaptation)やControlNetなどの技術もサポートしています。
          • これにより、多様なスタイルや特殊な画像生成が可能になります。
        6. バッチ処理と自動化:
          • 複数の画像を一度に生成するバッチ処理が可能です。
          • ワークフローを保存し、再利用することで作業を効率化できます。
          • これにより、大量の画像生成や実験的な試行が容易になります。
        7. コミュニティサポート:
          • 活発なユーザーコミュニティがあり、情報交換や問題解決が容易です。
          • GitHub上でオープンソースとして開発されているため、最新の機能や改善が継続的に行われています。

        ComfyUIの活用シーン

        ComfyUIは、以下のような幅広い用途で活用されています:

        • アーティストやデザイナー: 独創的なビジュアルアートの制作
        • ゲーム開発者: キャラクターデザインや背景画像の生成
        • 映画・アニメ制作者: コンセプトアートやストーリーボードの作成
        • 研究者: AI画像生成の実験や新しいテクニックの開発
        • 教育者: AI技術と創造性の教育ツールとして
        • ホビースト: 個人的な創作活動や画像生成の探求

        ComfyUIを使いこなすことで、AIアート制作の可能性が大きく広がります。その柔軟性と強力な機能セットにより、初心者から上級者まで、様々なレベルのユーザーが自分のビジョンを実現するためのツールとして活用できます。

        2. ComfyUI Managerとは

        ComfyUI Managerは、ComfyUIの機能を大幅に拡張し、使いやすさを向上させるための強力な拡張機能です。

        https://github.com/ltdrdata/ComfyUI-Manager

        主に以下の機能を提供することで、ComfyUIの管理と拡張を容易にします。

        1. カスタムノードの管理: ComfyUI Managerを使用すると、カスタムノード(拡張機能)のインストール、アンインストール、有効化、無効化を簡単に行うことができます。これにより、ComfyUIの機能を柔軟に拡張し、ワークフローをより高度にカスタマイズすることが可能になります。
        2. モデルの管理: チェックポイントモデル、AIアップスケーラー、VAE、LoRA、ControlNetモデルなど、様々なAIモデルのインストールと管理が可能です。
        3. ComfyUI本体の更新: ComfyUI自体のアップデートも、ComfyUI Managerを通じて行うことができます。
        4. ワークフローの互換性確認: 現在のワークフローに必要な不足ノードを検出し、インストールする機能があります。これにより、他の人が作成したワークフローを簡単に使用できるようになります。
        5. 検索機能: 必要なカスタムノードを簡単に見つけることができる検索機能を提供しています。
        6. バージョン管理: インストールされたカスタムノードのバージョン管理が可能で、最新の状態を保つことができます。

        ComfyUI Managerのインストール後は、ComfyUIのインターフェースに「Manager」ボタンが追加され、そこから各種管理機能にアクセスできるようになります。

        ComfyUI Managerを使用することで、ユーザーはComfyUIの潜在能力を最大限に引き出し、より効率的かつ柔軟な画像生成ワークフローを構築することができます。特に、多様なカスタムノードを簡単に追加・管理できる点は、ComfyUIの利用者にとって非常に有益な機能と言えるでしょう。

        3. Google ColabでのComfyUIの使用準備

        ComfyUIをGoogle Colabで使用するには、ComfyUI ManagerのGitHubページで提供されているGoogle Colabノートブックを利用します。以下の手順に従い、環境構築を行います。

        Google Colabの有料プランへの加入

        Google ColabでStable Diffusionを動作させるには、Colabの有料プランに加入する必要があります。プランにより、使用可能なGPUの種類や、付与されるコンピューティングユニットの量が変わるため、お好みのプランに加入してください。今回は、Colab Proプランに加入します。

        画像

        Notebookのコピー

        ComfyUI-ManagerのGitHubページ(原作)はこちらです。

        https://github.com/ltdrdata/ComfyUI-Manager

        GitHubページには、以下のようにComfyUIおよびComfyUI-ManagerをインストールするためのGoogle ColabのNotebookが提供されています。”click on this link”をクリックすることで、Notebookにアクセスできます。

        画像

        以下、メンバーシップ向けに続きます!

        画像生成AI「ComfyUI」マスター プランをご購読お願いします


        この記事の続きはこちらから https://note.com/aicu/n/ndceebdc12ff4

        Originally published at https://note.com on July 31, 2024.

      4. [新連載] ここからはじめる「ComfyUIマスターガイド」

        【特報です!!】2024年8月からAICU mediaにて集中連載「ComfyUIマスターガイド」がはじまります!

        コンセプト:こんな方に読んでほしい

        ・イラストレーションや漫画だけでなく映像制作に画像生成AIを使いたい
        ・画像生成AI「Stable Diffusion」を業務に活かしていきたい
        ・AUTOMATIC1111は何となく使えるが、ComfyUIに移行したい
        ・いったんゼロから学んで、最新の技術をキャッチアップできるところまで連れて行ってほしい
        ・Pythonのプログラミングとかはわかりません!
        ・高価なVRAM搭載PCを買えないわけではないけど、プロとしてはクラウドやサービスでの利用も当然可能、活用していきたい
        ・どうやったら品質を上げられるのか知りたい
        ・画像生成AIシステム開発の社内PoCをつくりたい、相談したいが、そもそも技術者として広範な知識が必要すぎる
        ・法律だけでなくクリエイターや消費者の倫理など、危ない技術やモデル、使い方における注意点もしっかり教えてほしい
        ・(わかっている人向け情報ではなく)映像系の読み手でもわかるように、環境やセットアップについても丁寧に教えてほしい
        ・内部の技術についても解説してほしい

        配信方式

        無料/有料を含めて様々な方法で配信します!
        ・毎日のnoteでの配信(週3本程度を予定)
        ・メンバーシップ向けの優先配信
        ・noteマガジンでの配信
        ・オウンドメディアでの無料配信
        ・インデックス化による読みやすい体系化
        ・多メディア等による配信(予定…!!)

        配信予定コンテンツ

        (随時更新・変更される可能性もございます)

        1. Google ColabでComfyUIを動かしてみよう!
        2. 操作系とショートカット、ノードで「Stable Diffusion」の内部処理を学ぼう
        3. ゼロからつくるとよく分かる!ComfyUIワークフロー作成で学ぶStable Diffusionの内部動作
        4. ComfyUIカスタムノード導入ガイド! 初心者でも安心のステップバイステップ解説
        5. ComfyUI カスタムノード徹底解説!機能とメリットを理解しよう
        6. ComfyUI設定完全ガイド!(前編)
        7. ComfyUI設定完全ガイド!(後編)
        8. 画像化も可能!ComfyUIワークフロー管理の基礎
        9. ComfyUIでワークフロー大公開!あなたの作品を世界へ発信
        10. ComfyUIで画像を高解像度化!Hires.fix完全ガイド
        11. ComfyUIでのTextToImageを極める!!(1)プロンプトの基本文法
        12. ComfyUIでのTextToImageを極める!!(2)CombineとConcat

        ・Image to Image
        ・ContorolNet
        ・LoRA
        ・アプリケーション開発
        ・画像生成の原理と歴史
        ・AIの倫理と社会
        ……以下続きます……!

        基本的な流れは書籍「画像生成AI Stable Diffusionスタートガイド」のAUTOMATIC1111を踏襲しつつ、A1111からより実用的な画像生成AIのプロフェッショナル/マスターとして体系的な知識を得られる構成になっています。

        豪華なライター陣

        ・ゲストライター Yas さん @earlyfield8612

        生成AIを含む最新テクノロジーの実用化と企業のDXを支援するポノテク株式会社の代表。AICUコラボクリエイターとして技術調査や記事の全般に参加します。電気電子工学専攻、Bond University MBA取得。

        ・エディター はねごろう @hane_desu

        ボーカロイドからゲームCGなど映像系ラインプロデューサーを経験し、AICUではメディアエディター「クリエイティブAIプロマネ」という新しい職業を開拓するAIビジュアルデザインPさんです。映像系のプロフェッショナルの視点から見た「画像生成AIのここがわからん!」、クリエイティブの分野にいつつ、画像生成AIの初心者や中級者にやさしい視点を担保します。

        ・アーティスト 犬沢某 いぬさわばう @InsBow

        働きすぎて肩を壊して絵描きとしての筆を折ってしまったのですが画像生成AIのおかげで最近リハビリ中……という経歴を持ったビジュアルアート/漫画/イラストレーターさん。グラフィックス、挿絵、カバーアートなどで参加します。

        ・AICU media代表 しらいはかせ @o_ob

        画像生成AI「Stable Diffusion」をリリース直後からまいにち研究・開発・発信し続けてきた「つくる人をつくる」AICU mediaの代表。デジタルハリウッド大学大学院特任教授。東京工業大学知能システム工学・博士(工学)、東京工芸大学画像工学専攻、写真工学科。芸術科学会副会長。科学コミュニケーター。画像生成AIの使い手として、学習者やクリエイター、オープンソース開発者にとってわかりやすい解説や視点を「わかるAIを伝える」AICUとしての品質を高く維持・管理して発信しています。

        「noteメンバーシップ」ご参加がオススメ

        生成AIクリエイターユニオン『AICU: AI Creators Union』は、「つくる人をつくる」をビジョンに活動するアメリカのスタートアップ企業「AICU」社が「note」で提供するプロ生成AIクリエイター養成ユニオンです。このユニオンでは、画像生成AIやLLMなど、高速に進化する生成AIの最先端を学びながら、一緒に生成AIの価値を生む仲間を得ます。メンバーは、生成AIに関する最新の知識と技術を自分のペースと興味の深さで追い、それを社会に明確に伝えて価値を生む能力を養うことに焦点を置いています。
        Google Colabで動くGPU不要な環境についても紹介しています。
        AICU社のパートナーである生成AIトップの企業での技術と専門知識や情報にいち早く触れる機会を得られます。プロフェッショナルな環境で学び、実践的なライティング技術、PoC開発、コンテンツ作成のノウハウを習得しましょう。
        プロのクリエイターを目指す学生さんや、個人ブログでの執筆を超え生成AIでの転職や起業を考えるプロフェッショナル志向の方々の参加を歓迎します。もちろん「これから勉強したい」という人々も歓迎です。

        https://note.com/aicu/membership/info

        画像

        新登場: 画像生成AI「ComfyUI」マスターPlan

        画像

        画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、まとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

        • メンバー限定の会員証が発行されます
        • 活動期間に応じたバッジを表示
        • メンバー限定掲示板を閲覧できます
        • メンバー特典記事を閲覧できます
        • メンバー特典マガジンを閲覧できます
        • 動画資料やworkflowといった資料への優先アクセスも予定

        ゼロから学ぶ「ComfyUI」マガジン

        https://note.com/aicu/m/md2f2e57c0f3c

        マガジン単体の販売は1件あたり500円を予定しております。
        2件以上読むのであればメンバーシップ参加のほうがお得です!というのもメンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

        https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487?from=self

        もちろん、初月は無料でお試しいただけます!
        毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
        退会率はとても低く、みなさまにご満足いただいております。

        AICUメンバーシップは「AI Creator Union」つまりお仕事を得やすい?

        メンバー限定の会員証、活動期間に応じたバッジに加えて、以下のような「AIクリエイターユニオン」としてのメリットも可能性があります。

        AICU メンバーシップ向け情報の例

        AIクリエイターユニオンならではのオトクな情報が…
        ・コンテスト情報
        ・編集部からのおしらせ(キャンペーンとか)
        ・ライター依頼(フルリモートワーク)
        ・業務案件
        ・サンプルアートの募集など
        ・人材募集
        などなど

        もちろん、参加するだけでなく、記事へのフィードバックやご貢献、
        Discordでの自己紹介やご反応をよろしくお願いいたします!

        ご参加はこちらから!

        https://note.com/aicu/membership/join

        ↓例えばペイウォールの向こうには「何人の人が参加しているのか」が表示されます↓


        この記事の続きはこちらからhttps://note.com/aicu/n/n876fab5a0736

        Originally published at https://note.com on July 31, 2024.