A desktop application for managing render queues across multiple 3D and compositing applications, built with Nuxt 3, Vue 3, and Electron.
Built with AI Assistance from Github Copilot using Claude Opus 4.5, Claude Sonnet 4.5 and GPT 5.2
| Application | Extensions | Platforms |
|---|---|---|
| Blender | .blend |
Windows, macOS, Linux |
| Cinema 4D | .c4d |
Windows, macOS |
| Houdini | .hip, .hiplc, .hipnc |
Windows, macOS, Linux |
| After Effects | .aep, .aepx |
Windows, macOS |
| Nuke | .nk, .nknc, .nkind |
Windows, macOS, Linux |
| Maya | .ma, .mb |
Windows, macOS, Linux |
- Multi-Application Support: Render Blender, Cinema 4D, Houdini, After Effects, Nuke and Maya files from a single queue
- Batch Rendering: Add multiple scene files to a render queue
- Custom Frame Ranges: Set optional frame ranges for each file (supports multiple ranges like "1-10, 50-60, 100")
- Overwrite Protection: Warns when rendering would overwrite existing frames with options to skip or adjust
- Progress Tracking:
- Per-file progress bars with percentage
- Estimated time remaining for current file and entire queue
- Color-coded status (blue=pending, yellow=rendering, green=complete, red=error)
- Application-type badges with color coding
- Live Preview: Shows the latest rendered frame as soon as it's available
- Zoom (scroll, Fit, 1:1) and pan to check detail; full view with
F - Step through rendered frames with ←/→ or the scrubber, or play the sequence back
- Zoom (scroll, Fit, 1:1) and pan to check detail; full view with
- Queue Management: Multi-select jobs (Ctrl/Shift-click, Ctrl+A) to move, reset or remove them together; right-click to duplicate, move to top/bottom or open folders
- System Monitoring: Real-time CPU, RAM, GPU, and VRAM usage as bars (with sparklines), a history graph, spawned processes with their output, and the app log
- Flexible Layout: Panels keep their proportions when the window is resized, can be collapsed, and the layout is remembered between sessions (double-click a divider to reset it)
- Keyboard & Accessibility: Shortcuts for everything (press
?for the list), keyboard-resizable dividers, screen-reader labels and announcements, visible focus rings, reduced-motion support - Pause/Resume: Stop rendering mid-queue and resume later
- Unattended Renders: An error doesn't end an overnight session. A failed job doesn't stop the queue, and Blender and Nuke skip a frame that keeps failing instead of giving up on the job (Settings > General > Continue past render errors)
- Queue Persistence:
- Auto-saves queue to recover from crashes
- Save/load queue to JSON files
- Desktop Notifications: Alerts when renders complete or encounter errors
- Application Auto-Detection: Finds installed applications automatically
- Windows 10/11, macOS 10.15+, or Linux
- Node.js 18+
- One or more supported applications installed:
- Blender 2.80+ (tested with 3.x and 4.x)
- Cinema 4D R21+
- Houdini 18+
- After Effects CC 2020+
- Nuke 12+
- NVIDIA GPU (optional, for GPU usage monitoring via nvidia-smi)
- Clone the repository:
git clone https://github.com/yourusername/blender-render-queue.git
cd blender-render-queue- Install dependencies:
npm install- Run in development mode:
npm run electron:dev- Build for production:
npm run electron:build- Click "Add Files" to select scene files from any supported application
- You can also drag & drop files directly into the queue
- The application will automatically detect the file type and read settings where possible
- Supported extensions:
.blend,.c4d,.hip,.hiplc,.hipnc,.aep,.aepx,.nk,.nknc,.nkind,.ma,.mb
- By default, the frame range from the scene file is used (when available)
- Check "Custom Frame Range" to specify your own range
- Supports multiple ranges:
1-100, 150-200, 250-300 - Supports individual frames:
1, 5, 10, 15
Each application has its own settings tab:
- Blender: Render engine, device (CPU/GPU), view layers, skipping rendered frames, pre-render Python (see Blender Jobs)
- Cinema 4D: Take name, thread count
- Houdini: Render node path (e.g.,
/out/mantra1) - After Effects: Composition name, multi-frame rendering
- Nuke: Write node, continue on error
- Click "Start Rendering" to begin
- Use "Pause" to temporarily stop rendering
- Use "Stop" to cancel the current render
- Jobs with missing applications are automatically skipped with an error
- A job that fails is marked with its error and the queue carries on with the next one (turn off Continue past render errors in Settings to stop the queue instead)
With Continue past render errors on (the default):
- When Blender or Nuke exits or reports an error on a frame, the render continues from that frame.
- A frame that fails twice is skipped and the render carries on with the next one.
- Before the job ends, the skipped frames get one more try, so the next job in the queue (say, a Nuke comp reading this job's EXRs) starts with as many frames as possible.
- Frames that still fail leave the job Complete with a warning listing them. Reset the job and render it again to fill the gaps; with "Skip frames that are already rendered" on, only the missing frames are rendered.
- Movie outputs can't continue part way: a failed movie fails the job, and the queue moves on.
- Blender loads the file once per run of frames (
-s … -e … -a), not once per frame. Movie outputs are always written in a single run. - Skip frames that are already rendered (on by default): before rendering, RenderQ asks Blender which output files already exist and only renders the rest. Stop, pause or close RenderQ at any time; starting again continues where it left off. Empty placeholder files left by an interrupted render are removed.
- View layers: choose which of the file's view layers to render. Render view layers separately runs one Blender process per layer (much less memory), interleaved in chunks (Frames per Blender process, default 100) so complete frames arrive progressively. File Output nodes fed only by other layers are muted; each layer's main output goes to a sub-folder named after the layer.
- Allow Python drivers & scripts (on by default): the file's Python drivers and scripts run, as in Blender with auto-run enabled. The job card warns when a file has Python drivers and scripts are off.
- Renders use your Blender preferences and add-ons (GPU devices included); Factory startup ignores them.
- Pre-render Python: code run inside Blender before rendering, with
bpy,sceneandlayer(the view layer of a split render) available, e.g. to call a set-up script stored in the file. - A process that crashes while rendering continues from the frame it stopped at (see When a Frame Fails).
For Blender jobs this appears only when "Skip frames that are already rendered" is off. When frames already exist in the output directory:
- Overwrite: Delete existing frames and render everything
- Adjust Range: Render only missing frames
- Save Queue: Export the current queue to a JSON file
- Load Queue: Import a previously saved queue
- Auto-saves continuously to prevent data loss
Press ? (or F1) in the app for the full list. The main ones:
| Keys | Action |
|---|---|
Ctrl+I |
Add scene files |
Ctrl+O / Ctrl+S |
Load / save the queue |
Space |
Start, pause or resume rendering |
↑ / ↓ (with Shift to extend) |
Select jobs |
Alt+↑ / Alt+↓ |
Move the selected jobs |
Enter / Delete / Ctrl+D |
Show settings / remove / duplicate |
← / → |
Previous / next rendered frame |
F, 0, 1 |
Full view, zoom to fit, actual size |
scripts/screenshots/mock-electron-api.js stands in for the Electron API so the UI runs in a plain browser with a sample queue. Inject it before the page's scripts (see the comments in the file), call window.__renderqMock.stage() once the app has loaded, and capture.
The application automatically detects installations in common locations:
Windows:
- Blender:
C:\Program Files\Blender Foundation\ - Cinema 4D:
C:\Program Files\Maxon\,C:\Program Files\Maxon Cinema 4D\ - Houdini:
C:\Program Files\Side Effects Software\ - After Effects:
C:\Program Files\Adobe\ - Nuke:
C:\Program Files\Nuke*\,C:\Program Files\The Foundry\
macOS:
- Blender:
/Applications/Blender*/ - Cinema 4D:
/Applications/Maxon Cinema 4D*/ - Houdini:
/Applications/Houdini/ - After Effects:
/Applications/Adobe After Effects*/ - Nuke:
/Applications/Nuke*/
Linux:
- Blender:
/usr/bin/blender,/opt/blender*/,~/blender*/ - Houdini:
/opt/hfs*,/opt/sidefx/ - Nuke:
/usr/local/Nuke*/,/opt/Nuke*/
You can also specify custom paths in Settings.
- Auto-save queue: Continuously save queue state
- Desktop notifications: Show alerts for render events
- Show preview: Display latest rendered frame
blender-render-queue/
├── assets/
│ └── scss/ # SCSS styles (IBM Carbon design)
├── components/ # Vue components
├── electron/ # Electron main process
├── pages/ # Nuxt pages
├── public/ # Static assets
└── stores/ # Pinia stores
- Frontend: Nuxt 3, Vue 3, Pinia
- Desktop: Electron
- Styling: SCSS with IBM Carbon design language
- System Info: systeminformation package
npm run dev- Start Nuxt dev servernpm run electron:dev- Start Nuxt + Electron in dev modenpm run electron:build- Build production executablenpm run electron:preview- Preview production build
The application uses each software's command line interface for rendering:
blender -b file.blend -f 10 # Render single frame
blender -b file.blend -s 1 -e 100 -a # Render animationCommandline.exe -nogui -render file.c4d -frame 1 100 1
Commandline.exe -render file.c4d -take "Main Take"hbatch -c "render -f 1 100 /out/mantra1" file.hip
hython -c "hou.node('/out/mantra1').render()"aerender -project file.aep -s 1 -e 100 -comp "Main Comp"
aerender -project file.aep -RStemplate "Best Settings" -OMtemplate "Lossless"nuke -F 1-100 -x script.nk # Render frame range
nuke -F 1-100 -X Write1 script.nk # Specific write node- Ensure the application is installed in a standard location
- Or specify a custom path in Settings → [Application Name] tab
- NVIDIA: Requires nvidia-smi in PATH
- AMD/Intel: GPU usage monitoring may be limited
- Ensure the output format is a supported image type (PNG, JPEG, EXR, TIFF)
- Check that the output directory is accessible
- The required application for that file type is not configured
- Go to Settings and set the path for the application
- Check that the scene file exists and is readable
- Verify the application path is correct in Settings
- Check the application's license status (some require valid licenses for command-line rendering)
GNU AFFERO GENERAL PUBLIC LICENSE v3 - see LICENSE for details.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
