# Retime

> Maps the input range onto an output range at a speed (both output ends locked: the speed that fits), with reverse, before / after (continue, loop, bounce, hold, black), a box filter whose width is spe

Maps the input range onto an output range at a speed (both output ends locked: the speed that fits), with reverse, before / after (continue, loop, bounce, hold, black), a box filter whose width is speed x shutter, and a warp curve on the TimeWarp tab. For motion-vector retiming use Kronos. Before and after start on hold.

| Node | Retime |
|---|---|
| Menu | Time › Retime |
| **Names in each format** | |
| .oink comp (JSON) | `"type": "OC_N_nkretime"` |
| .nk script | `Retime` ([how .nk import works](/docs/nuke-users/nk-import)) |
| Python | `nuke.createNode("Retime")` |
| Assistant (MCP) | `create_node(type="Retime")` |
| Tab search | `retime` |

![Retime properties](/shots/nodes/nkretime@2x.webp)

## Inputs and outputs

| Port | Name | Type |
|---|---|---|
| input 0 | Image | image |
| output 0 | Image | image |

## Knobs

Panel tab **Retime**, in panel order.

| Knob | Label | Type | Default | Range / values | .nk knob | Description |
|---|---|---|---|---|---|---|
| `input_first` | input range | float | `1` | -100000 to 100000 | `input.first` |  |
| `input_first_lock` |  | bool | `false` |  | `input.first_lock` | Off: the input clip's first frame |
| `input_last` | to | float | `100` | -100000 to 100000 | `input.last` |  |
| `input_last_lock` |  | bool | `false` |  | `input.last_lock` | Off: the input clip's last frame |
| `reverse` | reverse | bool | `false` |  | `reverse` |  |
| `output_first` | output range | float | `1` | -100000 to 100000 | `output.first` |  |
| `output_first_lock` |  | bool | `false` |  | `output.first_lock` |  |
| `output_last` | to | float | `100` | -100000 to 100000 | `output.last` |  |
| `output_last_lock` |  | bool | `false` |  | `output.last_lock` |  |
| `speed` | speed | float | `1` | 0 to 4 | `speed` |  |
| `before` | before | menu | `hold` | continue, loop, bounce, hold, black | `before` |  |
| `after` | after | menu | `hold` | continue, loop, bounce, hold, black | `after` |  |
| `filter` | filter | menu | `box` | none, nearest, box | `filter` |  |
| `shutter` | shutter | float | `1` | 0 to 2 | `shutter` |  |
| `warp` | warp | curves | `{warp {curve 0 1}}` |  | `warp` | TimeWarp tab curve: output position (0-1) -> input position (0-1) |

### 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 |  |  |  |  |
| `time` | time | string |  |  | `time` | Nuke's hidden time knob (kept for .nk) |

## Knob names in .nk scripts

| .nk knob | Knob here |
|---|---|
| `input.first` | `input_first` |
| `input.first_lock` | `input_first_lock` |
| `input.last` | `input_last` |
| `input.last_lock` | `input_last_lock` |
| `output.first` | `output_first` |
| `output.first_lock` | `output_first_lock` |
| `output.last` | `output_last` |
| `output.last_lock` | `output_last_lock` |

Other .nk knobs use the same name here. See [.nk import](/docs/nuke-users/nk-import).


---
Sources: opencomp_core/nodes/utility/time_nodes.py, opencomp_electron/src/components/properties/knobSchema.ts, opencomp_core/nodes/help/nkretime.md, opencomp_core/nk/mapping.py
