# 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` |

![GenFill properties](/shots/nodes/genfill@2x.webp)

## 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 | `{}` |  |  |  |


---
Sources: opencomp_core/nodes/ai/genfill.py, opencomp_electron/src/components/properties/knobSchema.ts
