Oink
Nodes

Write

Write: renders its input to files on disk (Render > Render All, F5).

raw .md
NodeWrite
Type idOC_N_write
MenuInput/Output › Write
Nuke classWrite
Codeopencomp_core/nodes/io/write.py

Write properties

Pick the file name and file type (typing a name with an extension sets the type). Use #### or %04d for the frame number. Image types: exr, dpx, tiff, png, jpeg. Movie types: mov, mxf, webm, gif, animated webp and avif, written as one file per render. The output transform defaults by file type (movies Rec.1886, web formats sRGB).

Each frame is written to a hidden temporary file and renamed when complete, so a stopped render never leaves a half file. Frames with NaN or infinite pixels, or all black, are flagged in the render report. The proxy file is written instead when rendering with proxy. Views takes a list of views to render.

Inputs and outputs

PortNameType
input 0Imageimage

Knobs

Panel tab Write, in panel order.

KnobLabelTypeDefaultRange / valuesNuke knobDescription
channelschannelsmenurgbrgb, rgba, allchannels
filepathfilefilefileOutput path; #### or %04d = frame number
proxyproxyfileproxyFile written instead when rendering in proxy mode
frame_modeframemenuEXPRESSIONEXPRESSION (expression), START_AT (start at), OFFSET (offset)frame_mode
frametextframeExpression (e.g. frame-1000), start number, or offset of the file number; empty = frame
colorspaceoutput transformmenudefaultdefault (default (by file type))colorspaceOCIO colorspace to write; 'default' = by file type (float=linear, dpx=compositing_log, 8/16-bit=sRGB)
premultipliedpremultipliedboolfalsepremultipliedUnpremultiply around the colorspace conversion
rawraw databoolfalserawWrite working-space values unconverted
viewsviewstextviewsViews to render (space separated); empty = every project view
file_formatfile typemenuEXREXR (exr), DPX (dpx), TIFF (tiff), PNG (png), JPEG (jpeg), MOV (mov), MXF (mxf), WEBM (webm), GIF (gif), WEBP (webp (animated)), AVIF (avif (animated))
write_ACES_compliant_EXRwrite ACES compliant EXRboolfalsewrite_ACES_compliant_EXR16 bit half, no compression, rgb / rgba only, ACES chromaticities + container flag
autocropautocropboolfalseautocropData window = the non-zero area of the image
exr_datatypedatatypemenuHALFHALF (16 bit half), FLOAT (32 bit float)
exr_compressioncompressionmenuzipsnone, zips (Zip (1 scanline)), zip (Zip (16 scanlines)), rle (RLE), piz (PIZ Wavelet (32 scanlines)), pxr24 (PXR24 (lossy)), b44 (B44 (lossy)), b44a (B44A (lossy)), dwaa (DWAA (lossy)), dwab (DWAB (lossy))
dw_compression_levelcompression levelfloat450 to 500dw_compression_levelDWAA/DWAB quality (higher = smaller, lossier)
heroviewheroviewtextheroviewMain view of a multi-view EXR (kept for .nk)
exr_metadatametadatamenudefaultnone (no metadata), default (default metadata), exr (default metadata and exr/), noinput (all metadata except input/), all (all metadata)metadata
noprefixdo not attach prefixboolfalsenoprefixUnknown metadata keys written as they are (else nuke/<key>)
interleaveinterleavemenuchannels, layers and viewschannels, layers and views, channels and layers, channelsinterleave
first_partfirst parttextfirst_partLayer written as the first part (interleave channels)
standard_layer_name_formatstandard layer name formatboolfalsestandard_layer_name_formatlayer.view.channel for multi-view files (kept for .nk: one view per file here)
write_full_layer_nameswrite full layer namesboolfalsewrite_full_layer_namesName the main layer's channels rgba.R ... instead of R ...
truncateChannelNamestruncate channel namesboolfalsetruncateChannelNamesChannel names cut to 31 characters
dpx_datatypedata typemenu108 (8 bit), 10 (10 bit), 12 (12 bit), 16 (16 bit)
dpx_fillfillboolfalsefill10 / 12 bit filled to 16-bit words (Method A) instead of packed
dpx_big_endianbig endianbooltruebigEndian
dpx_transfertransfermenuautoauto ((auto detect)), User defined (user defined), Printing density (printing density), Linear (linear), Logarithmic (log), Unspecified video (unspecified video), SMPTE 274M (SMPTE 240M), ITU-R 709-4 (CCIR 709-1), ITU-R 601-5 system B or...transfer
tiff_datatypedata typemenu88 (8 bit), 16 (16 bit), FLOAT (32 bit float)
tiff_compressioncompressionmenuzipnone, packbits (PackBits), lzw (LZW), zip (Deflate)
png_datatypedata typemenu88 (8 bit), 16 (16 bit)
jpeg_qualityqualityfloat0.750 to 1_jpeg_quality
jpeg_sub_samplingsub-samplingmenu4:1:14:1:1, 4:2:2, 4:4:4_jpeg_sub_sampling
mov64_formatmov formatmenumovmov (mov (QuickTime / MOV)), mp4 (mp4 (MPEG-4 Part 14)), mkv (mkv (Matroska))
mov64_codeccodecmenuapprappr (Apple ProRes), AVdn (Avid DNxHD), AVdh (Avid DNxHR), h264 (H.264), hevc (H.265 / HEVC), av1 (AV1), vp9 (VP9), mjpa (Motion JPEG A), png (PNG), rle (Animation)
mov_prores_codec_profilecodec profilemenuhqproxy (ProRes 4:2:2 Proxy 10-bit), lt (ProRes 4:2:2 LT 10-bit), standard (ProRes 4:2:2 10-bit), hq (ProRes 4:2:2 HQ 10-bit), 4444 (ProRes 4:4:4:4 10-bit), 4444xq (ProRes 4:4:4:4 XQ 10-bit)
dnxhd_codec_profilednxhd profilemenu14536 (DNxHD 422 8-bit 36Mbit), 145 (DNxHD 422 8-bit 145Mbit), 220 (DNxHD 422 8-bit 220Mbit), 220x (DNxHD 422 10-bit 220Mbit)Bitrates for 29.97/30 fps; other rates use the matching VC-3 bitrate
dnxhr_codec_profilednxhr profilemenuhqlb (DNxHR LB 4:2:2 8-bit), sq (DNxHR SQ 4:2:2 8-bit), hq (DNxHR HQ 4:2:2 8-bit), hqx (DNxHR HQX 4:2:2 10-bit), 444 (DNxHR 444 4:4:4 10-bit)
mov_h264_codec_profileh264 profilemenu420_8420_8 (High 4:2:0 8-bit), 420_10 (High 10 4:2:0 10-bit)
mov_hevc_codec_profilehevc profilemenumain10main (Main 4:2:0 8-bit), main10 (Main 10 4:2:0 10-bit), main422_10 (Main 4:2:2 10-bit)
mov64_encoderencodermenusoftwaresoftware, nvenc (NVENC (GPU))H.264 / HEVC / AV1 encoder (not in Nuke: ours)
mov64_qualityqualitymenuHighLow, Medium, High, BestConstant quality of the long-GOP codecs (H.264 crf 18 at High), Motion JPEG, WebP
mov64_limit_bitratelimit bitrateboolfalseEncode at the bitrate knob instead of a constant quality
mov64_bitratebitratefloat28000100 to 2000000 (integer)kbit/s (limit bitrate on)
mov64_gop_sizegop sizefloat120 to 10000 (integer)Frames between keyframes (H.264 / HEVC / AV1 / VP9); 0 = the encoder's default
mov64_b_framesb framesfloat00 to 16 (integer)B frames between reference frames
mov64_ycbcr_matrix_typeycbcr matrixmenuautoauto (Auto), rec601 (Rec 601), rec709 (Rec 709), rec2020 (Rec 2020)
dataRangedata rangemenuvideovideo (Video Range), full (Full Range)
mov64_fpsfpsfloat00 to 240Frame rate of the movie; 0 = the script's fps
mov64_audiofileaudio filefileAudio muxed into the movie (cut to the movie's length)
mov64_write_timecodewrite timecodebooltrueQuickTime timecode track: the start timecode knob, else the input's timecode metadata, else the first frame number at the movie's fps
mov64_timecodestart timecodetextHH:MM:SS:FF of the first frame; empty = the input's timecode, else frame / fps
mov64_fast_startfast startbooltrueIndex at the start of the file (plays while loading)
create_directoriescreate directoriesboolfalsecreate_directoriesCreate missing folders in the output path
render_orderrender orderfloat1-100 to 100 (integer)render_orderWrites render in ascending order when several render together
firstframe rangefloat1-100000 to 100000 (integer)first
lasttofloat100-100000 to 100000 (integer)last
use_limitlimit to rangeboolfalseuse_limit
readingread fileboolfalsereadingNuke passes the written file downstream (kept for .nk: this Write has no output)
on_errormissing framesmenuERRORERROR (error), BLACK (black), CHECKERBOARD (checkerboard), NEAREST (nearest frame)on_errorRead file side (kept for .nk)
read_all_linesread all linesboolfalseread_all_linesKept for .nk (Reads always read whole frames here)
key1key1textkey1
value1value1textvalue1
key2key2textkey2
value2value2textvalue2
key3key3textkey3
value3value3textvalue3
key4key4textkey4
value4value4textvalue4
beforeRenderbefore rendertextbeforeRender
beforeFrameRenderbefore each frametextbeforeFrameRender
afterFrameRenderafter each frametextafterFrameRender
afterRenderafter rendertextafterRender
renderProgressrender progresstextrenderProgress

Other knobs (Python, .nk and the assistant; not on the panel)

KnobLabelTypeDefaultRange / valuesNuke knobDescription
gl_colorViewer Controls Colorfloat ×30, 0, 00 to 1
postage_stamp_frameStatic Frameint1-2147483648 to 2147483647
lifetimeStartLifetime Startint0-2147483648 to 2147483647
lifetimeEndLifetime Endint100-2147483648 to 2147483647
useLifetimeUse Lifetimebooleanfalse
cachedCachedbooleanfalse
bookmarkBookmarkbooleanfalse
dope_sheetDope Sheetbooleanfalse
clone_groupClone Groupstring
link_sourceLink Sourcestring
link_overridesLink Overridesstring
split_viewsSplit Viewsstring
checkHashOnReadCheck Hash On ReadbooleanfalsecheckHashOnRead
versionVersionint0-2147483648 to 2147483647versionNuke's Write version counter (.nk)
last_writtenlast_writtenstring
last_checklast_checkstring

Nuke equivalent

Imports from and exports to Nuke's Write.

Knobs with a different name here:

Nuke knobKnob here
filefilepath
_jpeg_qualityjpeg_quality
_jpeg_sub_samplingjpeg_sub_sampling
metadataexr_metadata
filldpx_fill
bigEndiandpx_big_endian
transferdpx_transfer

Nuke knobs not in this list import as a knob of the same name, or are kept unchanged for export. See .nk import.

On this page