ComfyUI custom nodes for 35mm film / Polaroid looks. 依存は torch のみ(ComfyUI本体に同梱)。追加インストール不要・GPU完結。
このフォルダごと ComfyUI/custom_nodes/ に配置してComfyUIを再起動します。
ComfyUI/custom_nodes/ComfyUI-FilmLook/
├── __init__.py
├── nodes.py
├── download_luts.py
├── README.md
└── luts/
LUTを使用する場合は、インストール後にカスタムノードのフォルダで次を実行してください。
cd ComfyUI/custom_nodes/ComfyUI-FilmLook
python download_luts.pyこのスクリプトは、必要な19個の第三者HaldCLUT PNGを配布元リポジトリから利用者の環境へ直接取得します。LUTは本リポジトリには同梱されていません。
取得元と利用条件の案内:
- Source repository: https://github.com/cedeber/hald-clut
- 詳細:
luts/ATTRIBUTION.md
手動で取得する場合も、download_luts.py内のFILESに記載された配布元パスと保存名に従い、luts/へ配置してください。
LUTがない状態でもノードは動作しますが、LUTを使用するプリセットの色変換は適用されず、パラメトリック処理のみになります。
プリセット選択とグループ別「倍率」で調整するノードです。
各スライダーは絶対値ではなく倍率です。
プリセットを変えてもスライダーが動かないのは正常です。
1.0: プリセットのテンプレート値0: その効果を無効化2.0: テンプレート値の2倍strength: 元画像との全体ミックス- 第2出力
resolved_params: 実効パラメータのJSON
主なプリセット:
portra_400 / kodak_gold_200 / ektar_100 / cinestill_800t /
ilford_hp5_400 / polaroid_sx70 / polaroid_600 /
instax_mini / utsurundesu_400
倍率グループ:
softness / diffusion / chromatic / color /
halation / grain / vignette
全パラメータを絶対値で指定する完全マニュアル版です。
先頭の preset を選ぶと、全ウィジェットにプリセット値が流し込まれます。テンプレート数値を確認してから個別に調整できます(JS拡張 web/presets.js)。
customを選んでいる間は値を変更せず、現在のウィジェット値をそのまま使用します。処理に使われるのは常に現在のウィジェット値で、preset自体は画像処理に直接影響しません。
像面湾曲風の効果です。中心はシャープなまま、周辺に向かうほど像を柔らかくします。
edge_softness: 周辺での最大ブレンド量edge_radius: 周辺ブラー半径edge_start: 柔らかくなり始める半径(0が中心)- Presetノードでは
softness倍率に連動
インスタント写真風フレームを合成します。
crop:square/instax_mini/none- instax mini実寸比の目安:
border_side=0.087,border_top=0.109,border_bottom=0.413 - 画面46×62mm、プリント54×86mmに基づく比率です。
- パラメータ:
{効果}_{属性} - 属性語彙:
strength/radius/threshold/color - トーン・色は一般的なグレーディング用語を使用
- プリセット/LUT ID:
{メーカー}_{銘柄}_{感度|変種} - 型番内のハイフンは省略(例:
px70,fp100c) - フィルム由来でないものは
creative_接頭辞 - クラスID:
FilmLook{機能} - 表示名: クラスIDをスペース区切りにした名称
一部のプリセットは、第三者のHaldCLUT PNGを使用して色変換します。LUTの取得元では、RawTherapee Film Simulation Collectionとして案内されています。
fuji_utsurundesu_400→ Fuji Superia 400fuji_instax_mini→ Fuji FP-100cpolaroid_sx70/polaroid_600→ Polaroid PX-70 / PX-680polaroid_time_zero→ Polaroid Time Zero (Expired)kodak_colorplus_200→ Kodak Elite Color 200fuji_velvia_100→ Fuji Velvia 100lomo_redscale_xr→ Lomography Redscale 100lomo_lady_grey_400→ Kodak T-Max 400amber_t800→ Fuji 800Zとパラメトリック調整- 寒色・クロスプロセス系:
fuji_provia_100f,fuji_superia_200_xpro,kodak_elite_100_xpro,instax_mini_cool,crisp_winter,polaroid_polachrome kodak_gold_200/cinestill_800tはパラメトリック処理のみ
ノード内のtemperatureなどの色パラメータは、LUT適用後のトリムにも使用されます。
- ComfyUI-FilmLook本体のコード: MIT License
- ダウンロードされるLUT: 第三者著作物であり、本体のMIT Licenseの対象外
- LUT本体は本リポジトリおよび配布パッケージに同梱しない
- LUTの利用、複製、改変、再配布を行う前に、原作者および配布元が示す最新のライセンス・利用条件を確認する
download_luts.pyは取得を補助するもので、LUTに関する権利の付与や再配布許諾を行うものではない
詳細は luts/ATTRIBUTION.md と DISCLAIMER.md を参照してください。
download_luts.pyは次の処理を行います。
- 19個の必要ファイルのみ取得
- 一時ファイルへ保存後、検証に成功した場合だけ正式ファイルへ置換
- PNGヘッダー、画像寸法、HaldCLUTレイアウトを検証
- 破損した既存ファイルは再取得
- 失敗時は最大3回再試行
- 成功数、既存数、失敗数を表示
- 1件でも失敗した場合はエラー終了
ピクセル単位のパラメータ(各種sigma、色収差、グレイン粒径)は、短辺1024pxを基準として自動的に解像度へ追従します。同じプリセットなら、1Kでも4Kでも効果量が近くなるよう調整されます。
解像度制限 → MTFロールオフ → 色収差 → ディフュージョン → カラーグレード → ハレーション → グレイン → ビネット
実世界の光路に近い順序で、先に像を柔らかくし、その後にグレインを加えます。