ComfyUIで指定と違う画像が使われる原因|inputの同名ファイル上書きを再現

ComfyUI の input の同名ファイル上書きで、1本目の出力が上書き後の画像になった比較 ComfyUI

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

使ったソフトは無料の ComfyUI だけです。試した環境の一覧は検証の記録にあります。

ComfyUI のキューは、画像そのものではなくファイル名だけを覚えていて、実行する時点で input フォルダから読みます。 待っている間に同じ名前のファイルを置き換えると、先に入れたジョブも置き換え後の画像で作られます。v0.43.0 で再現しました。

スクリプトや API で何本も続けて投入する人が、いちばん当たりやすい落とし穴です。

先に結論(今回のテスト条件で)

やり方1本目に使われた画像
同じ名前 art.png を上書きして2本投入上書き後の画像(指定と違う)
ep01_art.png と ep02_art.png に分けて投入投入したときの画像(指定どおり)
画面と同じアップロード(/upload/image)で同名を送る自動で upload_test (1).png に名前が変わり、上書きされない

迷ったら

続けて投入するときは、ジョブごとにファイル名を変えます(例:ep01_art.png、ep02_art.png)。今回の検証では、これだけで指定どおりの画像になりました。

同じ名前で上書きするとどうなる?

赤い「A」の画像を art.png として input に置き、1本目を投入しました。1本目が動き出す前に、青い「B」の画像で art.png を上書きし、2本目を投入しています。

1本目の前には時間のかかる画像生成を1本入れて、キューで待たせました。

左が投入したときの art.png(赤い A)、中央が上書き後の art.png(青い B)、右が1本目の出力(青い B)
左が投入したときの art.png(赤い A)、中央が上書き後の art.png(青い B)、右が1本目の出力(青い B)

1本目は赤い A で投入したのに、出てきたのは青い B でした。エラーは何も出ません。 生成は成功扱いになるので、結果を見るまで気づけません。

動画と音声の読み込みでは試していません(未確認)。同じ仕組みなら、動画では1コマ目の参考画像や、話す音声が別のものに入れ替わる形で表に出ると考えられます。

なぜ実行するときの画像が使われる?

ComfyUI の Load Image(画像を読み込む)ノードは、キューに入れたときにはファイル名だけを受け取ります。ファイルを開くのは、そのノードを実行するときです。ComfyUI 本体のソースコード(nodes.py の LoadImage)でも、実行のときにパスを開いて読み込んでいました。

そのため、キューで待っている間に中身が変わると、変わったあとの中身が使われます。

どうすれば防げる?

ジョブごとにファイル名を分ける

同じ手順で、1本目を ep01_art.png、2本目を ep02_art.png に分けて投入しました。今度は1本目が赤い A、2本目が青い B で、指定どおりです。

1本目に ep01_art.png(赤い A)、2本目に ep02_art.png(青い B)を使った結果。1本目の出力は赤い A
1本目に ep01_art.png(赤い A)、2本目に ep02_art.png(青い B)を使った結果。1本目の出力は赤い A

話数やクリップ名、日時を名前に入れておくと、あとで出力と見比べるときにも役立ちます。

アップロードの仕組みを使う

画面で画像を選ぶときと同じ「/upload/image」に、同じ名前で2回送ってみました。2回目は upload_test (1).png という名前で保存され、1回目の画像は残りました。

スクリプトからは、この仕組みでアップロードして、返ってきた名前をワークフローに入れる方法があります。ただし「overwrite」を true にして送ると、上書きされる作りです(ソースコードで確認)。

画面で1枚ずつ作る人も気をつけることは?

画面の Load Image から画像を選んでアップロードしている限り、同じ名前は自動で付け替えられます。今回の確認では、上書きは起きませんでした。

気をつけたいのは、エクスプローラーで input フォルダに直接ファイルをコピーする使い方です。キューに何本も積んだまま同じ名前のファイルを差し替えると、画面から使っていても同じことが起きます。

RTX 5090 以外の人へ

この現象は、ファイルを読み込むタイミングの問題で、GPU や VRAM の量とは関係しません。生成が遅い環境ほどキューで待つ時間が長くなるので、差し替えに当たる機会は増えます。

よくある質問(FAQ)

Q. ComfyUI で指定した画像と違う画像で生成されるのはなぜ?

キューで待っている間に、input フォルダの同じ名前のファイルが置き換わった可能性があります。ComfyUI は実行する時点でファイルを読むので、置き換え後の画像が使われます。

Q. ComfyUI のキューは投入したときの画像を覚えている?

覚えていません。キューが持っているのはファイル名だけで、画像の中身は実行のときに input フォルダから読みます。

Q. 同じ名前の画像を input に置くとどうなる?

画面からアップロードした場合は、upload_test (1).png のように自動で名前が変わります。エクスプローラーでのコピーや、overwrite を指定したアップロードでは上書きされます。

Q. 連続で投入するときの対策は?

ジョブごとにファイル名を変えるのが確実です。今回の検証では、ep01_art.png と ep02_art.png に分けるだけで、指定どおりの画像になりました。

まとめ

ComfyUI に投入したジョブは、画像の名前だけを持って順番を待ちます。だから、待っている間に中身が変わると、何のエラーもなく別の画像で作られます。

続けて投入するなら、ファイル名をジョブごとに分ける。 これだけで防げました。

この記事の検証環境

RTX 5090(32GB)/ Ryzen 9 9950X3D / 128GB / Windows 11 / ComfyUI 0.43.0(カスタムノードなし)/ API から投入 / 2026年11月6日
これまでの検証の一覧はこちら

検証メモ

  • 方法:ComfyUI の API(/prompt)で、Load Image → Save Image だけのワークフローを投入しました。待たせるために、前に Z-Image Turbo の 25 ステップの生成を1本入れています。input と output は検証用の別フォルダです。
  • 判定:出力画像の左上の色で、赤(200, 30, 30)か青(30, 60, 200)かを見ました。
  • 回数:同じ名前、名前を分けた場合、アップロードの確認を各1回です。
  • 未確認のこと:動画(Load Video)と音声(Load Audio)での再現、書き込み途中のファイルを読んだときのエラー、v0.44.0 以降、Desktop 版。

参考リンク

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

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

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

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

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

KOBO Lab の新しい記事を受け取る
ComfyUI
KOBO Lab の新しい記事を受け取る
タイトルとURLをコピーしました