AIKeyer
AIKeyer: green/blue screen colour-difference keyer (screen colour auto or picked, balance, clip black/white) with float-correct despill (none, limit, or IBK-style subtract).
AIKeyer: green/blue screen colour-difference keyer (screen colour auto or picked, balance, clip black/white) with float-correct despill (none, limit, or IBK-style subtract). AI edge refine sends the core matte and screen difference to ViTMatte or BiRefNet for hair-level edges; Edge Width is the band around the core edge the AI may change, Strength mixes its result in, and AI Model Auto picks the best ViTMatte that fits the free GPU memory. Output: final (despilled colour plus alpha) or matte. Clip, despill and output changes reuse the AI result: the model does not run again.
| Node | AIKeyer |
|---|---|
| Type id | OC_N_aikeyer |
| Menu | AI › AIKeyer |
| Nuke class | none: saved in .nk files as an Oink node |
| Code | opencomp_core/nodes/ai/aikeyer.py |

Inputs and outputs
| Port | Name | Type |
|---|---|---|
| input 0 | Image | image |
| output 0 | Image | image |
Knobs
Panel tab Aikeyer, in panel order.
| Knob | Label | Type | Default | Range / values | Nuke knob | Description |
|---|---|---|---|---|---|---|
screen_type | screen | menu | GREEN | GREEN (green), BLUE (blue) | ||
auto_screen | auto screen colour | bool | true | Estimate the screen colour from the frame (off = use Screen Colour) | ||
screen_color | screen colour | colour ×3 | 0.1, 0.5, 0.1 | 0 to 1 | ||
balance | screen balance | float | 0.5 | 0 to 1 | Weight of red vs the other non-screen channel | |
clip_black | clip black | float | 0 | -0.5 to 1 | ||
clip_white | clip white | float | 1 | 0 to 1.5 | ||
despill | despill | menu | LIMIT | NONE (none), LIMIT (limit), SUBTRACT (subtract (IBK)) | ||
despill_amount | despill amount | float | 1 | 0 to 1 | ||
premultiply | premultiply | bool | true | |||
ai_refine | AI edge refine | bool | true | Refine the core matte's edges with ViTMatte / BiRefNet (AI worker) | ||
ai_model | AI model | menu | AUTO | AUTO (Auto (by free GPU memory)), VITMATTE_BASE (ViTMatte base), VITMATTE_SMALL (ViTMatte small), BIREFNET (BiRefNet HR) | ||
edge_width | edge width | float | 20 | 1 to 200 | Band around the core matte edge the AI may change (px) | |
strength | strength | float | 1 | 0 to 1 | ||
tile_size | tile size | float | 1024 | 0 to 4096 (integer) | ||
output | output | menu | final | final, matte |
Other knobs (Python, .nk and the assistant; not on the panel)
| Knob | Label | Type | Default | Range / values | Nuke 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 |
Nuke equivalent
No Nuke class. In a .nk file this node is written as an Oink node that Nuke will not recognise.