見出し画像

ComfyUI Spectrum SDXL Nodeが超進化!

2026/5/14更新:ComfyUI Spectrum SDXLの2026/5/3コミットにおいてCalibrated SpectrumがLegacy / Non-Faithful Node(レガシー/非準拠ノード)になったことを追記
2026/4/4更新:sd-webui-forge-spectrumについて追記


先日のSpectrumに関する記事では、ComfyUIのカスタムノードのうちComfyUI Spectrum SDXL Nodeは、他のComfyUI-Anima-EnhancerComfyUI Spectrum SDXL Properに比べると速度以外に良い部分が無いように思ったかもしれません。

しかし記事を書いた後のアップデートで大きな改善があったようなので確認してみました。


2026/4/4追記:
当記事で紹介しているComfyUI Spectrum SDXL NodeのCalibrated Spectrumを、Forge系の拡張機能として動作するよう移植しました。
Forge, reForge, Forge Neo上でSDXLを利用した画像生成で動作することを確認していますので使ってみてください(A1111は不可)。


ComfyUI Spectrum SDXL Nodeの更新内容

大きなアップデートとして、Calibrated Spectrum Adaptive Forecaster (SDXL) というノードが追加され、Calibrationという機能が使えるようになりました。

ComfyUI Spectrum SDXL Nodeで利用できる二つのノード(右がCalibration機能あり)

既存のSpectrum Adaptive Forecaster (SDXL) も使えますが、完全に包含しているので基本的にはCalibrated Spectrum Adaptive Forecaster (SDXL) だけを使えばよいです。

またSpectrumの処理自体についても、以前には無かった「元となった論文とは異なる方式を採用している」という説明書き(Disclaimer)が追加されており処理が変更されたようです。
ソースコードのステップ数もSpectrum自体の変更で+約40%、Calibrationの追加でさらに+約30%増えています(超概算)。

https://github.com/ruwwww/comfyui-spectrum-sdxl より

免責事項:この実装では、原論文で説明されている内部特徴量ではなく、外部特徴量をキャッシュする方式を採用しています。
新機能:キャリブレーション済みスペクトルモードでは、実際のフォワード処理のたびに残差補正を適用し、それを予測画像にブレンドすることで、色あせたディテールを復元します。

https://github.com/ruwwww/comfyui-spectrum-sdxl より抜粋して機械翻訳

公式のサンプル画像を見るとCalibrated (strength 0.8) はSpectrumを使っていないNormalよりもくっきり鮮やかに見えます(やり過ぎ?)。しかも処理時間はSpectrumと同一だとか!
再び実際の画像生成で検証してみました。

https://github.com/ruwwww/comfyui-spectrum-sdxl より

2026/5/14追記:
ComfyUI Spectrum SDXL Node2026/5/3コミットにおいて、本記事で紹介しているCalibrated Spectrum (SpectrumSDXLCalibrated) がLegacy / Non-Faithful Node(レガシー/非準拠ノード)に変更され、実質的に非推奨扱いになりました。

レガシー/非準拠ノード:SpectrumSDXLCalibratedノードは、現在レガシーと見なされています。

リピーターの方への説明: このノードの以前のバージョンは、当初公式のforecaster実装を見つけることができなかったため、実質的にゼロから「バイブコーディング」されたものでした。その結果、「キャリブレーション」のような、興味深いものの論文に忠実ではない、いくらか原則に反する追加が行われてしまいました。この問題は、公式のforecasterコードをSpectrumSDXLノードに移植することで解決されました。より安定的で原則に基づいた結果を得るため、この正確な実装へ移行してください。

https://github.com/ruwwww/ComfyUI-Spectrum-sdxl より抜粋して翻訳

SpectrumSDXLCalibratedノードは引き続き利用できますが、生成画像の品質が低い場合はSpectrumSDXLノードを使用してください。

追加されたパラメータの解説

アップデートで追加されたパラメータを含む、各カスタムノード、拡張機能の設定パラメータの一覧です。
ComfyUI Spectrum SDXL Properにもアップデートがありパラメータが追加されています。
黄色の網掛けが追加された部分です。

Spectrum機能のパラメータの一覧

ComfyUI Spectrum SDXL Nodeに追加されたパラメータ

  • steps
    KSamplerのステップ数をそのまま入力します。
    ノードに実装するのが難しいための回避策のようです。この値とKSamplerのステップ数に同じ値を入力するワークフローを自分で組むのがよいでしょう。

  • enable_calibration
    Calibrationの有効/無効を切り替えます。
    基本的にはtrueでよいと思います。

  • calibration_strength
    Calibrationの強さです。
    強弱による違いの説明がないのですが、生成される画像を見比べると、強めると色が濃くなりますが輪郭線も太くなってしまうことがあるようです。公式のサンプルで使われている0.5~0.8の間で調整するのがよさそうです。

ComfyUI Spectrum SDXL Properに追加されたパラメータ

  • min_fit_points
    予測精度の許容値です。
    予測精度がmax(3, degree + 1, min_fit_points) 以下の場合はそのステップでは予測を使わないよう実装されているため、この値を増やすと低速・高精度、減らすと高速・低精度になるはずです。

SDXL生成画像での検証

ComfyUI Spectrum SDXL NodeとComfyUI Spectrum SDXL Properを利用してSDXLの画像を生成して比較します。
ComfyUI-Anima-Enhancerが前回検証時から更新されていないため、Animaでの比較はしません。

使用するパラメータ値

検証に使用したパラメータは以下のとおりです。
前回検証時はProperで隠しパラメータ(-1=80%固定)となっていたtail_actual_stepsが設定可能になっていますが、前回と同等になるよう調整しています(全体ステップ数28、24ステップまで予測利用、最後の4ステップはフルモデル利用)。

SDXL作例のSpectrumパラメータ

使用する作例

今回も、いつも使っているちもろぐさんの「832×1216:神里綾華ベンチマーク」による作例です。

作例(ComfyUI, Normal)
作例(ComfyUI Spectrum SDXL Node, Spectrum)
作例(ComfyUI Spectrum SDXL Node, Calibrated strength 0.5)
作例(ComfyUI Spectrum SDXL Node, Calibrated strength 0.8)
作例(ComfyUI Spectrum SDXL Proper)
SDXL作例のGIFアニメによる比較(256色)

GIFアニメは、
Normal → Spectrum → Normal → Calibrated strength 0.5 → Normal → Calibrated strength 0.8 → Normal → Proper
という順番で、間にNormal(Spectrum無効)を挟みながら切り替えています。

前回はComfyUI Spectrum SDXL NodeのSpectrumは色褪せを少し感じました、最新版ではほんの僅かになっています。Calibrated strength 0.5、Calibrated strength 0.8、Properについては色褪せを感じません。

しかし色褪せとは逆で、肌はNormalが少し色白であるのに対して、僅かですがいずれも普通の肌色に近い色に変わってしまいました。

肌の色の比較(左目周辺を切り取りx4リサイズ)

髪の色はいずれも同等に感じます。Calibrated 0.8はほんの僅かに輪郭線が太くなってるでしょうか?

髪の色の比較(前髪周辺を切り取りx4リサイズ)

総評

ComfyUI Spectrum SDXL NodeでCalibrationを使わない場合にほんの少し色褪せを感じましたが、Calibrationを使うと感じなくなりました。ComfyUI Spectrum SDXL Properも前回と同様に色褪せは感じません。

僅かな発色の違いや書き込み量・書き込み方の違いはありますが、このレベルであればPyTorchのバージョン、Sageattention等の最適化有無、ツールの違いによっても起こるレベルのものだと思います。

生成する画像によっては問題が起きる場合もあるかもしれませんが、通常は問題に感じることは少ないと思います。

生成時間の検証

それぞれ5回生成し、生成時間がもっとも短い時間を記録しました。PCスペックはNvidia Geforce RTX 5090等いつもどおりです。
ComfyUI v0.18.2、PyTorch 2.11.0+cu130、最適化はsageattentionのみ有効にしました。

生成時間の一覧
※参考:前回検証での生成時間の一覧

ComfyUI Spectrum SDXL Nodeは、公式のサンプルと同様にCalibrationの有効/無効や強度で生成時間は変わりませんでした。生成時間は公式のサンプルでは40%以上削減されていましたが、当検証では約25%の削減でした。

ただ、ComfyUI Spectrum SDXL NodeとComfyUI Spectrum SDXL Properのいずれも、前回検証時より7%ほど時間削減率が減っています。
Normalの生成時間はほぼ変わっていないため、Spectrumノードは画質の改善処理を追加したことで少し速度が低下しているのかもしれません。

なお、生成時間について前回記事で少し触れましたが、過去記事の性能検証結果よりも生成時間が増えています。

検証後に気が付いたのですが、これはDynamic Vramが有効になっているためで、起動オプションに "--disable-dynamic-vram" を付けて生成したところ、過去記事と同程度の時間(Spectrumなしで3.3~3.4秒)になりました(時間ができたら追加で計測して追記します)。
Dynamic Vramは動画生成やFLUX.2、Qwen-Imageなどサイズが大きく処理時間が長いモデルに対する効率化技術であるため、SDXLのようなサイズが小さく処理時間が短いモデルでは付加処理のオーバーヘッドにより逆に遅くなってしまうのだと思われます。ご注意ください。

まとめ

前回Spectrumについて検証した後、ComfyUI Spectrum SDXL Nodeに大きな改善があったようなので再び検証してみました。
今回の検証ではCalibrationを使うことでComfyUI Spectrum SDXL Properと同等の画質になると感じ、生成時間もComfyUI Spectrum SDXL Properより僅かに速いことが確認できました。

前回の記事を読んでComfyUI Spectrum SDXL Properを使うことにした人も、ComfyUI Spectrum SDXL Nodeを試してみてはいかがでしょうか。

このような感じで、あまり体系的に整理や理解されていない技術的な内容を分かりやすく無料で解説しています。「スキ」「フォロー」「チップ」で応援よろしくお願いします。

いいなと思ったら応援しよう!