タグ: ComfyUI

  • [ComfyMaster16] ComfyUIでImage-to-Image(i2i)を始めよう

    「写真の表情を変えたい」、「イラストをリアルな絵画風にしたい」…
    それ、i2iで実現できます!

    こんにちわ、AICU media編集部です。
    ComfyUI マスターガイド」、いよいよ今回から「Image-to-Image(i2i)編」に突入します。
    この記事では、ComfyUIを使用したi2iの基本から応用まで、実践的なステップを踏んで解説していきます。

    前回はこちら。初回はこちら

    1. Image-to-Image(i2i)とは

    Image-to-Image(i2i)とは、既存の画像を入力として使用し、新しい画像を生成する技術です。元の画像の構造や特徴を保持しながら、新しい要素を追加したり、スタイルを変更したりすることができます。

    ComfyUIでのi2iは、通常の画像生成と同じノードの多くを使用しますが、主な違いは入力に既存の画像を使用することです。この技術は、写真の編集や修正、アートスタイルの変換、キャラクターデザインの変更、風景画の変更や拡張など、幅広い用途に活用できます。

    今回は、インペインティングによる表情の変更と、アニメ調からリアル調へのスタイル変換を解説します。

    2. インペインティングによる表情の変更

    では、実際にComfyUIでi2iのワークフローを構築してみましょう。今回は、以下の画像の表情を変えたいと思います。

    画像
    • ワークフローが埋め込まれたPNG画像(webp形式ではなく)とGoogle Colabでの ComfyUI i2i編ノートブックは文末にて提供しています
    • メニューの「Load Default」をクリックし、標準のワークフローをロードした状態にします。モデルはstable-diffusion-xl-base-1.0を使用します。
    画像
    • 次に「Load Image」ノードを追加し、「choose file to upload」から対象の画像をアップロードします。
    画像
    • ウィジェット用で右クリックし、表示されたメニューから「Open in MaskEditor」をクリックします。
    画像
    • マスク範囲を指定するためのキャンバスが表示されます。
    画像
    • 今回は、表情を変更したいので、顔をブラシで塗りつぶします。
    • 「Thikness(ペンの太さ)」「Opacity(不透明度)」「Color(ペンの色)」は作業用のパラメータです。最終画像への影響はありません。
    • その後、「Save to node」をクリックします。
    • 以下のように顔がマスキングされます。
    画像
    • 次に、「VAE Encode (for inpainting)」ノードを追加します。
    • 「Load Image」の出力「IMAGE」「MASK」を、それぞれ「VAE Encode (for inpainting)」ノードの入力「pixels」「mask」に接続します。
    • 「Load Checkpoint」ノードの出力「VAE」「VAE Encode (for inpainting)」ノードの入力「vae」に接続します。
    画像
    • 「Empty Latent Image」ノードを削除します。
    画像
    • 「VAE Encode (for inpainting)」ノードの出力「LATENT」「KSampler」ノードの入力「latent_image」に接続します。
    画像
    • ポジティブプロンプトを「1girl, smile」に変更します。
    画像
    • これで「Queue Prompt」をクリックし、生成を実行します。以下が生成結果です。表情は変わりましたが、周囲との馴染みが若干悪いです。
    画像
    • 生成結果を調整する際は、「KSampler」ノードの「denoise」の値を調整してください。この値を 1.0から 0.9, 0.8,…と下げていくことで、変化の度合いを調整できます。
    画像

    denoise = 0.8

    画像

    denoise = 0.75

    画像

    ※このパラメーターを 0.8 以下にすると、破綻しやすくなるので段階を踏みながら設定していくことをおすすめします。

    細かな制御をしたい場合はVAE Encode (for Inpainting) のパラメータ「grow_mask_by」も操作するとよいでしょう。

    「grow_mask_by」を小さい値にすると、境界線が目立つようになります。

    画像
    画像

    逆に、「grow_mask_by」を大きな値にすると境界が曖昧になります。なお最大値は64です。大きくすると処理時間が長くなります。

    denoise = 0.9, grow_mask_by = 64, seed = 1

    画像

    バッチ生成してみましょう。
    denoise = 0.9, grow_mask_by = 64, seed = 5

    画像

    3. アニメ調からリアル調へのスタイル変換

    先ほどのワークフローを利用し、アニメ調からリアル調へのスタイル変換をします。ワークフローの変更点としては、以下になります。

    • 顔に掛けていたマスクを外します。今回はスタイルを変えるので、画像全体を対象とするためです。マスクの外し方は、「Open in MaskEditor」でマスク用のキャンバスを開き、左下の「Clear」をクリックし、マスクを削除後、「Save to node」をクリックします。
    画像
    • 「VAE Encode (for inpainting)」ノードを「VAE Encode」ノードに変更します。「VAE Encode」ノードは、「VAE Encode (for inpainting)」ノードからマスクの入力が削除されたバージョンです。
    画像
    • 使用するモデルをRealVisXL_V4.0.safetensorsに変更します。RealVisXLは、実写の描写が得意なモデルで、これを利用することでリアル調のスタイルに変換します。以下のリンクからRealVisXLをダウンロードし、「ComfyUI/models/checkpoints」フォルダに格納してください。

    ※ダウンロード済みの場合は選択するだけになります。

    https://huggingface.co/SG161222/RealVisXL_V4.0/blob/main/RealVisXL_V4.0.safetensors

    • ポジティブプロンプトを「1girl」にします。表情は変えないので、smileは削除します。
    画像
    • 「KSampler」ノードの「denoise」を0.55-0.70程度に設定します。ここは、生成結果を確認しながら調整してください。
    画像
    • ここまでの設定で画像生成してみましょう。以下が生成結果です。元画像からスタイルが変わっていることが確認できます。
    画像

    4. 倫理的考慮事項

    i2iの使用には倫理的な配慮が必要です:

    1. 著作権: 他者の作品を無断で使用しない。特にdenoiseを下げすぎると、依拠性や類似性を意図して侵害することになります。
    2. プライバシー: 個人を特定できる画像の使用に注意
    3. ミスインフォメーション: 偽の画像やディープフェイクなど、誤解を招く画像の作成を避ける
    4. 不適切なコンテンツ: 有害や攻撃的な画像の生成を控える

    画像生成AIの責任は生成者にあります。責任ある使用を心がけ、創造性と倫理のバランスを保つことが重要です。

    ▶画像生成AIクリエイター仕草(v.1.0)

    【参考】AUTOMATIC1111での i2i 関連情報はこちら

    https://note.com/aicu/n/n08ebe0637a41

    5. まとめ

    ComfyUIでのi2i技術は、あなたのクリエイティブな可能性を大きく広げるツールです。基本的なワークフローの構築から始まり、パラメータの微調整、高度なテクニックの適用まで、段階的に技術を磨いていくことで、より印象的で独創的な画像を生成できるようになります。

    最後に、AIを使用した創作活動には倫理的な配慮も必要です。著作権や個人情報の扱いには十分注意し、責任ある利用を心がけましょう。

    この記事を参考に、ComfyUIでのi2i探索を楽しんでください。新しい発見や素晴らしい創作の旅が、あなたを待っています!

    次回は、image-to-image編 第2回「Outpainting機能」を紹介します。
    乞うご期待!

    X(Twitter)@AICUai もフォローよろしくお願いいたします!

    画像生成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?from=self

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

    お楽しみ、メンバー向けボーナストラックには、今回のi2iサンプルワークフローが埋め込まれたPNGファイルと、i2i編で便利な Google Colab用 ComfyUI ノートブック(新作)、さらに今回の内容で使った workflowファイルをお贈りします。もりだくさんです!


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

    Originally published at https://note.com on Sept 15, 2024.

  • AICU media好アクセスランキング- 2024年8月

    こんにちわ!AICU media編集部です。
    noteで先月よく読まれた記事を紹介します
    生成AIクリエイティブのコミュニティの盛り上がりを体感していただければ幸いです!

    img2img入門(1) i2iでできることを知ろう

    1788ポイント

    https://note.com/aicu/n/n08ebe0637a41

    [保存版] Animagine XL 3.1 生成比較レポート

    1615ポイント

    FLUX.[dev]の実力は?比較しながらGoogle Colabで動かしてみた。

    1537ポイント

    日本人が開発した「Regional Prompter」がなかなかすごい!

    1509ポイント

    https://note.com/aicu/n/n832941df99c5

    AUTOMATIC1111 v1.10.xリリース – Stable Diffusion 3 Mediumをサポート

    1451ポイント

    AICU編集部が選ぶ、8月のおすすめ記事

    8月に投稿した記事でAICU編集部がお勧めしたい記事をピックアップしてみました。まだほかの人が知らない、生成AIの情報を読んでみませんか?

    [ComfyMaster1] Google ColabでComfyUIを動かしてみよう! #ComfyUI

    【超入門】Stability AI API の革新的機能(1)Edit機能からInpaintとOutpaintを便利に使おう!

    【広告にAIは使えない?】広告の先生×AIクリエイター=「生成AI時代の広告企画から動画制作プロセス」をどうぞ

    【音楽知識ゼロでもOK!】Sunoでオリジナル曲を完成させよう!初心者向け【無料】

    超高速なAUTOMATIC1111をクラウド上で利用できる「ConoHa AI Canvas」リリース!担当さんに突撃インタビューしてみた

    AICUマガジン Vol4に収録されている特集

    最後にAICUマガジン Vol4の特集について紹介します。特集は「完全解説Anifusion」! Anifusionを書籍形式で詳しく紹介しています。

    • 特集「Anifusionで漫画制作」
    • あなたの才能が、デルタもんの世界を動かす!「デルタもん4コマ漫画コンテスト」開催決定
    • 推しAIインフルエンサー紹介!ゆなゆなさん
    • サクッと先取り!クリエイティブAIツール  
    • 日本語で使える!「パープレ」最安課金で忖度なしのガチレビュー!! #Perplexity
    • 描画工程を推論する「Paints-Undo」、Google Colabで実際に動作させてみた 
    • Stability AI Fan! 
    • Stable Video 4Dリリース
    • Stable Audio Openリリース

    AICUマガジン Vol4はkindle unlimitedに加入されている方は無料で、加入されていない方は電子版、書籍版の購入ができます。ぜひ読んでください!

    https://j.aicu.ai/MagV4

    バックナンバーはこちらです

    https://j.aicu.ai/Mag2404

    https://j.aicu.ai/Mag2405

    https://j.aicu.ai/MagV3

    カバーアートはジュニさん!

    最後に

    AICU mediaでは生成AIに関する情報をこれからも皆さんにお届けしてまいります。
    面白い!参考になった!と感じていただけましたら、ぜひいいねやフォローをお願いします

    https://x.com/AICUai

    https://note.com/aicu

    9月も AICU media をよろしくお願いします!

    AICU media 編集部一同


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

    Originally published at https://note.com on Sept 8, 2024.

  • [ComfyMaster15] ComfyUIの{動的|推奨}プロンプトの落とし穴!

    「思い通りの画像を生成したい!けど思うようにいかない…」という方、TextToImage(t2i)を使いこなせていますか?
    Stable Diffusionの内部の仕組みを理解し、ComfyUIでのText to Imageテクニックを身につけて、思い通りの画像を生成できるようになりましょう!

    こんにちわ、AICU media編集部です。
    ComfyUI マスターガイド」第15回目になります。
    この記事では、ComfyUIを始めたばかりの方向けに、プロンプトの基本から応用、そしてComfyUI特有のテクニックまでを、実用的なプロンプト例を交えながらわかりやすく解説します。

    前回はこちら

    プロンプトテキストのランダム置換

    ComfyUIでは、{選択肢1 | 選択肢2 | 選択肢3}のように記述することで、プロンプトの一部をランダムに選択することができます。

    プロンプト例

    A {red | blue | green} apple on a table

    このプロンプトでは、red、blue、greenのいずれかがランダムに選択され、テーブルの上にある赤い、青い、または緑のりんごの画像が生成されます。

    画像

    AUTOMATIC1111での「Dynamic Prompt」に当たる機能ですね!でもComfyUIの場合は特に機能拡張などは不要です。

    https://note.com/aicu/n/n56807d61efac

    動的プロンプトの注意点

    注意点があります。実は、Empty Latent Imagebatch_sizeを増やしたとしても、一度のワークフローで生成される画像には、同じプロンプトが適用されます。動的プロンプトによるランダム置換を適用するには、Queue Promptを複数回実行する必要があります。
    以下は、batch_sizeを4にして実行した例です。全て緑のりんごが生成されています。

    画像
    画像

    Queue Promptを複数回実行した場合の結果も見てみましょう。
    Extra optionsにチェックを入れて、Batch countを4にして生成します。

    画像
    画像

    先ほどと違い、ランダム置換が適用されています!

    これを応用して、キャラクターの生成でもランダム置換が適用されるかテストをしてみます。以下、テストで使用したプロンプトになります。

    1girl, short bob, {wearing dress | wearing t-shirt and jeans | coveralls}, looking at me and smiling, realistic, full body

    ショートボブの少女がワンピース or Tシャツとジーンズ or 作業着を着て笑っている。という設定

    画像

    モデルカードに注目! 推奨プロンプト

    他のモデル(CheckpointやLoRAなど)を使用する際は、そのモデルが推奨するプロンプトを使用しましょう。モデルが推奨するプロンプトは、モデルの説明ページに書かれているので、モデルを使用する前にしっかり説明をよむことが大切です。

    Checkpointの例

    Checkpointの例を見てみましょう。以下のRealVisXL V4.0というモデルのページを確認してみます。

    https://huggingface.co/SG161222/RealVisXL_V4.0

    説明を読むと、Recommended Negative Promptの項に以下のプロンプトが記載されています。

    (face asymmetry, eyes asymmetry, deformed eyes, open mouth)
    画像
    https://huggingface.co/SG161222/RealVisXL_V4.0

    これは、RealVisXL V4.0を使用する際は、ネガティブプロンプトに上記のプロンプトを使用することを推奨しています。他にもHiresFixでの推奨設定なども書かれています。RealVisXL V4.0を使用する際は、ネガティブプロンプトに指定のプロンプトを入力し、この種の推奨設定をしっかり理解することで、より高品質な画像を生成することができます。

    新しいモデルを試すときにも、利用規約やライセンスと並んで、推奨プロンプトや設定はしっかり読みましょう!

    LoRAの例

    次にLoRAの例を見てみましょう。以下のデルタもんLoRAを確認してください。

    https://civitai.com/models/492694

    デルタもんLoRAのページを見ると、「The trigger word is ap_deltamon.」と記載があります。

    画像

    <lora:deltamon_official_v1.0:1.0>, ap_deltamon,1girl,solo,white_background,simple_background

    ap_deltamonだけでもかなり正確に生成できる。

    このLoRAを使用する際は、ポジティブプロンプトに「ap_deltamon」を含めることで、デルタもんを生成できる、とあります。
    トリガーワードがわからないと、LoRAを活用することができませんから、超重要情報です。

    まとめ

    この記事では、ComfyUIでSDXLのプロンプトを記述する基本的な方法から、応用的なテクニックまでを紹介しました。プロンプトエンジニアリングは、試行錯誤を通して習得していくものです。様々なプロンプトを試してみて、自分にとって最適な表現方法を見つけてみましょう。

    ComfyUIとSDXLは、非常に強力な画像生成ツールです。プロンプトの力を最大限に活用することで、あなたの創造性を形にすることができます。ぜひ、色々なプロンプトを試して、素晴らしい画像を生み出してください!

    次回は、image-to-imageの方法を紹介します。乞うご期待!


    【お知らせ】「デルタもん4コマ漫画コンテスト」開催中!

    【応募方法】

    1. 「デルタもん」をテーマにしたオリジナル漫画を作成する
    2. 作品をX(Twitter)に投稿し、応募フォームへ記入します
      エントリーフォームのURL → https://j.aicu.ai/Delta4manga

    必須ハッシュタグ #デルタもん4コマ #AICU #BlendAI
    締め切り:2024年9月10日(火)23:59

    審査期間:2024年9月11日(水)~2024年9月13日(金)
    結果発表:2024年9月14日(土) AICU media公式noteにて発表(予定)!

    X(Twitter)@AICUai も忘れずフォローよろしくお願いいたします!


    画像生成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?from=self

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

    本日のメンバーシップ向けボーナストラックは犬沢某@InsBow さんのカバーアート(文字入れなし)です!
    かわいいイラストをいつもありがとうございます!


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

    Originally published at https://note.com on Sept 6, 2024.

  • [ComfyMaster14]ComfyUIでのTextToImageを極める!!(4)複数キャラを同時に制御する

    ComfyUIで「思い通りの画像を生成したい!けど思うようにいかない…」という方、TextToImage(t2i)を使いこなせていますか?
    Stable Diffusionの内部の仕組みを理解し、ComfyUIでのText to Imageテクニックを身につけて、思い通りの画像を生成できるようになりましょう!

    画像
    制御したいですよね

    こんにちわ、AICU media編集部です。
    ComfyUI マスターガイド」第14回目になります。

    前回「ComfyUIでのTextToImageを極める!! (3)Concatで複数CLIPをつなぐ」で
    は、Conditioning(Concat)ノードと複数CLIPを結合して「プロンプトの限界」を超え、その内部動作をソースコードから確認しました。
    今回は実験を通して確認していきたいと思います。

    長いプロンプトを使った実験

    前回、Concatをつかうことで、長いプロンプト中の「緑の森」「赤い城」といった背景/世界と建築物での「色分け」を紹介しました。

    CLIP1「a red castle on a hill」(1344×768, seed:13)
    CLIP2「A fantasy landscape, overlooking a vast green forest」

    画像

    さらに Conditioning(Concat)のToとFromはToがベースプロンプトで、Fromが追記であることを解説しました。でも短いプロンプトで入れ替えてみても絵に変化はなく、どちらがベースなのかは確認できなかったという結論になっていました。
    今回はキャラクターイラストを使って、ものすごく長いプロンプトで実験してみましょう。
    AICUで生成AIを使ってキャラクターデザインやイラストレーションを担当している犬沢某先生に相談して長めのプロンプトをいただきました。

    face focus, dog ears, 1boy, best quality, 16K, eating hair, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old,

    beautiful, bold black outline, pink, pastel colors, Light Pink, scowl, brown hair, golden eyes, simple line drawing, animal ears, solo, brown hair, overalls, cat ears, dark skin, short hair, dark-skinned female, simple background, choker, sweater, yellow shirt, long sleeves, pink choker, white background, closed mouth, extra ears, animal ear fluff

    これは2つのキャラクターを表現する2つのプロンプトを貼り付けたものです。途中に「髪を食べる(eating hair)」という謎の単語を含めて合計78ワードあります。

    画像

    Concatを使った実験:単純な結合

    まずは実験として、「Load Default」をつかって初期のワークフローにして、モデルをSDXL(sd_xl_base_1.0.safetensors)に変更し、, seed=13 fixed, 1344×768にして、CLIPひとつでそれぞれ生成してみます。

    「face focus, dog ears, 1boy, best quality, 16K, eating hair, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old, beautiful, bold black outline, pink, pastel colors, Light Pink, scowl, brown hair, golden eyes, simple line drawing, animal ears, solo, brown hair, overalls, cat ears, dark skin, short hair, dark-skinned female, simple background, choker, sweater, yellow shirt, long sleeves, pink choker, white background, closed mouth, extra ears, animal ear fluff」、ネガティブプロンプトは「text, watermark」(2トークン消費)で生成してみます。

    画像

    さすが!!かわいい!
    男性と女性が混ざった雰囲気ですね。長いプロンプトが結合できていることが確認できました。

    プロンプトの整理

    次にこの2人分のプロンプトを前半と後半に分けて生成してみます。

    画像

    前半「face focus, dog ears, 1boy, best quality, 16K, eating hair, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old」
    Negative 「text, watermark」, SDXL, 1344×768, seed=13

    (顔の焦点, 犬の耳, 1boy, 最高品質, 16K, 髪を食べる, 犬の鼻, 見る人を見ている, 短い髪, 痩せている, 大きな目, 浅黒い肌, 背が高い, 裸のオーバーオール, 20歳)

    画像

    顔に焦点を当てた半裸でオーバーオールを着た20歳の青年が生成されました。続いて後半です。

    後半「beautiful, bold black outline, pink, pastel colors, Light Pink, scowl, brown hair, golden eyes, simple line drawing, animal ears, solo, brown hair, overalls, cat ears, dark skin, short hair, dark-skinned female, simple background, choker, sweater, yellow shirt, long sleeves, pink choker, white background, closed mouth, extra ears, animal ear fluff」
    Negative 「text, watermark」, SDXL, 1344×768, seed=13

    (美しい, 太い黒の輪郭, ピンク, パステルカラー, ライトピンク, しかめっ面, 茶色の髪, 金色の目, シンプルな線画, 動物の耳, ソロ, 茶色の髪, オーバーオール, 猫耳, 浅黒い肌, 短い髪, 浅黒い肌の女性, シンプルな背景, チョーカー, セーター, 黄色のシャツ, 長袖, ピンクのチョーカー, 白背景, 閉じた口, 余分な耳, 動物の耳の綿毛)

    画像

    Concatを使った実験:整理と結合

    これらを Conditioning(Concat)を使って繋いでみます。

    画像

    CLIP1-Conditioning_to「face focus, dog ears, 1boy, best quality, 16K, eating hair, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old」
    CLIP2-Conditiong_from「beautiful, bold black outline, pink, pastel colors, Light Pink, scowl, brown hair, golden eyes, simple line drawing, animal ears, solo, brown hair, overalls, cat ears, dark skin, short hair, dark-skinned female, simple background, choker, sweater, yellow shirt, long sleeves, pink choker, white background, closed mouth, extra ears, animal ear fluff」
    Negative 「text, watermark」, SDXL, 1344×768, seed=13

    画像

    1boyとdark-skinned femaleが混ざっていますので、難しいと思います。中性的ではありますが、どちらかというと男性っぽいですね。
    まずはConcatで結合が機能していると考えられます。

    FromとToはどっちがベースなのか実験的に確認する

    さてFromとToはどっちがベースなのか実験的に確認していきましょう。
    さきほどの中性的なイラストの前後半を入れ替えてみます。

    画像

    CLIP1-Conditioning_to「beautiful, bold black outline, pink, pastel colors, Light Pink, scowl, brown hair, golden eyes, simple line drawing, animal ears, solo, brown hair, overalls, cat ears, dark skin, short hair, dark-skinned female, simple background, choker, sweater, yellow shirt, long sleeves, pink choker, white background, closed mouth, extra ears, animal ear fluff」
    CLIP2-Conditiong_from「face focus, dog ears, 1boy, best quality, 16K, eating hair, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old」
    Negative 「text, watermark」, SDXL, 1344×768, seed=13

    画像

    たしかに同じではなさそうです。toとfromは英語的な意味とは逆で、「toがベースでfromが追加条件」という説が実証できているようにも見えます。

    キャラクターの描き分け実験:空白CLIP、クオリティプロンプト

    実はこのプロンプト、2つのキャラクターが混ざっています。1boyとfemale、Dog earsと Cat ears、「髪の毛を食べる」と「口を閉じる」という破綻しやすそうなキーワードが混在していますので、これを整理してみます。

    混ざっているプロンプトをわかりやすく、キャラクター1,2と演技、画風やクオリティプロンプト、と分けて入れ替えてみます。

    キャラクター1「1girl, pink, pastel colors, Light Pink, scowl, golden eyes, animal ears, solo, overalls, cat ears, dark skin, short hair, dark-skinned female, choker, sweater, yellow shirt, long sleeves, pink choker, closed mouth, extra ears, animal ear fluff」(1girl、ピンク、パステルカラー、ライトピンク、しかめっ面、金色の目、動物の耳、ソロ、オーバーオール、猫耳、黒い肌、ショートヘア、肌の黒い女性、チョーカー、セーター、黄色のシャツ、長袖、ピンクのチョーカー、口を閉じた、余分な耳、動物の耳の綿毛)

    これをConditioning_toに設定して、Conditioning_fromを空白する例と、それを入れ替えた例、さらにクオリティプロンプトと背景設定を入れ替えた例を実験します。

    画像

    やはり空白のような極端に短いCLIPでは効果は確認できないようです。クオリティプロンプトを加えてみます。

    画像

    Conditioning_to「1girl, pink, pastel colors, Light Pink, scowl, golden eyes, animal ears, solo, overalls, cat ears, dark skin, short hair, dark-skinned female, choker, sweater, yellow shirt, long sleeves, pink choker, closed mouth, extra ears, animal ear fluff」
    Conditioning_From「beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K」

    画像
    画像

    Conditioning_to「beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K」
    Conditioning_from「1girl, pink, pastel colors, Light Pink, scowl, golden eyes, animal ears, solo, overalls, cat ears, dark skin, short hair, dark-skinned female, choker, sweater, yellow shirt, long sleeves, pink choker, closed mouth, extra ears, animal ear fluff」

    画像

    たしかに、ベースプロンプトがConditioning_toではありそうです。長いプロンプトでの実験は効果ありそうです。画風とキャラクターについての実験を続けます。

    続いてキャラクター2のプロンプトを設定します。もともと頂いたプロンプトからキャラクターとして一貫性がありそうな「1boy, dog ears, dog nose, short hair, skinny, big eyes, looking at viewer, dark skin, tall, naked overalls, 20-year-old, brown hair」(1boy、犬耳、犬鼻、短髪、痩せ型、大きな目、視聴者を見ている、黒い肌、背が高い、裸のオーバーオール、20歳、茶髪)として、先程のキャラクター1の代わりに入れてみます。

    画像

    Conditioning_to「1boy, dog ears, dog nose, short hair, skinny, big eyes, looking at viewer, dark skin, tall, naked overalls, 20-year-old, brown hair」
    Conditioning_from「beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K」

    画像

    入れ替えてみます。

    画像

    Conditioning_to「beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K」
    Conditioning_from「1boy, dog ears, dog nose, short hair, skinny, big eyes, looking at viewer, dark skin, tall, naked overalls, 20-year-old, brown hair」

    画像

    たしかに、ベースプロンプトがConditioning_toではありそうです。

    実験:多段Concat

    それではConcatを多段にするとどうなるでしょうか?
    接続としては以下のようになります。
    Concat1(To:画風 + From: キャラクター1boy)
    Concat2(To:Concat1の結果+Form:キャラクター2girl)

    画像
    画像

    多段Concatは問題なく接続されますし、結果も良好です。
    さて次は問題です。

    Concat1(To:画風 + From: キャラクター2girl)
    Concat2(To:Concat1の結果+Form:キャラクター1boy)

    このようなネットワークを組んだときに、boyが出るのかgirlが出るのか、皆さんはどう考えますか?

    画像
    画像

    結果は「入れ替えても変わらない」です。Conditioningの多段、特にFromを多段Concatで入れ替えても結果は変化ありませんでした。
    シードによって描かれる結果は変わりますが、Fromを入れ替えても変化はないのです。これは便利ですね。

    画像
    画像

    Concat1(To:キャラクター1boy+ From: 画風
    Concat2(To:Concat1の結果+Form: キャラクター2girl

    画像

    Concat1(To:キャラクター1boy+ From: キャラクター2girl
    Concat2(To:Concat1の結果+Form: 画風

    画像

    ComfyUIにおいて強調構文は平均ではなく、Fromは掛け算のように働くと覚えておくと良いのかもしれないですね。

    実験:Combineでの融合と入れ替え

    同じようにConditioning(Concat)ではなく、Conditioning(Combine)で融合と入れ替えをしてみます。こちらも全く変化なしです。

    画像
    画像
    画像
    画像
    画像
    画像

    複数の異なる特徴を持ったキャラクターを描くには?

    さて、Concatの理解は進みましたでしょうか?
    では複数の異なる特徴を持ったキャラクターを描くにはどうやったら良いのでしょうか?

    ポイントは、まず「大事なものはToに設定」そして「それぞれのCLIPにも設定」しましょう。
    複数のキャラクターの画風の統一を図りたい、同じ空間や世界に配置したいときはToに書きます。これをベースとして、このように2人の人物が出てくれば、あとは詳細を75トークン以内で表現するだけで2人以上のキャラクターの画像をそれぞれ生成することができるようになります。

    CLIPを2つでConcatだけで構成する場合にはこんな感じです。
    [CLIP1] best quality, beautiful, 1girl and 1boy,
    [CLIP2] best quality, beautiful, 1girl and 1boy,
    ここまでいれる、というテクニックが非常に重要です。
    こんな絵も作れるようになります。

    画像

    [CLIP1]
    best quality, beautiful, 1girl and 1boy, 1girl, female, 20-year-old, cat ears, pink choker, sweater, yellow shirt, long sleeves, white background, closed mouth, extra ears, animal ear fluff, solo, brown hair, overalls, pink, pastel colors, Light Pink, face focus,

    [CLIP2]
    best quality, beautiful, 1girl and 1boy, blue choker, eating hair, dog ears,16K, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, bold black outline, scowl, brown hair, golden eyes, simple line drawing, animal ears, simple background, dark skin, short hair, dark-skinned

    多段Concatを使った作例

    実際にはCLIP2つだけで複数キャラクターと世界や画風を設定するよりも、多段のConcatを使ったほうが楽かもしれません。
    一連の流れを出力例からおさらいします。

    画像

    ベースになる画風を1段目のConditiong_toに設定します。

    Conditiong_to「1boy and 1girl, beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K」

    画像

    二人がどんな演技をしているか、共通で維持したいものはすべてのCLIPに入れておけば強調されます。

    画像

    conditioning_fromとconditioning_toに共通に「1girl and 1boy」を入れて、それぞれの特徴をCLIP1とCLIP2で詳細に描写していくことができます。

    画像

    このあたりで一度、シードをfixedからIncrementに変更して、Queue Prompt Extra Options▶Batch countを20として、20枚、シードを増やしながら一気に生成してみます。

    画像
    画像
    美しい結果はメンバーシップエリアに置いておきます…!

    肌の褐色をプロンプトで強調していくか、いろんな方向性があり得ると思いますが、ここまで制御性が高くなっていると、好きなテイストを選ぶことも難しくないと思います。

    この段階では画風、肌の色やレイアウトのほうが表情や指といった細かいところよりも重要です。画面比率を変えると大幅に変わってしまいますので今回は1344×760で固定しておいたほうが良いでしょう。
    SDXLの場合、テキスト以外にも画像解像度等の条件が加えられる場合はconditioning_toの方を使います。

    表情や指がおかしいところはImageToImageで修正できますが(次回以降)、今回はネガティブプロンプトやembeddingで仕上げていきます。

    プロンプトだけのSDXL、TextToImageで完成させた作品がこちらです。
    便宜上、CLIP0、CLIP1、CLIP2と呼んでいますが、いままでの2段構成のConditioning(Concat)によって実装しています。

    画像

    CLIP0(conditioning_to) : 1boy and 1girl looking each other, beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K

    CLIP1(Conditiong_from) : 1boy and 1girl looking each other,1boy face focus, dog ears, 1boy, best quality, 16K,, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old

    CLIP2(Conditioning_from) : 1boy and 1girl looking each other, 1girl , pink, pastel colors, Light Pink, scowl, golden eyes, animal ears, solo, overalls, cat ears, dark skin, short hair, dark-skinned female, choker, sweater, yellow shirt, long sleeves, pink choker, closed mouth, extra ears, animal ear fluff

    Negative: text, watermark, embeddings:negativeXL_D

    まとめ:conditioning

    これまで4回にわたってComfyUIでSD1.5およびSDXLを使ってプロンプトの基本的な方法から、応用的なテクニックまでを紹介してきました。今回はイラストレーションで「複数のキャラクターを同時制御する」という実験を行いましたが、プロンプトだけでなく、CLIPの内部やConditioningを使ってComfyUIならではの絵作りを探求していくベースになったようであれば幸いです。実はconditioningにはたくさんあり、今回紹介したCombine、Concatの他にはAverage、 Set Areaなど複数存在します。例えばAverageは結合ではなく線形補間します。

    画像

    次回は、image-to-imageの方法を紹介します。乞うご期待!

    X(Twitter)@AICUai もフォローよろしくお願いいたします!

    画像生成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?from=self

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

    本編で2人以上のキャラクターをそれぞれ描くことができるようになりましたね。ここではシードを変えた問のさまざまな中間生成画像を紹介します。


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

    Originally published at https://note.com on Sept 4, 2024.

  • [ComfyMaster13]ComfyUIでのTextToImageを極める!! (3)Concatで複数CLIPをつなぐ

    ComfyUIで「思い通りの画像を生成したい!けど思うようにいかない…」という方、TextToImage(t2i)を使いこなせていますか?
    Stable Diffusionの内部の仕組みを理解し、ComfyUIでのText to Imageテクニックを身につけて、思い通りの画像を生成できるようになりましょう!

    こんにちわ、AICU media編集部です。
    ComfyUI マスターガイド」第13回目になります。

    前回は「ComfyUIでのTextToImageを極める!!(2)Combineでプロンプト融合」と題して複数プロンプトを組み合わせての生成について解説いたしました。
    今回は、長文プロンプトを分割して意図した絵を生成する方法を解説いたします。

    前回「ComfyUIでのTextToImageを極める!!(2)Combineでのプロンプト融合」はこちら

    前回は複数CLIPの活用として「Combine」を学びました。ComfyUIでは、複数のCLIPTextEncodeノードとConditioning(Combine)ノードを組み合わせることで、複数のプロンプトを同時に使用できます。例えば「龍」と「虎」を別々のCLIPTextEncodeノードに指定すると、「龍」と「虎」を組み合わせた画像を生成することができるようになりました。

    でも今回のカバーアートのような「複数の人物を一つの画像で描くためには?」…?今回はConcat機能と複数CLIPを使って「プロンプトの限界」を超えていきます。

      CLIPの内部と「Concat」

      まず、自然言語処理やStable Diffusionにおける「トークン」とは、プロンプトに入力する単語や文字列といった「テキストデータを処理する際に使用される基本的な単位」を指します。1単語を1トークンとしてカウントし、区切りに使われるカンマ(,)も1トークンとみなされます。
      モデルにもよりますが、SDXLの場合は75トークン(≒単語数)が1つの処理単位(バッチ)であり、75トークンを超える長いプロンプトの場合は、プロンプトを複数のバッチに分割して処理する方法が推奨されます。

      長いプロンプトをChatGPTで作ってみる

      例えば、 “A beautiful garden with red roses and white lilies blooming under a clear blue sky” というプロンプトがあるとします。

      画像
      画像

      例えばChatGPTを使って「もっと詳細を!」と作文してもらいました。
      プロンプトとしてはこんな感じです。

      extract this stable diffusion prompt longer to 75 tokens.
      “A beautiful garden with red roses and white lilies blooming under a clear blue sky”
      make more detail for each words.

      (このStable Diffusionのプロンプトを75トークンに長く引き延ばします。
      「澄み切った青空の下、赤いバラと白いユリが咲き誇る美しい庭」
      それぞれの単語をより詳しく説明)

      A stunning, vibrant garden filled with deep red roses, their petals velvety and rich, alongside pristine white lilies, their petals delicate and gracefully open, all flourishing under a vast, clear blue sky with soft clouds gently drifting in the distance.

      (深紅のバラが咲き誇る見事な庭園。その花びらはビロードのように滑らかで、濃厚な色合いです。その傍らには、花びらが繊細で優雅に開く純白のユリが咲いています。すべては広大な澄み切った青空の下で、遠くには柔らかな雲が静かに漂いながら、咲き誇っています)

      画像

      更に拡大していきます。「more」といえば、ChatGPTがどんどん作ってくれます。

      “A breathtaking, lush garden teeming with radiant, deep crimson roses, each petal exquisitely velvety and glowing under the sunlight. The roses stand tall and proud, surrounded by elegant, snow-white lilies with intricate, soft petals that curve gracefully outward. The lilies’ golden stamens catch the light, contrasting with their pure white petals. The garden is bathed in warm sunlight, the vibrant greenery of the foliage complementing the vivid flowers. Above, the expansive sky is a brilliant, azure blue, with delicate wisps of clouds painted across the horizon, creating a serene and peaceful atmosphere, where every bloom flourishes in perfect harmony with nature.”

      「息をのむほど見事な緑豊かな庭には、鮮やかな深紅のバラが咲き乱れ、その花びらは、日光に照らされて、どれもこれも見事にベルベットのように艶やかです。バラは堂々と誇らしげに咲き、その周りには、複雑に入り組んだ柔らかな花びらが優雅に外側へと反り返る、エレガントな純白のユリが咲いています。ユリの黄金色の雄しべは光を浴びて輝き、純白の花びらとコントラストを描いています。庭は温かい日差しに包まれ、鮮やかな花を引き立てる葉の生き生きとした緑色が映えています。頭上には広々とした空が鮮やかな紺碧色に輝き、水平線には繊細な雲の塊が描かれ、静かで穏やかな雰囲気を醸し出しています。そこでは、あらゆる花が自然と完璧な調和を保ちながら咲き誇っています。」

      画像

      ここまで来ると美しさも素晴らしいのですが、ワードカウントすると101ワードありました。

      画像

      https://wordcounter.io/#google_vignette

      Tokenizerによるトークンの理解

      トークン数についても数えていきましょう。CLIPは実はOpenAIによって開発された技術です。2021年1月5日にOpenAIによって公開された「言語と画像のマルチモーダルモデル」で、インターネットから集めた画像とテキストの40億ペアからなるデータになっています(最新のStable DiffusionではOpenCLIPなど違うCLIPが使われています)。

      トークン化をカウントできるツール「Tokenizer」がOpenAIによって公開されています。

      https://platform.openai.com/tokenizer

      画像

      ワード数は101ワードでしたが、トークン数は137です。

      画像

      [Token IDs]ボタンを押すと、トークンのIDを見ることができます。

      画像

      Claudeを使ったComfyUIソースコードの理解

      トークン数が75トークン超の場合、一般的に言われている仕様は以下のようなものです。

      • 現在のバッチに入りきるだけの単語を追加します。
      • 残りの単語は新しいバッチの先頭に追加します。

      「誰かが言っている」という理解ではなく、実際のソースコードを分析してみる習慣をつけましょう。
      ComfyUIのsd1_clip.pyの処理をClaudeに解説してもらいました。

      https://github.com/comfyanonymous/ComfyUI/blob/8ea165dd1ef877f58f3710f31ce43f27e0f739ab/comfy/sd1_clip.py


      このコードではトークンの最小値と最大値が設定されています。SD1Tokenizer クラスを詳しく見てみましょう

      SD1Tokenizer Token Details
      Token RangeMinimum token value: 0 (pad token when `pad_with_end` is False)
      Maximum token value: Size of the vocabulary – 1
      Special TokensStart token: Typically 49406
      End token: Typically 49407
      Maximum Length`max_length`: 77 (default, can be set in the constructor)
      `max_tokens_per_section`: 75 (max_length – 2)
      Note: The actual vocabulary size and special token values may vary depending on the specific CLIP tokenizer used.

      SD1Tokenizer クラスでは、トークンの範囲が以下のように設定されています:

      1. 最小トークン値:
        • 基本的に 0 です。これは `pad_with_end` が False の場合のパディングトークンとして使用されます。
      2. 最大トークン値:
        • 明示的には設定されていませんが、使用される CLIPTokenizer の語彙サイズによって決まります。
        • 通常、CLIP モデルの語彙サイズは 49408 ですので、最大トークン値は 49407 になります。
      3. 特殊トークン:
        • 開始トークン(start_token): 通常 49406
        • 終了トークン(end_token): 通常 49407
      4. 最大長:
        • `max_length`: デフォルトで 77 に設定されています(コンストラクタで変更可能)
        • `max_tokens_per_section`: `max_length – 2` で、通常は 75 になります

      これらの値は、使用される具体的な CLIP トークナイザーによって若干異なる可能性があります。また、このコードでは埋め込み(embeddings)も扱えるようになっており、これらは通常のトークン範囲外の値を持つ可能性があります。トークナイザーの実装上、0 から語彙サイズ-1 までの整数値がトークンとして使用されます。特殊トークン(開始、終了、パディング)も含めて、この範囲内に収まるように設計されています。全てのトークンをバッチに分けたら、最後のバッチも空欄を追加して75トークンにします。


      Claudeによるソースコード分析は便利で丁寧です。

      他にもこんな質問もできます。

      この処理はどこで扱われますか?
      1.1 倍の重みになる (a b c d e) と、
      数値指定有りでその倍数になる (a b c d e:1.1)

      質問ありがとうございます。その特定の処理は、`token_weights` 関数内で行われています。この関数を詳しく見てみましょう。

      def token_weights(string, current_weight):
          a = parse_parentheses(string)
          out = []
          for x in a:
              weight = current_weight
              if len(x) >= 2 and x[-1] == ')' and x[0] == '(':
                  x = x[1:-1]
                  xx = x.rfind(":")
                  weight *= 1.1
                  if xx > 0:
                      try:
                          weight = float(x[xx+1:])
                          x = x[:xx]
                      except:
                          pass
                  out += token_weights(x, weight)
              else:
                  out += [(x, current_weight)]
          return out
      

      この `token_weights` 関数は、括弧で囲まれたテキストとその重みを処理します。具体的には(略)

      この関数により、(a b c d e)`は1.1倍の重みを持ち、(a b c d e:1.1) は指定された1.1倍の重みを持つようになります。また、これらの構造がネストされている場合も適切に処理されます。

      この処理の結果は、その後 `tokenize_with_weights` メソッド内で使用され、各トークンに適切な重みが割り当てられます。


      AUTOMATIC1111にはプロンプトの文法やトークン数のチェックを行う補助機能がありますが、ComfyUI にはありません。 これはComfyUI の自由度との引き換えになります。しかもAUTOMATIC1111WebUIとは文法は同じでも中身は全然違うようです。AUTOMATIC1111内部ではCLIPの隠れ層出力に重み付けをしたあと、元の平均で正規化します。つまりあるトークンを強くしようとすると、他のトークンは弱くなるようです。ComfyUIでは単に定数倍するのではなく、空文によるCLIP出力を基準に重み付けします。正規化はしないので、重みをつけたトークンのみが影響を受けます。

      このような「CLIPでプロンプトをどのように扱っているか?」はソースコードを直接読んだり分析したりする以外は、モデルとの対話を通して推測することができます。

      AUTOMATIC1111WebUIにおいては「BREAK構文」や、オープンソースで数多くの拡張機能やテクニックが開発されてきました。例えば日本人が開発したExtentions「Regional Prompter」を使うことで複数の特徴を持つ人物を同時にプロンプトで表現できるようになります。

      https://note.com/aicu/n/n832941df99c5

      これから解説する「Concat Conditioning」はComfyUIにおいてAUTOMATIC1111の「BREAK構文」を実装するものです。複数のCLIP出力を結合します。

      分割位置の明示的な指定

      • プロンプトは最初にトークン化されます。
      • トークン化されたプロンプトは、最大長(デフォルト77トークン)のバッチに分割されます。
      • 各バッチは開始トークン(START_TOKEN)、プロンプトのトークン(最大75トークン)、終了トークン(END_TOKEN)、必要に応じてパディングトークンで構成されます。
      • 8トークン以上の「長い単語」は、複数のバッチにまたがって分割される可能性があります。
      • バッチ間で直接的な文脈の共有はありません。
      • 各バッチは独立して処理されます。

      モデルは各バッチを個別に処理するため、バッチ間の長距離の依存関係は失われる可能性があります。
      しかし、全てのバッチが同じプロンプトの一部であるため、全体的なテーマや文脈は維持される傾向があります。

      つまりComfyUIにおいて「長いプロンプトをそのまま1つのCLIPに入力した場合、意図しない位置で分割され、その文脈が無視される可能性がある」ということは知っていてください。しかしこの特性を利用することで、プロンプトレベルで「描き分け」や「色分け」を明示的に行うことができます。

      Conditioning(Concat)ノードの実装

      Conditioning(Concat)ノードを使って「色分け」を実装してみましょう。
      Concatとは「結合」、という意味です。

      標準ワークフローを改造し、以下のプロンプトを意図した位置で分割し、「色分け」を明示的に行った画像を生成してみます。使用するプロンプトは以下になります。

      A fantasy landscape, a red castle on a hill, overlooking a vast green forest,

      「広大な緑の森を見下ろす丘の上の赤い城」という「緑の森」と「赤い城」が混在するプロンプトです。

      普通に生成するとこのような画像になります。色が混ざってしまう事が多くなり、制御性が低く、運任せになってしまいます。

      画像
      画像

      これを「赤い城」と「緑の森」をそれぞれ複数のCLIPで表現できるようになれば制御性がよさそうです。

      • メニューの「Load Default」をクリックし、標準のワークフローをロードした状態にします。前回の続きで改造しても構いません。
      画像
      • ポジティブプロンプト用のCLIPTextEncodeノードを1つ追加します。
      画像
      • 1つ目のCLIPTextEncodeノードのプロンプトに「a red castle on a hill」と入力します。これをCLIP1と呼ぶことにします。
      • 2つ目のCLIPTextEncodeノードのプロンプトに「A fantasy landscape, overlooking a vast green forest」と入力します。これをCLIP2と呼ぶことにします。
      画像
      • Conditioning(Concat)ノードを作成し、2つのCLIPTextEncodeノードの出力を接続します。
      画像
      • Conditioning (Concat)ノードの入力「conditioning_to」と「conditioning_from」をそれぞれ2つのCLIPを接続します。
      • どちらのCLIPを to と from につなぐのかは、この段階ではどちらでも構いません(後ほど解説します)。
      • Conditioning (Concat)ノードの出力をKSamplerpositive入力に接続します。
      画像
      • 以下が最終的なワークフローになります。
      画像

      これでCLIP1が「丘の上の赤い城」、CLIP2が「広大な緑の森を見下ろす幻想的な風景」となり、それぞれがConcatを通して条件づけされることになります。どんな画像が生成されるのでしょうか。

      以下の画像は、分割前と分割後の比較画像になります。分割前は、森は緑ですが、丘が赤くなっています。分割後は、城だけが赤くなっていることが確認できます。

      画像

      Default workflowにて「a red castle on a hill,
      A fantasy landscape, overlooking a vast green forest」(1344×768, seed:13)

      画像

      CLIP1「a red castle on a hill」(1344×768, seed:13)
      CLIP2「A fantasy landscape, overlooking a vast green forest」

      画像

      Conditioning_toとConditioning_fromの意味

      今回の実装例ではConditioning_toとConditioning_fromは「どちらのCLIPに接続しても構いません」としましたが、実際のプロンプトで絵作りをする時にはどのような意味を持っているのでしょうか。まずは入れ替えてみます。

      画像

      Conditioning_to: a red castle on a hill
      Conditioning_from: A fantasy landscape, overlooking a vast green forest
      512×512, seed:12

      画像

      Conditioning_to: A fantasy landscape, overlooking a vast green forest
      Conditioning_from: a red castle on a hill 
      512×512, seed:12

      画像
      画像

      絵的にはほとんど変化がありません。しかしこれはプロンプトが短すぎるせいかもしれません。

      SDXLを使った実験は次回に行うとして、今回は、このノードのソースコードを使って、Claudeに内部の定義を聞いてみましょう。

      https://github.com/comfyanonymous/ComfyUI/blob/febea8c1015888ea81e9efc92236bdb4ceabc623/nodes.py#L105

      Claudeによる解説


      ConditioningConcatクラスの concat メソッドを詳しく見てみると、conditioning_to と conditioning_from には実際に違いがあります。以下にその違いを説明します。

      1. 役割の違い:
        • conditioning_to は主要な条件付けであり、修正される対象です。
        • conditioning_from は付加的な条件付けで、conditioning_to に追加されます。
      2. 処理方法:
        • メソッドは conditioning_to の各要素に対してループを行います。
        • conditioning_from は最初の要素のみが使用されます。
      3. 連結(Concatenation)の方法:
        • conditioning_to の各要素の最初のテンソルが、conditioning_from の最初の要素の最初のテンソルと連結されます。
      4. メタデータの扱い:
        • conditioning_to の各項目のメタデータ(2番目の要素)は保持されます。
        • conditioning_from のメタデータは使用されません。
      5. 出力構造:
        • 出力は conditioning_to の構造を維持しつつ、各要素が連結によって修正されます。

      つまり、英語の「to」と「from」の直感的な意味とは逆で、正しい覚え方は

      「conditioning_to」がベースとなるプロンプトまたは主要な条件付け
      「conditioning_from」が追加または補足的な条件付け

      ということになりそうです(何度か確認しました)。
      以上、Conditioning(Concat)ノードと複数CLIPを結合して「プロンプトの限界」を超え、その内部動作をソースコードから確認しました。
      次回は実験を通して確認していきたいと思います。

      具体的にはこんな絵を作ってみます。

      画像

      まとめ:変化しつつある画像生成AIの常識

      これまで3回にわたってComfyUIでSDXLのプロンプトを記述する基本的な方法から、応用的なテクニックまでを紹介してきました。画像生成AIが登場したばかりの頃のTextToImage、特にプロンプトは、かつては試行錯誤を通してテキストや構造を工夫することが中心でしたが、AUTOMATIC1111とComfyUIのCLIPの扱いが大きく変わっていることに気づかれたと思います。
      AICUでは従来のような仮説や構造、文法や有効なワードを探求するだけでなく、ChatGPTやClaudeなどのLLMを使ってプロンプトそのものをメタに扱ったり、ソースコードを分析して正しい解釈を得たり、実験をして確かな情報を獲得していく方法が重要と考えて記事中で提案しています。次回はさらに実用的に、今回の内容を使って「複数のキャラクターを同時制御する」という実験を行います。様々なプロンプトを試してみて、自分にとって最適な表現方法を見つけてみましょう。

      ComfyUIは、非常に強力な画像生成ツールです。プロンプトの力を最大限に活用することで、あなたの創造性を形にすることができます。ぜひ、色々なプロンプトを試して、素晴らしい画像を生み出してください!

      X(Twitter)@AICUai もフォローよろしくお願いいたします!

      画像生成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?from=self

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


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

      Originally published at https://note.com on Sept 4, 2024.

    1. [12]ComfyUIでのTextToImageを極める!!(2)Combineでプロンプト融合

      「思い通りの画像を生成したい!けど思うようにいかない…」という方、TextToImage(t2i)を使いこなせていますか?
      Stable Diffusionの内部の仕組みを理解し、ComfyUIでのText to Imageテクニックを身につけて、思い通りの画像を生成できるようになりましょう!

      こんにちわ、AICU media編集部です。
      ComfyUI マスターガイド」第12回目になります。
      この記事では、ComfyUIを始めたばかりの方向けに、プロンプトの基本から応用、そしてComfyUI特有のテクニックまでを、実用的なプロンプト例を交えながらわかりやすく解説します。

      前回は「ComfyUIでのTextToImageを極める!!(1)プロンプトの基本文法」と題してプロンプトの基本文法について解説いたしました。

      前回はこちら

        複数CLIPの活用: Combine

        ComfyUIでは、複数のCLIPTextEncodeノードとConditioning(Combine)ノードを組み合わせることで、複数のプロンプトを同時に使用できます。例えば「龍」と「虎」を別々のCLIPTextEncodeノードに指定すると、「龍」と「虎」を組み合わせた画像を生成することができます。

        使用方法

        標準ワークフローを改造し、「龍」と「虎」を組み合わせた画像を生成してみます。

        • メニューの「Load Default」をクリックし、標準のワークフローをロードした状態にします。
        • モデルがSDXLの場合は「Empty Latent Image」を「1024, 1024, 1」
        • ポジティブプロンプト用のCLIP Text Encode (Prompt)ノードを1つ追加します。なにもない場所をダブルクリックして「CLIP」と打ちます。
        • 追加したノードの入力「clip」には、Load Checkpointの出力「CLIP」を接続します。
        画像
        • 1つ目のCLIPTextEncodeノードのプロンプトに「tiger」と入力します。
        • 2つ目のCLIPTextEncodeノードのプロンプトに「dragon」と入力します。
        画像
        • Conditioning(Combine)ノードを作成し、2つのCLIPTextEncodeノードの出力を接続します。

        なにもない場所をダブルクリックして「combine」と打つと現れます

        画像
        • Conditioning(Combine)ノードの出力をKSamplerpositive入力に接続します。
        画像

        概念図としては以下のような接続になります。

        画像
        • 最終的なワークフローは以下になります。
        画像

        このようにすることで、「龍」と「虎」を組み合わせた画像を生成することができます。以下が生成した画像です。

        画像
        画像
        画像
        画像
        画像

        この記事では、ComfyUIでSDXLのプロンプトを記述する基本的な方法から、応用的なテクニックまでを紹介してまいります。

        次回は、プロンプトテクニックの第3弾で、『プロンプトのバッチ分割: Concat』について解説をしていきたいと思います!こうご期待ください!

        X(Twitter)@AICUai もフォローよろしくお願いいたします!

        画像生成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?from=self

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

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


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

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

      1. [11]ComfyUIでのTextToImageを極める!!(1)プロンプトの基本文法

        「思い通りの画像を生成したい!けど思うようにいかない…」という方、TextToImage(t2i)を使いこなせていますか?
        Stable Diffusionの内部の仕組みを理解し、ComfyUIでのText to Imageテクニックを身につけて、思い通りの画像を生成できるようになりましょう!

        こんにちわ、AICU media編集部です。
        ComfyUI マスターガイド」第11回目になります。
        この記事では、ComfyUIを始めたばかりの方向けに、「text to image」プロンプトによる画像生成の基本から応用、そしてComfyUI特有のテクニックまでを、実用的なプロンプト例を交えながら数回に分けて解説していきます。

        前回はこちら

          1. 今回の対象とするモデル

          今回は、SDXLを対象にプロンプトテクニックを解説します。特定のモデルに焦点を当てて話す理由としては、プロンプトの書き方や使用するノードがモデルの種類やバージョンにより異なるためです。ここでは、複雑性を減らして解説するために、メジャーなモデルのSDXLを利用します。各種モデルの評価については、別記事にて解説予定です。

          ユーザーが知っておくべき「モデルとの対話」について簡単に図解しておきます。

          画像

          ここからの画像生成では、モデル(checkpoint)としてstable-diffusion-xl-base-1.0を使用します。

          • メニューから「Manager」を選択します。
          画像
          • ComfyUI Manager Menuが開きます。ここで「Model Manager」を選択します。
          画像
          • モデルの検索画面が表示されます。
          • 上部の検索バーに「sd_xl_base_1.0.safetensors」と入力すると、モデル一覧にsd_xl_base_1.0.safetensorsが表示されます。
          • sd_xl_base_1.0.safetensors「Install」をクリックしてください。
          画像
          • しばらくすると、インストールが完了し、Refreshを求められます。
          画像
          • トップ画面に戻り、メニューの「Refresh」をクリックしてください。
          画像
          • Load Checkpointsd_xl_base_1.0.safetensorsを設定できるようになります。
          画像

          2. プロンプトと画像サイズ、シードの基本をおさらいしよう

          プロンプトとは、AIモデルに画像を生成させるための指示文のことです。人間が言葉でAIに指示を出すための手段とも言えます。例えば、「夕焼けのビーチで遊ぶ子供たち」というプロンプトを入力すると、SDXLはそのような画像を生成しようとします。プロンプトが具体的であればあるほど、思い通りの画像が生成されやすくなります。

          プロンプト例

          A photo of a cat wearing a Santa hat, sitting on a Christmas present

          このプロンプトは、クリスマスのプレゼントの上に座っている、サンタの帽子をかぶった猫の写真を生成するようにSDXLに指示します。「Santa hat」や「Christmas present」といった具体的な単語を追加することで、よりクリスマスらしい画像が生成されやすくなります。

          画像

          画像サイズとシードを固定して実験

          [TIPS] SD1.5系からSDXLに切り替えたときは、「Empty Latent Image」を[512, 512]から[1024, 1024]に切り替えるのを忘れずに。SDXLは1024×1024に最適化されているので、生成するLatent画像のサイズが小さいと本来の能力が発揮されません。
          なお 1024×1024=1,048,576で必要なピクセル幅で割れば高さが求められますが、例外もあります。特に注意したいのは「16:9」で、割り算するとwidth:1365, height:768が最適…と思いきや、実はSDXL自体がこのサイズで学習をしておらず、推奨の16:9設定は「”1.75″: (1344, 768)」、もしくは「”1.91″: (1344, 704)」(nearly 16:9)となります。

          画像

          実験のためにseedを1234, control_before_generateをfixedにして実験してみます。

          画像

          1368×768 (seed:1234)

          画像

          1344×768 (seed:1234)

          画像

          1344×704 (seed:1234)

          画像

          あんまりわかりやすい違いはありませんが、実用的には以下のようにおぼえておくと良いかもしれませんね!

          ■ComfyUI SDXLでのHDTV(16:9)最適画像サイズ

          1368×768: 非推奨 (AS比1.77) 最適解像度より2,048ピクセル多い
          1344×768: 学習済 (AS比1.75) 最適解像度より16,384ピクセル少ない
          1344×704: 学習済 (AS比1.91) 最適解像度より102,400 ピクセル少ない。noteカバーアートにぴったりサイズ

          画像

          AICU mediaでの実験によると、Google ColabのT4 GPU, RAM13GB, GPU RAM 15GB環境でのSDXLにおいて、1344×768、1344×704が平均23秒/生成(1.15s/it)であるところ、1368×768は28秒/生成(1.27s/it)というところです。なおs/itという単位はiterationといって、1ステップあたりの処理時間であるようです。この場合の設定はstep=20なので、ちょうど計算があいます。

          生成時間が気になるひとは、ぜひログを見てみてください!

          画像
          Google Colab上で確認できます

          3. 基本的なプロンプトの書き方

          SDXLのプロンプトは、基本的に英語で記述します。シンプルな英語で記述しても高品質な画像が生成されますが、より詳細な指示を与えることで、より思い通りの画像を生成できます。

          3.1 プロンプトの構成要素

          プロンプトは、以下の要素を組み合わせて文章形式で記述します。

          • 芸術スタイル: 画像の雰囲気や画風(例:写真、絵画、アニメなど)
            • 例1: oil painting(油絵)
            • 例2: Pencil drawing(鉛筆画)
            • 例3: Concept art(コンセプトアート)
          • 主題: 描写したいもの(例:猫、風景、人物など)
            • 例1: Lion(ライオン)
            • 例2: Panda(パンダ)
            • 例3: A warrior with a sword(剣を持った戦士)
          • 色とトーン: 画像の全体的な色彩や雰囲気を指定
            • 例1: Vibrant colors(鮮やかな色彩)
            • 例2: Monochrome(モノクロ)
            • 例3: Warm tones(暖かい色調)
          • ディテールと複雑さ: 画像の細部の精密さや全体的な複雑度を指定
            • 例1: Highly detailed(非常に詳細)
            • 例2: Intricate patterns(複雑な模様)
            • 例3: Minimalist(ミニマリスト)
          • 技術的特性: 画像の技術的な側面や品質に関する指定
            • 例1: High resolution(高解像度)
            • 例2: Photorealistic(写真のようにリアル)
            • 例3: 8K(8K解像度)

          プロンプト例

          以下にこの構成に従って作成したプロンプトと生成画像を示します。

          oil painting, majestic lion, golden sunset hues, Highly detailed, photorealistic, 8K
          画像

          これらの要素を組み合わせて、より複雑なプロンプトを作成できます。

          3.2 単語の区切りと記号

          • 単語は空白で区切ります。
          • `,`などの記号は、単語区切りとなる場合があります。

          プロンプト例

          A cat, black and white, sleeping on a red, fluffy rug
          画像

          3.3 コメント

          プロンプトにコメントを追加したい場合は、C言語のような記法が使えます。`//` で行末まで、`/* */` で囲まれた部分がコメントになります。

          プロンプト例

          A portrait of a man with a beard // ひげを生やした男性の肖像画
          /* 年齢は30代くらい */ wearing a suit, photorealistic style
          画像
          画像
          イケメンです

          4. プロンプトの強調

          特定の単語やフレーズを強調したい場合は、括弧で囲みます。

          • (単語): 1.1倍強調
            • 例: A portrait of a woman with (green) eyes
          • ((単語)): 1.21倍強調
            • 例: A portrait of a woman with ((long)) blonde hair
          • (単語:数値): 数値で任意の倍率を指定
            • 例: A landscape with a (bright:1.5) blue sky

          プロンプト例

          A fantasy landscape with a (red:1.5) castle on a hill, overlooking a vast forest

          この例では、「red」が強調され、より赤が強調された描画がされやすくなります。以下の画像は、強調前と強調後の比較画像です。両方とも同じシード値を利用して生成しています。強調後は、全体的に赤くなっており、赤が強調されていることが分かります。

          画像
          画像

          5. ComfyUIでのプロンプト入力

          ComfyUIでは、CLIPTextEncodeノードでプロンプトを入力します。このノードは、プロンプトをSDXLが理解できる形式に変換する役割を果たします。

          ComfyUIでのSDXL環境では、ポジティブプロンプトとネガティブプロンプトの両方を同じCLIPTextEncodeノードで指定できます。

          画像
          • ポジティブプロンプト: 生成したい画像の特徴を記述します。
          • ネガティブプロンプト: 生成したくない画像の特徴を記述します。

          それぞれのプロンプト用にCLIPTextEncodeノードを用意し、KSamplerノードの対応する入力に接続します。詳細は、以下の記事をご覧ください。

          6. embeddingでの品質向上

          embedding(エンベッディング)は、特定の概念やオブジェクトを表現する埋め込みベクトルを学習したファイルで、非常に小さなファイルなのですが、これをComfyUIで読み込むことで、画像生成の際に特定のスタイルや要素を反映させたり、ネガティブプロンプトを簡略化することができます。
          例えば、ネガティブプロンプトをまとめたembeddingを使うと、たくさんのネガティブプロンプトを指定する必要がなくなります。

          使用方法

          冒頭で紹介した通り、ComfyUI Manager → Model Manager →検索窓に入れる方法でインストールできるものはそちらの方法がオススメです。例えばSD1.5でよく使われる「EasyNegative」は簡単にインストールできます。

          画像

          今回は、「negativeXL_D」というSDXLで人気の複数のネガティブプロンプトが埋め込まれているembeddingを使用します。ComfyU Manager経由でのインストールではない方法を紹介します。

          https://civitai.com/models/118418/negativexl

          https://huggingface.co/gsdf/CounterfeitXL/blob/main/embeddings/negativeXL_D.safetensors

          • negativeXL_D.safetensorsをダウンロードし、ComfyUI/models/embeddingsフォルダに格納してください。

          このリンクからいったんPC/Macのストレージにダウンロードし、Google ColabかGoogle Driveを使って、アップロードします。

          画像

          メニューの「Refresh」すると反映されます。「Restart Required」と表示された場合は、ComfyUI Managerからの再起動で問題なく利用できますが、それ以外の問題が起きた場合は、念の為Google Colabを再起動しましょう。

          • embeddingを使用するには、プロンプトに「embedding:[embeddingの名前]」を含めます。今回の場合は、ネガティブプロンプトに「embedding:negativeXL_D」を含めます。ポジティブプロンプトは「1girl」のみとします。
          画像

          以下が生成結果です。embeddingありの場合は、リアル調で細部がはっきり描かれています。

          画像

          1344×704 (seed:3) “1girl”のみ

          画像

          1344×704 (seed:3) “1girl” +  ネガティブプロンプトに「embeddings:EasyNegative」を指定

          画像

          1344×704 (seed:3) “1girl” +  ネガティブプロンプトに「embeddings:negativeXL_D」を指定

          画像

          1344×704 (seed:3) “1girl” +  ネガティブプロンプトに「embeddings:EasyNegative, embeddings:negativeXL_D」を指定

          画像

          EasyNegativeとnegativeXL_Dは同じ作者・rqdwdw 氏によるembeddingsであり、近い特性を持っていますが、混ぜて使うことは必ずしも良い結果を産まないようです。¥

          AUTOMATIC1111では「Textual Inversion」という機能で扱われていたembeddingですが、かつてのテクニックもモデルさえ同じであればそのまま使うことができます。 embedding、negative XLについての混合実験についてはこちらの記事もご参照ください。

          https://note.com/aicu/n/n1ebba31e4514

          中間まとめ

          この記事では、ComfyUIでSDXLのプロンプトを記述する基本的な方法をまとめました続いて、応用的なテクニックを紹介していきます。

          <次回に続きます!>

          X(Twitter)@AICUai もフォローよろしくお願いいたします!

          SDXLによる画像生成AIについてしっかり学びたいひとはこちらの書籍「画像生成AI Stable Diffusionスタートガイド」(通称「#SD黄色本」)がオススメです。

          https://j.aicu.ai/SBXL

          画像生成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?from=self

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


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

          Originally published at https://note.com on Sept 1, 2024.

        1. [期間限定有料]リポジトリに異変あり!?AUTOMATIC1111 vs ComfyUI

          本記事はメンバーシップ向け期間限定有料記事です

            画像生成AIで注目される「ComfyUI」とは

            AI画像生成の世界では、ユーザーフレンドリーなツールの需要が高まっています。その中で、ComfyUIは画期的なソリューションとして注目を集めています。

            ComfyUIは、Stable Diffusionをベースにした強力かつ柔軟なオープンソースの画像生成AIのためのグラフィカルユーザーインターフェイス(GUI)です。その特徴的なノード(node: ネットワークの節点)ベースのインターフェイスにより、複雑な画像生成プロセスを視覚的に構築し、細かく制御することが可能になりました。

            初心者にとってノードベースのGUIは直感的な操作性を提供し、上級者には複雑な処理を構築する自由度と可視化性能を与えています。そのほかにも高度なカスタマイズ性、拡張性、リソース効率の良さなど、ComfyUIは多くの利点を備えています。

            2024年7月末現在の世界の画像生成AIの2大WebUIのGoogle検索のトレンドを可視化してみました。

            画像

            念の為、2024年8月末で過去90日で確認してみました。

            画像

            See Interest over time on Google Trends for ComfyUI, automatic1111 – Worldwide, Past 90 days

            結果は圧倒的な差で、2023年12月以降ComfyUIが注目されています。AUTOMATIC1111が下がっているのではなく、ComfyUIに対する検索がこの期間で2~3倍に増えているという見方もできます。

            つまり、従来の「AUTOMATIC1111」だけでなく「ComfyUI」に関する注目が相対的に3倍に増えているということで、AUTOMATIC1111(以下A1111)からComfyUIに全移行しているということではなく、興味関心が集まっており、かつこの分野「画像生成AI」の検索人口が増えているという理解です。

            更に重大な問題が起きていた

            AICU media編集部がこの問題、「ComfyUIとAutomatic1111の関係」に注目をはじめてリサーチを開始した7月末から1ヶ月、実はもっと重大な問題が起きていました。

            画像

            こちらは、ComfyUIの作者である「ComfyUIAnoymous」さんのGitHubアカウントです。

            https://github.com/comfyanonymous

            御名前が「ComfyUIの匿名希望」ですが、非常に精力的に活動されており、実在する人物であることがわかります。GitHubは複数のアカウントをつくることを推奨されていません。なお、ComfyUIさんの正体についてご興味がある方は、最後までお読みいただければ幸いです。御本人のメッセージも翻訳しておきました。

            一方で、AUTOMATIC1111さんのGitHubです。

            画像

            https://github.com/automatic1111

            実は、AUTOMATIC1111氏はこの2ヶ月、AUTOMATIC1111/stable-diffusion-webui(便宜上A1111webUIと呼びます)のメインブランチにコミットしていません。

            https://github.com/AUTOMATIC1111/stable-diffusion-webui/commits/master

            AICU mediaでも最新のA1111webUIの状況は常にレポートしてきたのですが、最新のv.1.10.0が最新かつ、長期メンテンナンスに適したバージョンであるという予測は間違っていなかったようです。

            AUTOMATIC1111氏の消息はわかりませんが、コミット状況から察するに、週末のみの活動(平日はオープンではない仕事に従事している)か、燃え尽きてしまったのかもしれません。

            A1111webUI-Extensionのほうのリポジトリは動いていますので、メインリポジトリは動いています。

            https://github.com/AUTOMATIC1111/stable-diffusion-webui-extensions

            AUTOMATIC1111氏の実在はA1111webUI以前の過去の活動から知られていた人物であり、確認はされていますが、一方で最近のGitHubの状況はオープンソースの世界では望ましい状況であるとは言い難いかもしれません。

            参考までに、AICU media編集長のGitHubアカウントです。

            画像

            https://github.com/kaitas

            過去のオープンソース活動などのメンテナンスも行っていることが普通の状態なので「数カ月にわたって草が生えていない」という状態は、このアカウント自体の生存が心配されるレベルなのではないでしょうか。人気のオープンソースプロジェクト開発の重圧というものは想像を絶する大変さがあると考えますが、AICU mediaとしてはまず無事であることを祈っています。

            ComfyUIannoymous氏のGitHubにも異変

            ここ数日の動きですが、ComfyUIannoymous氏は、リポジトリの移行作業を行っているように見えます。

            画像

            現状の個人のアカウントでの開発から、自動でComfy-orgのリポジトリへコードを引き上げています。

            https://github.com/Comfy-Org/ComfyUI-Mirror

            このComfy-Orgのリポジトリには興味深いプロジェクトが多くあります。

            ComfyUIフロントエンド

            https://github.com/Comfy-Org/ComfyUI_frontend

            ComfyUIコマンドライン・インタフェース(CLI)

            https://github.com/Comfy-Org/comfy-cli

            ・ComfyUI をコマンド 1 つで簡単にインストールできます
            ・ComfyUI 拡張機能と依存関係のシームレスなパッケージ管理
            ・ComfyUI の機能を拡張するためのカスタムノード管理
            ・チェックポイントをダウンロードしてモデルハッシュを保存する
            ・クロスプラットフォーム互換性(Windows、macOS、Linux)
            ・包括的なドキュメントと例

            pip install comfy-cli

            シェルのオートコンプリート機能:シェルに自動補完ヒントをインストールするには、次のコマンドを実行します。

            comfy –install-completion

            これにより、[tab]キーやコマンドとオプションを自動補完できるようになります。

            ComfyUIのインストール:comfy を使用して ComfyUI をインストールするには、次のコマンドを実行します。

            comfy install

            MacのOSXでよく利用されるhomebrewコマンドンライン・インタフェースです

            https://github.com/Comfy-Org/homebrew-comfy-cli

            brew tap Comfy-Org/comfy-cli
            brew install comfy-org/comfy-cli/comfy-cli

            ComfyUIのUI部分だけを切り出したプロジェクト「LiteGraph.js」

            https://github.com/Comfy-Org/homebrew-comfy-cli

            デモサイトはこちら https://tamats.com/projects/litegraph/editor/

            Pure DataMax/MSP/Jitterスタイルの音楽UIがデモされています

            画像

            Web上でノードベースのUIをつくるのに便利そうです。

            公式Webサイトなどにも注意

            2024年6月19日、Xに@ComfyUIというアカウントが誕生しました。

            なお、似たドメインに「ComfyUI.org」がありますが、これは非公式サイトです。公式サイトはこちら「https://comfy.org」です。

            https://www.comfy.org

            最初にComfyUIで生成された画像、というトップ画像が印象的です。

            画像

            https://github.com/Comfy-Org

            ComfyUI公式「よくある質問」より(翻訳)

            Q:今後の計画について教えてください。
            A:Comfyでは、常に最先端を行くために、最先端のモデルを採用し続けます。また、PRをレビューし、Githubの問題に迅速に対応することを目指しています。また、カスタムノード作成者のユーザーエクスペリエンスと開発者エクスペリエンスを向上させる必要があります。正確なモデルについてはまだ検討中ですが、将来の改良はGithubのProjectsで共有する予定です。すべての大きな変更はGithubのディスカッションとして始まり、私たちのDiscordとMatrixサーバーで共有されます。最終的なデザインに達したら、公開ロードマップに実装を追加します。私たちのTwitter、Discord、Matrixサーバーで最新情報をご確認ください。

            Q:プロジェクトはどうやって維持するのですか?
            A:現在、私たちはお金を稼いでいません。オープンソースのAIツールを開発するという私たちのビジョンに賛同してくださるサポーターや投資家に支えられています。そのような方は、hello@comfy.org。将来的にはお金を稼ぐつもりです。

            Q:どうやってお金を稼ぐのですか?
            A:最近のComfyUIのセキュリティ上の懸念にはどのように対処するのですか? レジストリ上のノードは意味的にバージョン管理され、悪意のある動作についてスキャンされます。すべてをキャッチすることはできませんが、ノードがカスタムピップホイールを含むかどうか、任意のシステムコールを実行するかどうか、外部APIを呼び出すかどうかのチェックを近々追加する予定です。フラグが立てられたノードは人間がレビューします。さらに重要なことは、セキュリティ上の懸念が見つかった場合、そのノードを禁止し、そのノードをインストールしたユーザーに通知することです。このプロセスは時間をかけて改善される予定です。

            Q:他に取り組んでいるプロジェクトはありますか?
            A:ComfyUIはアプリケーションであり、バックエンドであり、開発者プラットフォームです。私たちはComfyUIを安全で信頼性の高いものにするためにツールに投資しています。私たちは、カスタムノードをホストするリポジトリであるComfy Registryをホストしています。レジストリ上のノードは意味的にバージョン管理され、悪意のある動作がないかスキャンされます。我々はすべてをキャッチすることはできませんが、ノードがカスタムピップホイールを含むかどうか、任意のシステムコールを実行するかどうか、または外部のAPIを呼び出すかどうかのチェックをすぐに追加する予定です。また、Comfyの新しいコミットを様々なオペレーティングシステムやGPU上のワークフローに対してテストする継続的インテグレーションテストスイートもホストしており、Comfyの信頼性を高めています。

            Q:コアとなる原則は何ですか?
            A:透明性とコミュニケーション。2.オープンソースとコミュニティ主導。3.AIの民主化

            Q:基盤モデルについてはどうですか?
            A:OSS AIコミュニティにおける最近の混乱にもかかわらず、OSS AIモデルには膨大な進歩があります。私たちはOSSモデルビルダーと密接に協力し、最高のモデルをComfyUIに導入しています。また、将来的にはAIモデルにより多くのリソースを投入する予定です。

            Q:どのようにComfyUIに貢献できますか?
            A:私たちのdiscord/matrixチャンネルでフィードバックをしたり、参加することができます。バグレポートや機能リクエストの提出にご協力いただける場合は、Githubに課題(Issue)を作成してください。多くの課題には #good-first-issue というタグがつけられています。それ以外の場合は、PRを投稿してください。近い将来、他のOSSプロジェクトと同様のガバナンス構造を導入する予定です。

            Q:Comfyの最新情報を得るにはどうしたらいいですか?
            A:Twitterでフォローしたり、DiscordやMatrixチャンネルに参加してください。


            以下は御本人のブログからの翻訳です。


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

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

          1. [10]ComfyUIで画像を高解像度化!Hires.fix完全ガイド

            もっと高画質の画像を生成したいと思いませんか?
            実は、ComfyUIのワークフローを工夫することで、高画質の画像生成が可能になります!

            こんにちわ、AICU media編集部です。
            ComfyUI マスターガイド」第10回目になります。
            今回は、生成した画像をさらに高解像度化できる「Hires.fix」の概要から実践的な使用方法を詳細に解説していきます。

            前回はこちら

            1. Hires.fixの概要とメリット

            Hires.fixの基本的な仕組み

            Hires.fix (High-Resolution Fix、ハイレゾフィックス) は、生成された画像を元に、より高い解像度の画像を生成する技術です。具体的には、低解像度画像に含まれる情報を元に、AIが欠落している高周波成分(細部情報)を予測・補完することで、高解像度化を実現しています。これは、単なる拡大とは異なり、画像の内容を理解した上でのアップスケール(高解像度化)と言えるでしょう。

            通常の画像生成との違い

            通常の画像生成では、最初から目標とする解像度の画像を生成しようとします。最初から高解像度で画像生成すると、学習した低解像度の特徴を高解像度に拡大する際、適切に補間できない場合があり、アーティファクト(*1)が含まれた画像を生成する確率が高くなります。

            *1 アーティファクトとは、元の対象物には存在しない、画像処理や撮影過程で人工的に生じた視覚的な異常や歪みのことです。例えば、身体の一部が欠けていたり、不自然な形状になっている状態のことです。

            一方、Hires.fixは、まず比較的低い解像度の画像を生成し、それを後からアップスケールするというアプローチを取ります。これにより、高解像度画像を直接生成するよりもアーティファクトの発生を抑制でき、高解像度な画像生成を実現できます。

            Hires.fixを使用するメリット

            • 高解像度化: 低解像度の画像を簡単に高解像度化できます。例えば、512×512ピクセルの画像を1024×1024ピクセル、1024×1024ピクセルの画像を2048×2048ピクセル、あるいはそれ以上にアップスケールすることが可能です。
            • 品質向上: ディテールを保持したまま、自然な高解像度画像を生成できます。単純な拡大ではぼやけてしまう部分も、Hires.fixではより鮮明に表現されます。

            2. ComfyUIでのHires.fix実装方法

            ワークフローの構成

            以下が今回使用するワークフローの全体像です。以下の画像には、ワークフローの情報も含まれているため、以下の画像をダウンロードし、ComfyUIにドラッグ&ドロップすれば、このワークフローを読み込むことができます。

            画像

            (ホントはこのPNG画像をドラック&ドロップでワークフローを再現できるのですが…)

            ※noteの仕様で画像をアップロードするとwebp形式に変換されてしまうので完成品のhiresfix.jsonとPNGはzip形式でお届けします。

            https://note.com/api/v2/attachments/download/1c54b7b03c22322760dc368afa1a439c

            ワークフローは、大きく分けて、標準ワークフローとHires.fixで構成されます。

            画像

            標準ワークフローについては、次の記事で詳細を解説していますので、こちらをご確認ください。

            Hires.fix部は、以下の流れで処理されます。

            1. 標準ワークフローで生成されたLatent(潜在空間)を1.5倍にアップスケールする (ノード: Upscale Latent By)
            2. アップスケールしたLatentを用いて、低ノイズ除去値 (denoise=0.55)で再度サンプリングし、画像の詳細度を増加させる (ノード: KSampler)
            3. 潜在空間を画像に変換する (ノード: VAE Decode)
            4. Hires.fixで生成された画像を保存する (ノード: Save Image)
            画像

            以下に各ノードの解説をします。

            潜在空間のアップスケール (Upscale Latent)

            Upscale Latentは、標準ワークフローで生成されたLatentを入力として受け取り、そのLatentを指定のアップスケール手法(upscale_method)および倍率(scale_by)で解像度を上げます。アップスケール手法は、以下の中から選択できます。各アップスケール手法の概要と共に紹介します。

            1. nearest-exact
              • 最も単純な方法で、最も近い既存のピクセル値を使用します。
              • エッジがシャープに保たれますが、ジャギーが目立つ可能性があります。
            2. bilinear
              • 線形補間を使用して新しいピクセル値を計算します。
              • 滑らかな結果が得られますが、エッジがやや柔らかくなる可能性があります。
            3. area
              • ピクセル領域のサンプリングを使用します。
              • ダウンスケーリングに適していますが、アップスケーリングにも使用できます。
            4. bicubic
              • 3次補間を使用してより滑らかな結果を生成します。
              • bilinearよりも細部を保持しつつ、滑らかさも実現します。
            5. bislerp
              • bilinearと同様の手順で補間を行いますが、線形補間(lerp)の代わりにslerp(球面線形補間)を使用します。
              • 従来のbilinear法よりも、より滑らかで自然な補間結果が得られる可能性があります。

            今回は、アップスケール手法にnearest-exact、倍率に1.5倍を指定します。

            画像

            詳細向上のための再処理 (KSampler)

            Upscale Latent By」でアップスケールしたLatentを入力「latent_image」で受け取り、そのLatentを元にノイズ除去強度(denoise)(*2)を低い値でサンプリングを試みます。他の入力「model」「positive」「negative」は、標準ワークフローと同じ接続となります。また、他のウィジェット「control_after_generate」「steps」「cfg」「sampler_name」「scheduler」も標準ワークフローと同じ値となります(「seed」はランダム値です)。

            *2 denoiseは、ノイズ除去の強度を調整するパラメータです。値を大きくするほどノイズは除去されますが、画像の詳細が失われる可能性もあります。最適な値は一概には言えないため、試行錯誤しながら見つけることが重要です。

            画像

            Latentから画像に変換 (VAE Decode)

            アップスケールとノイズ除去したLatentを画像に変換します。入力「samples」には、KSamplerでノイズ除去したLatentを接続し、入力「vae」には、標準ワークフローでも使用しているノード「Load Checkpoint」の出力「VAE」を接続します。

            画像

            画像の保存 (Save Image)

            VAE Decodeで変換された画像を受け取り、画像として保存します。標準ワークフローで生成した画像と切り分けるため、filename_prefixには「ComfyUI_Upscaled」と設定しました。

            3. Hires.fixを実行する

            それでは、ワークフローを実行してみましょう。メニューの「Queue Prompt」をクリックしてください。

            画像

            しばらくすると、生成が完了します。

            画像

            以下が生成結果です。左が標準ワークフローの生成結果(オリジナル)、右がHires.fixの生成結果です。解像度は、左が512×512、右が1.5倍の768×768になります。Hires.fix後の生成結果は、解像度が向上していますが、オリジナルと比較すると、所々で異なる点があります(例えば、ボトルの形状が若干異なる)。Hires.fixは、KSamplerで再度サンプリングしているため、denoiseを抑えているとはいえ、多少画像に変化が表れてしまいます。

            画像

            以下の画像は、denoiseの値ごとの生成結果の変化をまとめた画像です。denoiseの値が大きくなるほど、オリジナルからの変化が大きくなることが確認できます。denoiseの値は、生成結果を確認しながら調整することが求められます。

            画像

            4. Hires.fixの効果的な使用法

            Hires.fixは非常に便利ですが、一方で標準ワークフローと比べ、使い方が難しい面があります。以下の事項に注意してHires.fixを活用しましょう。

            • プロンプトの調整: 低解像度画像生成時のプロンプトは、高解像度化後にも影響を与えます。例えば、標準ワークフローでの低解像度画像生成時に詳細なプロンプトを使用することで、高解像度化後の詳細が向上する可能性があります。
            • 適切な解像度の選択: 生成時間と品質のバランスを考慮して、適切な初期解像度を選択しましょう。初期解像度が低すぎると、Hires.fixでも十分な品質を得られない場合があります。逆に、初期解像度が高すぎると、アーティファクトが多く含まれた画像が生成されてしまいます。
            • 一貫性と品質のバランス: パラメータ調整により、一貫性と品質のバランスをコントロールできます。例えば、denoiseを高く設定すると品質は向上しますが、アップスケール元画像からの変更点が多くなります。

            まとめ

            Hires.fixは、ComfyUIで高品質な画像を生成するための強力なツールです。この記事で紹介したテクニックを活用することで、より効果的にHires.fixを使いこなせるようになるでしょう。ぜひ、様々な設定を試して、あなただけの最高の画像を生成してみてください。

            次回は、ポジティブプロンプトのノウハウを紹介します。乞うご期待!

            https://note.com/aicu/n/n93bac52cfcf5

            X(Twitter)@AICUai もフォローよろしくお願いいたします!

            画像生成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?from=self

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


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

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

          2. [9]ComfyUIでワークフロー大公開!あなたの作品を世界へ発信

            こんにちわ、AICU media編集部です。
            ComfyUI マスターガイド」第9回目になります!

            今回は、ComfyUIで作成したワークフローをプラットフォーム上に公開・共有する方法をご紹介します。これらのプラットフォームを活用することで、自身のワークフローを世界中のユーザーに公開し、フィードバックを得たり、他のユーザーの優れたワークフローを参考にしたりすることができます。ComfyUIの可能性を最大限に引き出すためにも、ぜひこれらのプラットフォームを活用してみてください!

            前回はこちら

            シリーズ初回はこちら

            1. ワークフローを公開できるプラットフォーム

            ComfyUI Managerでは、ワークフローを公開する主要なプラットフォームに対し、ComfyUI Manager上から自身のワークフローをアップロードする機能があります。ComfyUI Managerが対応しているプラットフォームは以下になります。

            OpenArt

            OpenArtは、AIを活用してデジタルアートを作成・探索するための多機能プラットフォームです。ComfyUIワークフローを共有・発見・実行するためのプラットフォームとしても機能しています。OpenArtは、ComfyUIのエコシステムを拡張し、ユーザー間の協力を促進しています。主に以下のような特徴があります。

            • ワークフロー共有: ユーザーは自作のComfyUIワークフローをOpenArtにアップロードし、他のユーザーと共有できます。
            • 発見機能: 新しい注目のワークフローや、週間トップクリエイターなどを紹介するセクションがあります。
            • 実行環境: アップロードされたワークフローを直接プラットフォーム上で実行できる機能を提供しています。
            • コミュニティ機能: ワークフローに対するレビューや議論ができるディスカッションセクションがあります。
            • 教育リソース: ComfyUI Academyセクションでは、ComfyUIの使用方法に関するレッスンを提供しています。

            https://openart.ai/workflows/home

            YouML

            YouMLは、ComfyUIのワークフローを共有し、活用するためのプラットフォームです。以下にYouMLの主な特徴を説明します。

            • ワークフローの共有と実行: YouMLを使用すると、ComfyUIで作成したワークフローを公開し、他のユーザーが無料で実行できるようになります。これにより、GPUを持っていないユーザーでもComfyUIのワークフローを利用することが可能になります。
            • クラウドベースのエディタ: YouMLは、クラウドベースのComfyUIエディタを提供しています。このエディタを使用することで、ComfyUIワークフローの作成、編集、共有のプロセスが大幅に簡素化されます。
            • 多様なレシピ: YouMLには、様々な目的に特化したComfyUIワークフローのレシピが用意されています。例えば、AIステッカーメーカー、写真をレゴミニフィギュア化、顔のスワップなど、多岐にわたるレシピが公開されています。

            https://youml.org

            Matrix Server

            ComfyUIの開発者や熱心なユーザーが集まる公式のチャットルームがMatrix上に存在します。このルームは”ComfyUI dev”と呼ばれ、6,000人以上のメンバーが参加しています。このMatrix Serverは以下の特徴を持っています。

            • 公式コミュニティ: ComfyUIのGitHubページにもこのMatrix Serverへのリンクが掲載されており、公式のコミュニケーションチャンネルとして認識されています。
            • 最新情報: ComfyUIの最新情報や開発状況をリアルタイムで知ることができます。
            • サポート: 開発者や経験豊富なユーザーから直接サポートを受けられる可能性があります。
            • 情報共有: ComfyUIに関する議論や情報交換の中心地となっています。コミュニティメンバー同士でアイデアや作品を共有する場にもなっています。

            ComfyUIのMatrix Server上のコミュニティはこちら

            ComfyWorkflows

            ComfyWorkflowsは、ComfyUIのワークフローを共有、発見、実行するためのプラットフォームです。このサイトは、ComfyUIコミュニティによって作成された数千のワークフローを探索できる場所として機能しています。主な特徴は、以下の通りです。

            • ワークフロー共有: ユーザーは自作のComfyUIワークフローを共有できます。
            • ワークフロー探索: 他のユーザーが作成したワークフローを閲覧し、利用することができます。
            • 画像・動画ワークフロー: 画像生成や動画作成のためのワークフローが含まれています。
            • ComfyUI Launcher: 新機能として、セットアップ不要でComfyUIワークフローを実行できるツールが提供されています。

            https://comfyworkflows.com

            eSheep

            eSheepは、現状アクセス不可となっており、情報を得ることができませんでした。Webサイトには、「プラットフォームは現在アップグレードとメンテナンス中です」と表示されています。

            画像

            Copus

            Copus.ioは、クリエイティブコンテンツの共同制作と収益化を目的としたプラットフォームです。このプラットフォームは、クリエイター同士がインスピレーションを共有し、互いに協力してプロジェクトを進めることができる環境を提供します。ComfyUIユーザーがワークフローや生成した画像を簡単に共有できるようにすることもできます。主な特徴は、以下の通りです。

            • インスピレーションの共有: ユーザーは、自分のアイデアやコンセプトをプラットフォーム上で共有し、他のユーザーからのフィードバックや追加アイデアを得ることができます。
            • 共同制作: 複数のユーザーが協力して、ひとつのプロジェクトを共同で制作する機能です。各ユーザーは自分のスキルを活かし、他のユーザーのアイデアと組み合わせて新しい作品を生み出します。
            • 収益化ツール: 完成した作品やプロジェクトをプラットフォーム上で販売したり、ライセンス契約を結んで収益を得ることができます。収益は、貢献度に応じて公平に分配されます。

            https://www.copus.io

            2. OpenArt AIへのワークフローの公開方法

            ここからは、OpenArtへのワークフローの公開手順を説明します。流れとしては、OpenArtでアカウントを作成した後、ComfyUIに展開されているワークフローをComfyUI Manager経由でOpenArtにアップロードします。

            • まずは、公開するワークフローをComfyUIに読み込んだ状態にします。今回は、標準のワークフローを使用します。
            • 次に、メニューの「Share」をクリックします。
            画像
            • 公開するプラットフォームを選択する画面が表示されます。
            • 「OpenArt AI」の右にある「Website」をクリックします。
            画像
            • OpenArtのウェブサイトが開きます。
            • 左下にある「Sign Up」をクリックします。
            画像
            • Sign inの画面に遷移します。
            • 画面を下にスクロールし、下部にある「Sign Up」をクリックします。
            画像
            • アカウント作成画面に遷移します。
            • 表示名 (Display Name)、メールアドレス (Email Address)、パスワード (Password)、パスワードの確認 (Confirm password)を入力し、「Sign Up」をクリックしてください。
            画像
            • 認証コード入力画面に遷移します。
            • アカウント作成画面で入力したメールアドレスに認証コードが送信されるので、メールを確認し、メールに書かれている認証コードを「Verification Code」に入力します。
            • 認証コードを入力したら、「Verify Code」をクリックします。
            画像
            • アカウント登録が完了し、OpenArtのトップページに遷移します。
            画像
            • ComfyUIの画面に戻ってください。
            • 次に、「OpenArt AI」をクリックします。
            • ワークフローの共有画面に遷移します。
            • Get your API key here」をクリックします。
            画像
            • OpenArtのウェブサイトが開きます。
            • 中央にAPIキーが表示されています。右側の「Copy」をクリックし、APIキーをコピーします。
            画像
            • ComfyUIの画面に戻ります。
            • 「① OpenArt API Key」に先ほどコピーしたAPIキーを貼り付けます(*1)。

            *1 APIキーは、ComfyUI Manager経由でOpenArtにアクセスするために必要になります。

            画像
            • 次にサムネイルの設定をします。「② Image/Thumbnail (Required)」にある「ファイルを選択」をクリックします。
            画像
            • ファイル選択ダイアログが表示されるので、サムネイルにしたい画像を選択します。
            • 画面に選択したサムネイル画像が表示され、サムネイル画像の設定が完了します。
            画像
            • 次に、ワークフローのタイトルと説明を入力します。今回は、タイトルと説明に以下を設定しました。また、OpenArtは海外のサービスのため、英語で入力することをおすすめします。
              • タイトル: ComfyUI Test Workflow
              • 説明: This workflow is a standard workflow and is for trial sharing.
            画像
            • 最後に「Share」をクリックします。
            画像
            • OpenArtへのアップロードが実行されます。
            • アップロードが完了すると、下部に「Workflow has been shared successfully」と赤字で表示されます。これでOpenArtでのワークフローの公開が完了しました。
            • 公開されているワークフローを確認するために、その表示の横のメッセージ「Click here to view it」をクリックします。
            画像
            • アップロードされたワークフローのページが表示されます。
            画像

            3. まとめ

            本記事では、ComfyUIワークフローを公開できるプラットフォームの紹介と、OpenArtへのワークフロー公開方法について解説しました。各プラットフォームはそれぞれ独自の機能や特徴を持っており、自身のニーズや目的に合わせて最適なプラットフォームを選択することが重要です。

            これらのプラットフォームを活用することで、ComfyUIユーザーは自身のワークフローを世界中に公開し、他のユーザーと共有することができます。これは、ComfyUIコミュニティ全体の活性化に繋がり、より革新的なワークフローの開発を促進するでしょう。ComfyUIの更なる発展のためにも、積極的にこれらのプラットフォームを活用し、自身の創造性を世界に発信していくことを推奨します。

            次回は、高解像度化をするワークフロー「Hires.fix」を説明します。乞うご期待!

            X(Twitter)@AICUai もフォローよろしくお願いいたします!

            画像生成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?from=self

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


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

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