ComfyUIのノードは赤くないのに値がずれる|名前で復元する設定を検証

値がずれたノードを背景にしたアイキャッチ ComfyUI

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

結論:カスタムノードの入力の順番が変わると、保存した値が別の欄に入ります。保存し直す前に、設定「ウィジェット値を名前で復元」をオンにして開き直してください。

できること

  • 値がずれているかを見分ける
  • 新しめの JSON の値を、名前で戻す
  • 戻せない JSON に対処する

難易度:やさしい。所要時間:約5分。

ノードが赤くならないので気づきにくいトラブルです。ノードが赤くなるトラブルとは別の話です。

何が起きるのか

ワークフローの JSON には、ノードの値が widgets_values として順番に保存されています。読み込むときは、既定では 1番目の値を1番目の欄へ と順番に戻す作りです。

カスタムノードの更新で入力の順番が変わったり、途中に入力が増えたりすると、値が隣の欄へずれます。

再現用のノードで、保存したあとに steps と seed の順番を入れ替えました。

同じ JSON を開いた比較。設定オフでは steps が 12345、seed が NaN。設定オンでは steps が 30、seed が 12345
同じ JSON を開いた比較。設定オフでは steps が 12345、seed が NaN。設定オンでは steps が 30、seed が 12345
欄保存した値設定オフ設定オン
steps301234530
seed12345randomize(画面は NaN)12345
生成後の制御randomize30randomize
cfg5.55.55.5
sampler_nameuni_pcuni_pcuni_pc

どちらもノードは赤くなりません。オフのまま実行すると、この例では seed が数字でないのでエラーで止まりました。

設定が効く条件

順番の変え方を2種類、JSON を2種類、設定のオンとオフで、各3回読み込みました。結果は毎回同じでした。

JSON設定オフ設定オン
widgets_values_named あり(新しめの保存)ずれる直る
widgets_values_named なし(古い保存)ずれるずれる

widgets_values_named は、値を名前つきで残す欄です。公式のコードでは 2026年7月末に追加されました。これがない JSON は、設定をオンにしても戻せません。 公式の設定の説明どおり、名前で読み込む設定ですが、今回の古い JSON には読む名前がありませんでした。

メモ帳で JSON を開いて widgets_values_named を検索すると、どちらか分かります。

設定の場所

設定画面で「ウィジェット値を名前で復元」(英語は Restore widget values by name)を探して、オンにします。ID は Comfy.Workflow.NamedValuesRestore です。

既定はオフで、今回の版では実験的な設定です。公式のドキュメントには、将来は既定になる予定の移行期の設定と書かれています。

注意:保存し直すと戻せない

一番の落とし穴です。ずれたまま保存すると、名前つきの欄にも、ずれた値が書き込まれました。

JSON設定オンで開いた結果
元の JSON直る(steps 30)
設定オフで開いて保存し直した JSONずれたまま(steps 12345)

ノードを更新する前に、JSON のコピーを取っておくと安全です。

エラーにならないずれ

もっと怖いのは、型が同じ入力どうしが入れ替わる場合です。width と height の順番を入れ替えて試しました。

設定開いた値実行
オフheight 832、width 1216エラーなしで通る
オンheight 1216、width 832通る

保存した値は width 832、height 1216 でした。オフでは、縦横が入れ替わったまま実行できます。 更新のあとは、数字を一度目で確かめてください。

戻せないときの対処

  1. 更新前の JSON があれば、設定をオンにしてそれを開く
  2. 値を見比べて、手で入れ直す
  3. ノードの作者の変更履歴(CHANGELOG)で、入力の変更を確かめる
  4. 必要なら、そのパックを前の版に戻す。やり方はカスタムノードの入れ方を見てください

実在のパックの例

実例として、ComfyUI-AusBoss の プルリクエスト #95 があります。作者の説明では、Crop For Inpaint に keep_inside が増えたとき、古いワークフローの空の値がこの欄に入り、スイッチがオフで開きました。API の実行では既定のオンになり、同じワークフローで結果が2通りになったそうです。作者は読み込み時に値を直す処理を入れて解決しています。

この例は説明とコードを読んだだけで、実行していません。 今回の私の環境の安全チェックが、このパックの実行を止めたためです。この記事の数値は、すべて自作の再現用ノードのものです。

つまずいた点

最初は「設定をオンにすれば全部直る」と思っていました。古い形の JSON を試すと、まったく同じようにずれました。

保存し直しの実験も、やる前の予想は別の結果でした。名前つきの欄は安全だと思っていましたが、保存のたびに今の画面の値で上書きされます。

よくある質問(FAQ)

Q. 赤いノードとの違いは?

今回はノードがそのまま読み込まれ、値だけがずれました。ノードがないわけではありません。

Q. 設定はオンのままでいいですか?

今回の範囲では問題は出ていません。ただし実験的な設定で、多くのノードで試したわけではありません。

Q. 標準のノードでも起きますか?

今回は自作のノードで起こしました。標準のノードでは試していません。

Q. ワークフローの画像(PNG)でも同じですか?

試していません。読み込みの違いはPNGでローダーが変わる原因に書きました。

まとめ

  • 値は既定では順番で戻るので、入力が変わるとずれます。
  • 設定は widgets_values_named がある JSON にだけ効きました。
  • ずれたまま保存すると、戻せなくなります。

この記事の検証環境

Windows 11 / ComfyUI v0.44.0(frontend 1.57.6)/ 再現用の自作ノード / GPU 不要の確認 / 2026年11月4日
これまでの検証の一覧はこちら

検証メモ

  • 再現用のノード:順番だけが違う3種類と、幅と高さを入れ替える2種類を自作しました。実在のパックの更新を再現したものではありません。
  • 古い JSON:新しい形の JSON から widgets_values_named を消して作りました。本当に古い版で保存したファイルではありません。
  • 設定の切り替え:画面のマウス操作ではなく、設定の API から切り替えました。
  • 読み込み:画面の処理(app.loadGraphData)を使い、値は画面のウィジェットから読みました。各条件3回です。
  • 実行の結果:生成はせず、/prompt への送信の検証結果を見ました。
  • 公式の情報:フロントエンドの LGraphNode.ts と coreSettings.ts(v1.57.6)、設定のドキュメントを読みました。
  • 未確認のこと:実在のパック、V3 API のノードの Issue #21108 の症状、サブグラフ、Comfy Desktop 版、新しい frontend。

参考リンク

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

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

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

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

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

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