コンテンツにスキップ

セットアップ: ComfyUI

TomoriBotは、自身のComfyUIインスタンスを通じて画像や動画を生成できます。プロンプトやサイズを置換したAPIフォーマットのワークフローを送信することでComfyUIを操作し、出力の準備ができるまでComfyUIの/historyエンドポイントをポーリングします。

このガイドでは、ComfyUIのインストール、実行、および登録について説明します。TomoriBot互換のワークフロー({TOMORI_*}プレースホルダー)の作成または編集については、Discord内の詳しい解説を使ってください。/helpを開き、機能からカスタムエンドポイントを選び、GitHubのワークフローのREADMEも参照してください。

画像と動画の生成はGPUに依存します。最大のコストはVRAM(システムRAMとは別の、グラフィックカードのメモリ)であり、これはComfyUI自体ではなく、ワークフローが読み込むモデルチェックポイントによって決まります。NVIDIAのGPUを強く推奨します。TomoriBotに同梱されている2つのワークフローは、どちらもモダンでSDXLよりも重いモデルです。

同梱ワークフローベースモデル実用的なVRAM備考
Anima v1(画像)Qwen-Image(~20B)、fp8下限約16 GB・快適24 GBテキストエンコーダーとVAEで約8-10 GBのオーバーヘッドが追加されます。16 GB未満の場合は、GGUFビルドと--lowvramを使用してください。
WAN i2v loop(動画)Wan 2.2 14B、fp8 + 4ステップLightX2V LoRA動作可能約16 GB・快適24 GB以上最も重いオプションで、1クリップあたり数分かかることを想定してください。小規模なカードでは、UMT5テキストエンコーダーをRAMにオフロード(t5_cpu、24 GB以上のシステムRAMが必要)してください。

同梱されているチェックポイントはどちらも、コンシューマー向けカードに収まるようにすでにfp8量子化されています。VRAMが少ない場合は、UNETをより小さな量子化モデルに交換し、ComfyUIの--lowvram / CPUオフロードを有効にしてください。CPUのみでのディフュージョンは非現実的で(画像1枚に数分かかり、動画ではさらに悪化します)、TomoriBotのポーリングウィンドウを超える可能性があるため、通常の使用には実質的にGPUが必要です。

1. APIを有効にしてComfyUIを実行する

Section titled “1. APIを有効にしてComfyUIを実行する”

READMEに従ってComfyUIをインストールし、ネットワークでリッスンするように起動します。

Terminal window
python main.py --listen 0.0.0.0 --port 8188

TomoriBotがDockerまたは別のマシンで実行されている場合、--listen 0.0.0.0が重要になります。デフォルトではループバックのみにバインドされるためです。ボットが実行されているマシンから到達可能であることを確認してください。

Terminal window
curl http://127.0.0.1:8188/system_stats

テストする場合は、選択したワークフローが想定するモデルチェックポイントをロードし、ComfyUIのWeb UIで手動生成を1回実行して、TomoriBotに接続する前にエンドツーエンドで機能することを確認してください。

2. TomoriBotのワークフローを取得する

Section titled “2. TomoriBotのワークフローを取得する”

すぐに使用できるAPIフォーマットのワークフローをダウンロードします。例はリポジトリのassets/comfyui-workflows/の下にあります。

ワークフローモード
Anima v1(画像):tomoribot-anima-v1-comfyui.jsontxt2img, img2img, inpaint
WAN i2v loop(動画):tomoribot-wan-i2v-loop-video.jsonimage-to-video

これらはAPIフォーマット(ComfyUIが*Save (API Format)*でエクスポートするJSON)であり、通常のUI保存フォーマットではありません。独自に作成する場合は、TomoriBotが置換する{TOMORI_*}プレースホルダー(プロンプト、幅/高さ、シード、参照画像など)を含める必要があります。ワークフローのREADMEと、/helpプロバイダーにあるカスタムエンドポイントページを参照してください。

/providers(または/personal providers)を実行し、新しいカスタムエンドポイントを追加を選んで、以下を入力します。

フィールドComfyUI用の値
endpoint_label選択した名前(例:home-comfy
API互換性ComfyUI
endpoint_urlhttp://127.0.0.1:8188(ルート、/v1なし
auth_token(ComfyUIが認証の背後にない限り空白のままにします)

接続を保存したら、それを選択し、モデルのドロップダウンから画像または動画モデルを追加します。チェックポイントの正確なコード名を入力し、ステップ2でダウンロードしたワークフローの.jsonをアップロードしてください。モデルの機能はワークフローと一致している必要があります(画像ワークフロー → image、動画ワークフロー → video)。

画像モデルでは、画像対応機能(テキストから画像、画像から画像、インペイント、ネガティブプロンプト)も入力します。ワークフローが実際に実装しているモードだけにチェックを入れてください。トモリは、あなたが宣言したモードでしかそのツールを提供しないからです。インペイントはComfyUI接続でのみ表示されます。マスクを受け付けるAPI互換性が他にないからです。後でモデルを編集すると、現在の選択内容を保持したままフォームが再度開くため、コード名を変更しても選択がクリアされることはありません。

モデルを追加すると、自動的にアクティブなimage/videoモデルになります。チャットでトモリに直接頼んで生成をトリガーしてください。何らかの理由でアクティブにならない場合は、/config > モデル > モデルの切り替えを実行し、登録したComfyUIエンドポイントを選択してください。

  • 追加時に到達不能になる: ボットがDocker内、または別のホストにある間に、ComfyUIがループバックにバインドされました。--listen 0.0.0.0で起動し、http://host.docker.internal:8188またはLAN IPを使用してください。
  • 生成が完了しない: TomoriBotは、出力が表示されるまで/historyをポーリングします。コールドスタートやCPU上の大規模モデルは、ポーリングウィンドウを超える可能性があります。
  • プロンプト/サイズが無視される、または出力サイズが間違っている: ワークフローに必須の{TOMORI_*}プレースホルダーが欠落しているか、APIフォーマットではなくUIフォーマットのエクスポートをアップロードしました。
  • 機能が間違っている: videoで登録されたimageワークフロー(またはその逆)は実行されません。一致する機能で再追加してください。