Aller au contenu

Run Command Node

By Kriss Norde

Run Command runs a shell command during the render. It lets you integrate Fusion into a larger pipeline: trigger external scripts, copy files, launch third-party tools, notify other processes, and more. A key tool for professional pipeline automation.

Overview

Run Command has no effect on the pixels - it triggers a system command (Bash on Linux/macOS, CMD or PowerShell on Windows) at a defined moment: before the render, after the render, after each frame, or before each frame.

You can pass variables (frame number, output path, etc.) to the command through token substitution. This enables sophisticated integrations (Slack notifications, automatic copies to a render farm server, format conversion on output).

Where to find this node

  • Effects Library: Tools > Miscellaneous > Run Command
  • Quick add: right-click in the Node Editor → Add Tool > Miscellaneous > Run Command

How it works

When to Run
When the command runs: before the whole render, after it, before each frame, or after each frame. Choose based on your needs.
Command
The shell command to run. It can include the full path to an executable + arguments.
Token substitution
Fusion variables replaced in the command: {Frame} = current frame, {Output} = output path, etc. (depending on the Fusion version).
Synchronous vs Asynchronous
Sync = waits for the command to finish before continuing. Async = launches it and continues right away.

Setup

Slack notification after the render:
Run Command (When = After Render,
             Command = curl -X POST -d "Render done!" https://hooks.slack.com/...)

Copying the output after the render:
Run Command (When = After Render,
             Command = cp /path/output.exr /server/share/)

EXR → MP4 conversion after the render:
Run Command (When = After Render,
             Command = ffmpeg -i {Output} -c:v h264 final.mp4)

Per-frame watermark:
Run Command (When = After Each Frame,
             Command = python watermark.py --frame {Frame})

Preprocessing before the render:
Run Command (When = Before Render,
             Command = python prepare_assets.py)

Controls tab

When to Run (default: After Render)
Before Render, After Render, Before Each Frame, After Each Frame.
Command
The full shell command. Include the path to the executable if it is not in the PATH.
Synchronous (default: Off)
When enabled, waits for the command to finish before continuing the render. Otherwise it runs in parallel.
Show Console (default: Off)
Shows the console output of the command in Fusion. Useful for debugging.
Working Directory
Working directory for the command. Lets you run it from a specific folder.

Use cases

  • Render completion notifications - Slack, email, Discord webhook, etc. to let people know a render is done.
  • Automated copy / deployment - copy the result to a shared server, NAS, S3, etc.
  • Format conversion on output - the EXR exported by Fusion → an automatic MP4 through ffmpeg for previews.
  • Preprocessing - prepare assets before the render (generate a LUT, download plates from a server).
  • Watermarking - automatically add a watermark through an external script for previews.
  • Logging / metrics - record render times and resource usage in a pipeline database.
  • Triggers to other DCCs - launch another application (Maya, Houdini, Nuke) after the Fusion render.

Tips

  • Test on the command line first - run the command manually in a terminal to check that it works before putting it in Run Command.
  • Async for fire-and-forget - for notifications or actions that do not need to wait, turn off Synchronous = the render carries on without waiting.
  • Sync for a strict pipeline - if the command must finish before what follows (e.g. asset preparation), turn on Synchronous.
  • Show Console for debugging - while developing the command, turn on Show Console to see the errors.
  • Tokens vary by version - check the Fusion documentation for the exact syntax of the tokens available in your version.
  • Security: avoid raw user input - never inject unvalidated input into the command (injection risk).
  • OS permissions - Fusion must have the permissions to run the command / access the target files.
  • For sophisticated pipeline workflows, consider a farm manager (Deadline, Tractor) instead, which handles the orchestration between Fusion and other tools.