🦊画像のリサイズ
単に画像のサイズを大きくしたり小さくしたりするタスクですが、画像生成AIにおいては少し重要な操作です
🟩指定した解像度にします
元の画像とアスペクト比が異なった場合、画像が歪んでしまいます
🟪 crop
を center
にすると、画像が歪まないようにはみ出た部分をクロップします
倍率でどれだけ拡大(縮小)するかを指定します
Hires.fixでよく使う
画像の一部分を矩形で切り抜きます
カスタムノードを使う
基本的には上記のノードのみで事足りますが、アスペクト比を保ったまま長辺を1024pxにする… のようなことをしようとすると、計算をしなければならなかったりして少々面倒です
それらの計算を内部で済ましてくれる便利なノードがあるので活用しましょう
🚨これ系の基本的な処理をするカスタムノードは無限に存在し、みんな好きなものを使っているため、人のworkflowを読み込むと大抵赤くなります
諦めましょう
このノードの特徴としてwidth / heightという概念がなく、代わりにsmaller_side(短辺) / larger_side(長辺)でサイズを指定します
縦長/横長の画像関係ないのでとても気に入っている

基本smallerかlargerのどちらかにしか数値を入力しない
🚨注意点として、8の倍数でしか入力を受け付けません
action
- resize only
アスペクト比を維持しながら画像をリサイズしたりしなかったりします
resize_mode
reduce size only
larger_sideの値が、画像の長辺がより大きい場合、画像を縮小します
increase size only
smaller_sideの値が、画像の短辺より小さい場合、画像を拡大します
any
関係なくリサイズします
action
- crop to ratio
/ pad to ratio
side_ration
に指定したアスペクト比になるようにクロップ、もしくはパディングします
🟨 pad to radio
にした場合、paddingの部分をマスクとして出力できます
アスペクト比を固定したoutpaintingで便利
crop_pad_position
method
🟩 stretch
🟪 keep proportion
アスペクト比を保ったままリサイズします
辺が何pxになるかは次の condition
によります
🟨 fill / crop
🟦 pad
クロップとは逆に、できた隙間を黒で埋めます
condition
downscale if bigger
画像が指定されたサイズより"大きい"場合に、画像を縮小します
downscale if bigger
画像のどちらかの辺が指定されたサイズより"小さい"場合に、画像を拡大します
if bigger area
画像の面積が指定されたサイズより"大きい"場合に、画像を縮小します
if smaller area
画像の面積が指定されたサイズより"小さい"場合に、画像を拡大します
multiple_of
画像の各辺を設定された数で割り切れる値に自動で変更します
e.g. width : 1000, multiple_of : 16 だった場合、出力される画像のwidthは 992 (16 * 62)になります
これにより余ってしまった部分はクロップされます
8や16の倍数でしか入力を受け付けないノードがいくつかあるので使用頻度は高いです
widthとheightを0にしておけば、この機能だけを使うこともできる