Skip to main content

Blender Render Farm

This example creates a procedural Blender scene, divides frames into even and odd shards, renders both activities independently, and composes the complete sequence. The fan-out makes resource placement and parallel makespan visible in an AkôFlow plan.

Blender Render Farm. Nodes in the same column can run in parallel once their dependencies complete.

Inputs

  • Procedural scene definition
  • Smoke or demo frame profile

Outputs

  • Blender scene
  • Complete frame sequence
  • MP4 or portable YUV4MPEG animation
  • Render report

Provenance to preserve

  • Render plan and engine
  • Frame ownership by shard
  • Expected and observed frame counts
  • Final animation

Run this example locally

Build a real Blender scene, render even and odd frames in parallel using Cycles on the CPU, compose an MP4, and verify all six frames. The default command uses Docker, so the host does not need a Blender installation. No JSON file is represented as a .blend file.

Install Go and Python 3.12 or newer.

Docker is also required. This command runs the workload inside its provided Docker image.

git clone https://github.com/UFFeScience/akoflow-examples.git &&
cd akoflow-examples &&
git checkout --detach d890c3171e3661890305b763b8fc3ede48bb61b4 &&
cd rendering/blender-render-farm &&
./prepare.sh &&
./run.sh

Run the block from the directory where you keep your repositories. If you already cloned the repository, enter this example's directory and run ./prepare.sh && ./run.sh.

Preparation downloads the Go module and any declared Python packages once. The workload then runs locally with offline input data. Every meaningful step is a separate process; independent activities run in parallel after their dependencies complete.

Read outputs/manifest.json for the generated artifacts, outputs/dag-validation.json for dependency waves, and outputs/stage-<activity>.json for each activity's observed result. A failed stage stops the run and prevents a successful final manifest.

Expected outputs: render-plan.json, scene.blend, animation.mp4, render-report.json.

Run the same activities in Desktop

Start your local AkôFlow daemon with Docker available and configure AKOFLOW_API_TOKEN in your shell. From this example's directory, run:

go run ../../tools/daemon-local -root ../.. -example rendering/blender-render-farm

This command validates the daemon connection, builds the declared image, registers the local environment and workflow, and submits a real run. The daemon owns execution and file transfers. Open the printed run ID in Desktop to inspect each activity.

Execution evidence

Verified on local Docker: 5/5 activities completed. These captures belong to run blender-render-farm-local-c7b71b395d-run-20261020t182650.

Read the daemon execution record · Local output manifest

Open full resolution ↗Blender Render Farm: observed activity DAG
The observed activity graph. Click to see the complete capture.

Each stage also ran through the standalone local command. Read the dependency and artifact validation.