GenFill
Generative fill: replace the masked region from a text prompt.
| Node | GenFill |
|---|---|
| Menu | AI › GenFill |
| Names in each format | |
| .oink comp (JSON) | "type": "OC_N_genfill" |
| .nk script | none: written as an Oink node |
| Python | nuke.createNode("OC_N_genfill") |
| Assistant (MCP) | create_node(type="GenFill") |
| Tab search | genfill, or its initials gf |

Inputs and outputs
| Port | Name | Type |
|---|---|---|
| input 0 | Image | image |
| input 1 | Mask | image |
| input 2 | Reference | image |
| output 0 | Image | image |
Knobs
Panel tab Genfill, in panel order.
| Knob | Label | Type | Default | Range / values | .nk knob | Description |
|---|---|---|---|---|---|---|
prompt | prompt | text | ||||
negative | negative | text | ||||
seed | seed | float | 1 | 0 to 2147483647 (integer) | ||
strength | strength | float | 1 | 0 to 1 | 1 = ignore what is under the mask; lower keeps its layout | |
steps | steps (0 = default) | float | 0 | 0 to 100 (integer) | 0 = model default | |
guidance | guidance (0 = default) | float | 0 | 0 to 20 | 0 = model default | |
lightning | Qwen lightning (8 steps) | bool | true | Qwen-Image-Edit: 8-step Lightning LoRA (Apache-2.0) | ||
mask_channel | mask channel | menu | alpha | alpha, red, green, blue, luminance | ||
invert_mask | invert mask | bool | false | |||
grow | grow (px) | float | 8 | 0 to 256 | Dilate the mask (px) | |
feather | feather (px) | float | 6 | 0 to 256 | Soft blend edge outside the grown mask (px) | |
context | context | float | 0.75 | 0 to 4 | Context around the hole the model sees (fraction of its size) | |
megapixels | model megapixels | float | 1 | 0.25 to 2.5 | ||
reference_follows | reference per frame | bool | true | Use the Reference input at the same frame (off: a fixed frame) | ||
reference_frame | reference frame | float | 1001 | -100000 to 100000 (integer) | ||
gamut | working space | menu | rec709 | rec709 (linear Rec.709), acescg (ACEScg) | ||
shaper | encoding | menu | reinhard | reinhard, log, srgb | ||
exposure | exposure | float | 0 | -6 to 6 | Stops before encoding (fixed per shot), removed after | |
peak | peak | float | 16 | 1 to 1000 | Top of the encoded range: generated pixels can reach it | |
regrain | regrain (match plate grain) | bool | true | Add the plate's measured grain to the filled pixels (match shot grain) | ||
keep_loaded | keep model loaded | bool | true | Keep the model on the GPU after a run so the next one starts warm; the AI worker still unloads it after 5 idle minutes or when another GPU job needs the card |
Other knobs (Python, .nk and the assistant; not on the panel)
| Knob | Label | Type | Default | Range / values | .nk knob | Description |
|---|---|---|---|---|---|---|
gl_color | Viewer Controls Color | float ×3 | 0, 0, 0 | 0 to 1 | ||
postage_stamp_frame | Static Frame | int | 1 | -2147483648 to 2147483647 | ||
lifetimeStart | Lifetime Start | int | 0 | -2147483648 to 2147483647 | ||
lifetimeEnd | Lifetime End | int | 100 | -2147483648 to 2147483647 | ||
useLifetime | Use Lifetime | boolean | false | |||
cached | Cached | boolean | false | |||
bookmark | Bookmark | boolean | false | |||
dope_sheet | Dope Sheet | boolean | false | |||
clone_group | Clone Group | string | ||||
link_source | Link Source | string | ||||
link_overrides | Link Overrides | string | ||||
split_views | Split Views | string | ||||
model | Model | string | auto | Model id (picked in the panel; licence tier shown there); auto = the fast model that fits the free GPU memory | ||
results_data | Results | string | {} | |||
last_data | Last Run | string | {} |