この記事について(広告・アフィリエイトリンクはありません)
使ったソフトは無料の ComfyUI だけです。試した環境の一覧は検証の記録にあります。
ComfyUI のキューは、画像そのものではなくファイル名だけを覚えていて、実行する時点で input フォルダから読みます。 待っている間に同じ名前のファイルを置き換えると、先に入れたジョブも置き換え後の画像で作られます。v0.43.0 で再現しました。
スクリプトや API で何本も続けて投入する人が、いちばん当たりやすい落とし穴です。
先に結論(今回のテスト条件で)
| やり方 | 1本目に使われた画像 |
|---|---|
| 同じ名前 art.png を上書きして2本投入 | 上書き後の画像(指定と違う) |
| ep01_art.png と ep02_art.png に分けて投入 | 投入したときの画像(指定どおり) |
| 画面と同じアップロード(/upload/image)で同名を送る | 自動で upload_test (1).png に名前が変わり、上書きされない |
同じ名前で上書きするとどうなる?
赤い「A」の画像を art.png として input に置き、1本目を投入しました。1本目が動き出す前に、青い「B」の画像で art.png を上書きし、2本目を投入しています。
1本目の前には時間のかかる画像生成を1本入れて、キューで待たせました。

1本目は赤い A で投入したのに、出てきたのは青い B でした。エラーは何も出ません。 生成は成功扱いになるので、結果を見るまで気づけません。
動画と音声の読み込みでは試していません(未確認)。同じ仕組みなら、動画では1コマ目の参考画像や、話す音声が別のものに入れ替わる形で表に出ると考えられます。
なぜ実行するときの画像が使われる?
ComfyUI の Load Image(画像を読み込む)ノードは、キューに入れたときにはファイル名だけを受け取ります。ファイルを開くのは、そのノードを実行するときです。ComfyUI 本体のソースコード(nodes.py の LoadImage)でも、実行のときにパスを開いて読み込んでいました。
そのため、キューで待っている間に中身が変わると、変わったあとの中身が使われます。
どうすれば防げる?
ジョブごとにファイル名を分ける
同じ手順で、1本目を ep01_art.png、2本目を ep02_art.png に分けて投入しました。今度は1本目が赤い A、2本目が青い B で、指定どおりです。

話数やクリップ名、日時を名前に入れておくと、あとで出力と見比べるときにも役立ちます。
- 名前を分けた読み込みのワークフロー(JSON)Load Image と Save Image だけの最小の例です。カスタムノードは不要です
アップロードの仕組みを使う
画面で画像を選ぶときと同じ「/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 に投入したジョブは、画像の名前だけを持って順番を待ちます。だから、待っている間に中身が変わると、何のエラーもなく別の画像で作られます。
続けて投入するなら、ファイル名をジョブごとに分ける。 これだけで防げました。
検証メモ
- 方法: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 版。

