BlendGen
Generate synchronized synthetic computer-vision datasets with Blender.
BlendGen is a Python rendering pipeline for turning Blender scenes into reproducible machine-learning datasets. Declare the render engine, semantic passes, output formats, frame range, and annotations once; BlendGen renders each frame once and records the resulting files in a dataset index.
What it gives you
- Synchronized outputs: color, alpha, metric depth, normals, optical flow, and material IDs stay aligned frame by frame.
- Explicit render engines: configure Cycles for production or Eevee for faster supported workloads.
- Headless operation: run the same dataset file locally, in Docker, or on a GPU host without opening Blender's UI.
- Procedural annotations: callbacks can move scene objects and attach 2D/3D boxes, poses, camera matrices, or custom metadata.
- Verified manifests: a pass is recorded only after its expected file exists.
The shortest path
- Build the Docker image.
- Render your first dataset.
- Choose passes and formats.
- Add callbacks and annotations.
Documentation for people and agents
Every page is also available as Markdown by appending .md to its documentation URL. The complete site is indexed at /llms.txt, with all page content at /llms-full.txt.