ComfyUIとLM Studioを一緒に使う方法|プロンプト自動生成とVRAMの取り合い対策を実測

PC・GPU環境

この記事について(広告・アフィリエイトリンクはありません)

ComfyUI と LM Studio を同じ GPU で使うなら、LLM を外してから画像を作るのが手軽で、VRAM のピークも下がります。

LM Studio でローカルLLMを動かせば、日本語で「夕暮れの海辺で麦わら帽子の女の子」と書くだけで、英語のプロンプトを作ってもらえる組み合わせです。

ただ、LLM と画像生成モデルを両方動かすとVRAM の取り合いが起きます。この記事では、2つのつなぎ方と、対策なしを含む4つの条件で比べた VRAM の実測を紹介します。測定の条件は末尾の「検証メモ」に書きました。

結論:LLMを使い終わったら外してから画像を作る

  • 何も対策しないと、VRAM のピークは 20.7GB でした。画像を作り終わった後も、LLM(読み込みで約10.9GB 増えた分)が VRAM に残ったままになります。
  • LLM を外してから画像を作ると、ピークは 16.2GB まで下がりました。
  • ComfyUI 側のモデルを先に解放してから LLM を読み込むと、ピークは 15.3GB でした。
  • LM Studio の TTL(使われないと自動で外れる時間)を短くする方法は、後片付けには便利ですが、ピークは下がりませんでした。

VRAM が 16GB 以下の GPU では、対策なしだとモデルが VRAM に収まらないおそれがあります。その場合は「使い終わった方が VRAM を返す」順番を作るのが大切です。

検証した環境

GPUNVIDIA GeForce RTX 5090(32GB)
OSWindows 11
ComfyUIv0.43.0(ポータブル版)
LM Studio0.4.25
LLMopenai/gpt-oss-20b(MXFP4、約12GB)
画像生成モデルanima_jp_extended(896×1152、30ステップ、CFG 4、er_sde/simple)
カスタムノードComfyUI-EBU-LMStudio 1.0.10
検証日2026年10月29日

なぜVRAMの取り合いになるのか

ComfyUI も LM Studio も、一度読み込んだモデルを VRAM に残しておきます。次に使うときに読み込み直さなくて済むので速いのですが、2つのアプリが同時にモデルを持つと、その合計が VRAM を占めます。

他のアプリからの呼び出しで自動的に読み込まれたモデル(JIT 読み込み)は、最後に使われてから60分は VRAM に残る、というのが LM Studio の公式ドキュメントの説明です。lms load コマンドで読み込んだモデルは、手で外すまで残る仕様です。

ComfyUIとLM Studioのつなぎ方

手順1:LM Studio の準備

  1. LM Studio でモデル(今回は openai/gpt-oss-20b)をダウンロードします。
  2. LM Studio のローカルサーバーを起動します(標準のポートは 1234)。
  3. コマンドプロンプトで lms ls を実行し、モデルの一覧が出ることを確かめます。出ない場合は、lms コマンドの場所が PATH に入っていません。

手順2:ComfyUI 側のカスタムノード

ComfyUI から LM Studio を呼ぶノードはいくつかありますが、今回は ComfyUI-EBU-LMStudio(MIT ライセンス)を使いました。LLM の読み込み・問い合わせ・解放のノードがそろっていて、VRAM の管理まで ComfyUI の中でできるからです。導入前にコードを読み、LM Studio(127.0.0.1:1234)以外への通信がないことを確認しました。

cd ComfyUI/custom_nodes
git clone https://github.com/burnsbert/ComfyUI-EBU-LMStudio

今回使ったノードは次の3つです。

ノード役割
EBU LMStudio LoadLM Studio にモデルを読み込ませる
EBU LMStudio Make Request指示文を送り、LLM の返事を文字列として受け取る
EBU LMStudio Unload AllLM Studio に読み込まれている LLM をすべて外す

注意:Load ノードと Unload ノードは、内部で lms unload --all を実行します。LM Studio で手動で読み込んでおいた別のモデルもまとめて外れます。実際に、手で読み込んでおいた qwen3.5-9b も外れました。LM Studio を別の用途でも使っている人は気をつけてください。

手順3:ワークフロー

流れは「日本語の指示 → LLM が英語プロンプトを書く → そのプロンプトで画像を作る」です。Make Request の出力を、画像生成のプロンプト(CLIP Text Encode)の入力につなぎます。

EBU LMStudio の Load・Make Request・Unload All と Anima をつないだ ComfyUI のワークフロー
方法(b)のワークフロー:LLM が書いたプロンプトを CLIP テキストエンコードへ渡し、Unload All で LLM を外してから生成

「夕焼けの海辺で、麦わら帽子をかぶった女の子が振り返って笑っている、やさしい雰囲気のイラスト」という日本語の指示から、gpt-oss-20b は次のプロンプトを書きました(4回とも同じ結果でした)。

1girl, solo, sunset, seaside, straw_hat, smiling, looking_back, gentle. A girl with a straw hat smiles softly as she looks back at the setting sun.
LLM が書いたプロンプトで生成した、夕焼けの海辺で麦わら帽子の女の子
生成された画像(anima_jp_extended)

ComfyUIとLM Studioを併用する4条件でVRAMを比較(実測)

同じワークフローを、対策なしを含む4つの条件で動かし、nvidia-smi で VRAM の使用量を約0.5秒ごとに記録しました。ピークが下がったのは (b) と (d) で、(c) は対策なしとほぼ同じでした。

方法VRAMのピークかかった時間終わった後
(a) 対策なし20.7GB20.6秒LLM が残る(読み込みで約10.9GB 増えた分)
(b) Unload All で LLM を外してから生成16.2GB21.3秒8.6GB(画像モデルだけ)
(c) lms load --ttl 30 で読み込んでおく21.0GB8.1秒※20〜30秒後に LLM が自動で外れる
(d) ComfyUI の /free でモデルを解放してから LLM を読み込む15.3GB21.4秒(/free の2.1秒は含まない)8.7GB(画像モデルだけ)
4つの条件の VRAM 使用量の推移のグラフ
4つの条件の VRAM の推移(nvidia-smi で約0.5秒ごとに記録。縦軸は MiB を1000で割った GB で、表と同じ)

時間は、ComfyUI にワークフローを送ってから画像が保存されるまでです。(a)(b)(d) には、LLM の読み込み、LLM の応答、画像モデルの読み込み、生成が含まれます。※(c) は LLM(約7秒)も画像モデルも読み込み済みの状態から測ったので、ほかの3つとは条件が違います。(c) の時間が短いのは主にこのためです。

(b) LLM を外してから画像を作る(いちばん手軽)

Make Request の後に Unload All ノードを置き、LLM を外してから画像生成に進むようにつなぎます。対策なしと比べて時間は0.7秒しか増えず、ピークは4.5GB 下がりました。作り終わった後に VRAM に残るのも画像モデルだけです。

(c) TTL を短くする(後片付けは楽だがピークは下がらない)

TTL は「使われなくなってから何秒で自動的に外すか」の設定です。lms load モデル名 --ttl 30 のように秒数で指定できます。実際に30秒にしたところ、使い終わってから20〜30秒で LLM が外れました。

ただ、外れるのは画像生成の後です。生成中は LLM も画像モデルも VRAM に載っているので、ピークは対策なしと同じでした。VRAM に余裕がある人が「放っておいても後で空く」ようにする方法と考えてください。LLM を前もって読み込んでおけば、ワークフローを動かしたときの待ち時間は短くなります。

(d) ComfyUI のモデルを先に解放する

ComfyUI には、読み込んだモデルを VRAM から外すための /free という仕組みがあります(ComfyUI のソースコードで確認)。ComfyUI を起動した状態で、コマンドプロンプトから次のように呼び出します。

curl -X POST http://127.0.0.1:8188/free -H "Content-Type: application/json" -d "{\"unload_models\": true, \"free_memory\": true}"

ポート番号は自分の ComfyUI に合わせてください。今回はこの方法がいちばんピークが低く、15.3GB でした。

VRAM が少ないGPUの人へ

今回の数字は RTX 5090(32GB)で測ったものです。VRAM の少ない GPU では試していません。目安として、gpt-oss-20b を読み込むと VRAM が約10.9GB 増え(10,949 MiB を1000で割った値。GiB では約10.7)、今回の画像生成モデルで約5.3GB(読み込み前との差)を使いました。両方を同時に載せられない GPU では、(b) か (d) のように「片方を外してからもう片方を使う」流れにしてください。もっと小さい LLM を選ぶのも有効です。

ComfyUI 側の VRAM 不足の対処法は、ComfyUI の VRAM 不足の記事にまとめています。

まだ試していないこと

ほかの LM Studio 連携ノードでの動作と、Ollama と ComfyUI の組み合わせは試していません。VRAM 8〜16GB の GPU での実際の動きも未確認です。

LM Studio の REST API(/api/v1/models/unload)から外す方法も、今回は使いませんでした。

よくある質問(FAQ)

Q. ComfyUI から LM Studio につながりません

LM Studio のローカルサーバーが起動しているか、ポート(標準は1234)が合っているかを確かめてください。EBU-LMStudio は lms コマンドも使うので、コマンドプロンプトで lms ls が動くことも必要です。

Q. TTL の初期値はどれくらいですか?

LM Studio の公式ドキュメントでは、他のアプリから呼ばれて自動で読み込まれたモデルは60分です。lms load で読み込んだモデルには TTL がなく、手で外すまで残ります。

Q. LLM が書いたプロンプトはそのまま使えますか?

今回の例では、指示どおりの絵が出ました。ただ、LLM はいつも同じ答えを返すとは限りません。気に入らないときは、指示文にタグの形式や長さを書き足すと調整しやすくなります。

検証メモ

  • 版:LM Studio は検証時点で 0.4.25 です。2026年10月30日に確認した最新は 0.4.27 で、最新版での動作は未確認です。
  • 測定の回数と開始時の状態:4条件を1回ずつ測りました。(a) は手で読み込んだ qwen3.5-9b(8.28GB)がある状態で始め、ComfyUI にモデルはありません。(b) は LLM も ComfyUI のモデルもない状態、(c) と (d) は Anima を読み込み済みの状態からです。計測中に GPU を使い続けるアプリはなく、開始時の VRAM は約3.2GB でした。
  • 測り直し:(a) の1回目は VRAM の記録ファイルが空になったので、もう一度実行して測っています。
  • LLM の条件:コンテキスト長 8192、max_tokens 1500、シードは固定です。プロンプトが4回とも同じになったのは、シードを固定したためです。

参考にした公式情報

関連記事

この記事の検証環境

Windows 11 / RTX 5090(32GB)/ ComfyUI v0.43.0 ポータブル版 / ComfyUI-EBU-LMStudio 1.0.10 / LM Studio 0.4.25(openai/gpt-oss-20b)/ anima_jp_extended / VRAM の取り合いを4条件で各1回測定 / 2026年10月29日。
これまでの検証の一覧はこちら

この記事を書いた人
こまたろ

画像生成 AI に興味を持ったのがきっかけで、3年ほど前から ComfyUI を触っています。始めたころは今ほど情報がそろっておらず、何時間もかけて整えた環境が翌日のアップデートで動かなくなったこともありました。

KOBO Lab は、自分の学び直しと、これから ComfyUI を始める人が同じところでつまずかないようにと思って始めたサイトです。初心者も中級者も、迷ったときに開くサイトを目指しています。

検証は、RTX 5090 を積んだ自作 PC 1台で、実際に動かして確かめています。作業を楽にするための自作ツールも作っています。

記事は、運営者自身の経験と検証をもとに、Claudeで下書きを作り、GrokボットとMuseでも添削や確認をして仕上げています。

KOBO Lab の新しい記事を受け取る
PC・GPU環境ローカルLLM
KOBO Lab の新しい記事を受け取る
タイトルとURLをコピーしました