Skip to content

Ahmed-Hindy/renderkit

Repository files navigation

RenderKit

Python 3.13 VFX Platform CY2026 License: MIT Code style: Ruff Documentation

A high-performance Python package and CLI tool for converting image sequences (EXR, PNG, JPEG) to video (MP4) in VFX workflows. Targets the VFX Platform CY2026 spec (Python 3.13.x, Qt 6.8/PySide6 6.8, OpenColorIO 2.5, NumPy 2.3).

Full Documentation

App Screenshot

RenderKit desktop UI screenshot

RenderKit UI converting an image sequence to MP4.

Features

  • VFX-Standard I/O: High-performance image reading and scaling powered by OpenImageIO.
  • Broad Format Support: Native support for EXR, DPX, TIFF, PNG, and JPEG.
  • Quality-First Video: 0-10 Quality Slider using Constant Rate Factor (CRF) for professional results.
  • H.264 Default + AV1/HEVC: Support for H.264 (AVC) by default, with AV1 and H.265 (HEVC) options.
  • Smart Detection: Automatically handles %04d, $F4, #### and numeric sequences.
  • Multi-AOV Contact Sheets: Generate a video grid of all AOVs (layers) for every frame.
  • Color Space: Professional color management including Linear-to-sRGB and Rec.709 presets.
  • Interfaces: Python API, CLI (renderkit), and PySide6 UI.
  • Shared ImageCache: Reuses OIIO cache across frames for faster network reads.

Installation

Prebuilt App (Windows, Linux, MacOS)

Download a .zip file from the Releases section, unpack then run the executable:

Example for Windows:

RenderKit/RenderKit.exe

From Source (uv)

git clone https://github.com/Ahmed-Hindy/renderkit.git
cd renderkit
uv pip install -e .

Requires Python 3.13.x (VFX Platform CY2026).

Quick Start

CLI

# Convert EXR sequence to MP4
renderkit convert-exr-sequence render.%04d.exr output.mp4 --fps 24

# Generate a Multi-AOV Contact Sheet video
renderkit convert-exr-sequence render.%04d.exr output.mp4 --contact-sheet --cs-columns 4

# Add burn-ins
renderkit convert-exr-sequence render.%04d.exr output.mp4 --burnin-frame --burnin-fps

UI

python -m renderkit.ui.main_window

Environment Variables

  • OCIO: Path to your system OCIO config (used when selecting ACES/custom input spaces).
  • IMAGEIO_FFMPEG_EXE: Path to a custom ffmpeg binary (optional, used to override the bundled or PATH ffmpeg).
  • RENDERKIT_FFMPEG_LOG: FFmpeg report logging (default: on). Set to 0 to disable, 1 for temp log, or a full file path.
  • RENDERKIT_LOG_PATH: Override RenderKit log file path (default: temp dir renderkit.log).
  • RENDERKIT_LOG_LEVEL: Logging level (DEBUG, INFO, WARNING, etc.).
  • QT_BACKEND: Force a Qt backend (default is auto-detect; PySide6 is recommended).

Python API

from renderkit import RenderKit

processor = RenderKit()
processor.convert_exr_sequence_to_mp4(
    input_pattern="render.%04d.exr",
    output_path="output.mp4",
    fps=24.0
)

Contributing

See our Development Guide and Contributing Guide.

About

VFX-focused image-sequence to video converter with OIIO, OCIO, CRF quality control, and CLI/UI.

Resources

License

Contributing

Stars

Watchers

Forks

Contributors

Languages