セットアップ: ComfyUI
TomoriBotは、自身のComfyUIインスタンスを通じて画像や動画を生成できます。プロンプトやサイズを置換したAPIフォーマットのワークフローを送信することでComfyUIを操作し、出力の準備ができるまでComfyUIの/historyエンドポイントをポーリングします。
このガイドでは、ComfyUIのインストール、実行、および登録について説明します。TomoriBot互換のワークフロー({TOMORI_*}プレースホルダー)の作成または編集については、Discord内の詳細ヘルプ(/help custom-endpoint endpoint:comfyui、全4ページ)、およびGitHubのワークフローのREADMEを使用してください。
ハードウェア要件
Section titled “ハードウェア要件”画像と動画の生成は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をインストールし、ネットワークでリッスンするように起動します。
python main.py --listen 0.0.0.0 --port 8188TomoriBotがDockerまたは別のマシンで実行されている場合、--listen 0.0.0.0が重要になります。デフォルトではループバックのみにバインドされるためです。ボットが実行されているマシンから到達可能であることを確認してください。
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.json |
txt2img, img2img, inpaint |
WAN i2v loop (動画) : tomoribot-wan-i2v-loop-video.json |
image-to-video |
これらはAPIフォーマット(ComfyUIが*Save (API Format)*でエクスポートするJSON)であり、通常のUI保存フォーマットではありません。独自に作成する場合は、TomoriBotが置換する{TOMORI_*}プレースホルダー(プロンプト、幅/高さ、シード、参照画像など)を含める必要があります。ワークフローのREADMEと/help custom-endpoint endpoint:comfyuiを参照してください。
3. Discordに登録する
Section titled “3. Discordに登録する”/provider custom-endpoint add(または/personal custom-endpoint add)を以下のように実行します。
| フィールド | ComfyUI用の値 |
|---|---|
endpoint_label |
選択した名前(例: home-comfy) |
capability |
image(またはvideo) |
api_style |
ComfyUI |
endpoint_url |
http://127.0.0.1:8188(ルート、/v1はなし) |
auth_token |
(ComfyUIが認証の背後にない限り空白のままにします) |
続くモーダルで、ステップ2でダウンロードしたワークフローの.jsonをアップロードし、使用方法と一致するサポートモード(画像の場合はtxt2img / img2img / inpaint)を選択します。選択した機能はワークフローと一致している必要があります(画像ワークフロー → image、動画ワークフロー → video)。
これを登録すると、自動的にアクティブなimage/videoモデルになります。チャットでトモリに直接尋ねて生成をトリガーします。何らかの理由でアクティブにならない場合は、/model image(または/model video)を実行し、登録したComfyUIエンドポイントを選択します。
トラブルシューティング
Section titled “トラブルシューティング”- 追加時に到達不能になる: ボットがDocker内、または別のホストにある間に、ComfyUIがループバックにバインドされました。
--listen 0.0.0.0で起動し、http://host.docker.internal:8188またはLAN IPを使用してください。 - 生成が完了しない: TomoriBotは、出力が表示されるまで
/historyをポーリングします。コールドスタートやCPU上の大規模モデルは、ポーリングウィンドウを超える可能性があります。 - プロンプト/サイズが無視される、または出力サイズが間違っている: ワークフローに必須の
{TOMORI_*}プレースホルダーが欠落しているか、APIフォーマットではなくUIフォーマットのエクスポートをアップロードしました。 - 機能が間違っている:
videoで登録されたimageワークフロー(またはその逆)は実行されません。一致する機能で再追加してください。