# TimeWarp

> Shows input frame `input frame` (usually an animated curve) at the current frame.

Shows input frame `input frame` (usually an animated curve) at the current frame. A new node starts with the current frame. Filter (box by default): none / nearest = the nearest frame, box = the frames under input frame +- input length / 2 averaged. Set to df/dt makes the input length follow the curve's slope.

| Node | TimeWarp |
|---|---|
| Menu | Time › TimeWarp |
| **Names in each format** | |
| .oink comp (JSON) | `"type": "OC_N_timewarp"` |
| .nk script | `TimeWarp` ([how .nk import works](/docs/nuke-users/nk-import)) |
| Python | `nuke.createNode("TimeWarp")` |
| Assistant (MCP) | `create_node(type="TimeWarp")` |
| Tab search | `timewarp`, or its initials `tw` |

![TimeWarp properties](/shots/nodes/timewarp@2x.webp)

## Inputs and outputs

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

## Knobs

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

| Knob | Label | Type | Default | Range / values | .nk knob | Description |
|---|---|---|---|---|---|---|
| `lookup` | input frame | float | `1` | 0 to 2000 | `lookup` |  |
| `length` | input length | float | `1` | 0 to 10 | `length` | Length of input time averaged into each output frame (box filter) |
| `set_dfdt` | set to df/dt | button (panel only) |  |  |  |  |
| `filter` | filter | menu | `box` | none, nearest, box | `filter` |  |

### 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 |  |  |  |  |
| `use_lookup` | use lookup | boolean | `true` |  |  | Off: lookup = current frame (knob absent) |
| `length_dfdt` | set to df/dt | boolean | `false` |  |  | input length = the slope of the input frame curve (Nuke's set to df/dt) |
| `time` | time | string |  |  | `time` | Nuke's hidden time knob (kept for .nk) |


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