Batch Mode
Batch mode allows you to render sequences of frames from a Katana scene all at once. It is started through a command line, where you specify the file path, frame range and any other necessary options.
Note: You will only be able to access terminal modes, including Batch Mode, if you have a Katana render license (katana_r). If you're a student, you can access one for free.
Batch mode is useful if you have a large number of frames to render as it will render out each individual file in the background. You can continue working on a Katana scene file whilst it is being batch rendered as the command uses the last saved version.
Before starting a batch render, ensure the render settings and the render flag are all set up correctly in Katana. To set the render flag, select the node you wish you render from and press V on the keyboard. The render flag can be determined through the command line, however setting it up beforehand simplifies the string needed to run Batch mode and minimizes any room for error.
Note: When you specify the Image Filename for the output render, ensure you use one or more hashes as they will be replaced by the frame number in your rendered file name. For example: fileName_<aov>_###.<ext>
Start a Batch Render
Windows
- Open the Command Prompt.
- Navigate to the directory where you have Katana installed using the
cd command, for example:cd C:\Program Files\Katana3.2v1\bin
- Enter the following command to start a batch render:
katanaBin.exe --batch --katana-file=C:\yourDirectory\yourScene.katana -t 1-1000
Where:
- Press Enter to start the render.
You can add more arguments to the command. For example, use --render-node to specify the node you would like to render from if you haven't set your render flag in the Katana scene or if you would like to change it:
katanaBin.exe --batch --katana-file=C:\yourDirectory\yourScene.katana --render-node=renderHere -t 1-1000
Linux
- Open a Terminal.
- Navigate to the directory where you have Katana installed using the
cd command, for example:cd /opt/foundry/katana
- Enter the following command to start a batch render:
./katana --batch --katana-file=/yourDirectory/yourScene.katana -t 1-1000
Where:
- Press Enter to start the render.
You can add more arguments to the command. For example, use --render-node to specify the node you would like to render from if you haven't set your render flag in the Katana scene or if you would like to change it:
./katana --batch --katana-file=/yourDirectory/yourScene.katana --render-node=renderHere -t 1-1000
Here is a full list of command line options for Batch Mode:
Option |
Usage |
--katana-file |
Specifies the Katana recipe to load. Syntax: --katana-file=<filename> Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty |
--asset |
Specifies the asset ID to resolve. Syntax: --asset=<asset ID> Example: ./katana --asset=mock:///show/shot/name/version |
-t or --t |
Specifies the frame range to render. Syntax: -t <frame range> OR --t=<frame range> Where <frame range> can take the form of a range (such as 1-5) or a comma separated list (such as 1,2,3,4,5). These can be combined, for instance: 1-3,5, which would render frames 1, 2, 3, and 5. Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-5,8 --render-node=beauty |
--var |
Sets the value of an existing Graph State Variable. This command-line option can be specified multiple times to override the values of multiple Graph State Variables. Syntax: --var <GSV name>=<GSV value> Example: ./katana --batch --katana-file=/tmp/test.katana --t=1 --var Shot=Sh1 --var timeOfDay=night --var variant=B --render-node=beauty |
--threads2d |
Specifies the number of additional processors within the application. An additional processor is also used for Katana's main thread. This means that Katana uses 3 processors when --threads2d=2. Syntax: --threads2d=<num threads> Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --threads2d=2 --render-node=beauty |
--threads3d |
Specifies the number of simultaneous threads the renderer uses. Syntax: --threads3d=<num threads> Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --threads3d=8 --render-node=beauty |
--render-node |
Specifies the Render node from which to render the recipe. Syntax: --render-node=<node name> Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty |
--render-internal-dependencies |
Allows any render nodes that don't produce asset outputs to be rendered within a single katana --batch process. Asset outputs are determined by asking the current asset plug-in if the output location is an assetId, using isAssetId(). The default file asset plug-in that ships with Katana classes everything as an asset. So at present it is not possible to render any dependencies within one katana --batch command without customizing the asset plug-in. |
--crop-rect |
Specifies which part of an image to crop. The same cropping area is used for all renders. Syntax: --crop-rect="(<left>,<bottom>,<width>,<height>)" Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty --crop-rect="(0,0,256,256)" |
--setDisplayWindowToCropRect |
Sets the display image to the same size as the crop rectangle set by --crop-rect. |
--tile-render |
Used to render one tile of an image divided horizontally and vertically into tiles. For instance, using 0,2 1,2 2,2 0,1 1,1 2,1 0,0 1,0 2,0 The results are saved in the same location as specified by the RenderOutputDefine node but with a tile suffix. For instance: tile_1_1.beauty.001.exr Syntax: --tile-render=<left_tile_index>, <bottom_tile_index>, <total_tiles_width>, <total_tiles_height> Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty --tile-render=0,0,2,2 ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty --tile-render=0,1,2,2 ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty --tile-render=1,0,2,2 ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty --tile-render=1,1,2,2 |
--tile-stitch |
Used to assemble tiles rendered with the --tile-render flag into a complete image. When stitching, you must still pass the --tile-render argument, with the number of x and y tiles, so that the stitch knows how many tiles to expect, and their configuration. Syntax: --tile-render=<left_tile_index>, <bottom_tile_index>, <total_tiles_width>, <total_tiles_height> --tile-stitch Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty --tile-render=0,0,2,2 --tile-stitch |
--tile-cleanup |
Used to clean up transient tile images. Can be used in conjunction with --tile-stitch to assemble a complete image, and remove transient tiles in a single operation. When using --tile-cleanup you must still pass the --tile-render argument with the number of x and y tiles, so that cleanup knows how many tiles to remove. Syntax: --tile-render=0,0,<total_tiles_width>,<total_tiles_height> --tile-cleanup Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty --tile-render=0,0,2,2 --tile-stitch --tile-cleanup |
--prerender-publish |
In Batch mode, it executes the Pre-Render Publish Asset action on the outputs but doesn't render images. The value specifies the filename for dumping render pass information. Note: This can be used together with --versionup. Syntax: --prerender-publish=<pass info> Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty --prerender-publish=/tmp/pass_info.xml |
--make-lookfilebake-scripts |
Used to write out a number of Python files that can be executed in Batch mode to write look files. Syntax: --make-lookfilebake-scripts=<script directory> Example: ./katana --batch --katana-file=/tmp/bake.katana --t=1 --make-lookfilebake-scripts=/tmp/bake_scripts ./katana --script /tmp/bake_scripts/preprocess.py ./katana --script /tmp/bake_scripts/lf_bake_default.py ./katana --script /tmp/bake_scripts/postprocess.py |
--postrender-publish |
In Batch mode, it executes the Post-Render Publish Asset action on the outputs but doesn't render images. The value specifies the filename for dumping render pass information. Note: This can be used together with --versionup. Syntax: --postrender-publish=<pass info> Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty --postrender-publish=/tmp/pass_info.xml |
--versionup |
Used to specify that you want to version up assets when publishing to the asset management system. Syntax: --versionup Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty --versionup |
--reuse-render-process |
Iterates over the sequence of frames to render, and exports Op Tree files for all frames, then starts the renderer (/renderboot process) only once on a sequence of exported Op Tree files. Syntax: --reuse-render-process Example: ./katana --batch --katana-file=/tmp/test.katana --t=1-1000 --render-node=beauty --reuse-render-process |
Note: Setting threads3d or threads2d through Batch mode takes precedence over the interactiveRenderThreads3D, and interactiveRenderThreads2D settings in Katana's Edit > Preferences > application menu.
Article: How to render an image in multiple tiles in Batch Mode.