Import Blender
Build tools, render pipelines, tests, and batch jobs around import bpy in a normal Python workflow.
A focused path from ordinary Python code to Blender scenes: one runtime you can import, four tools an agent can reason about, and a protocol surface that stays still.
Standalone bpy packaging remains work in progress. Track build work in PR #9.
# Blender, from Python
import bpy
cube = bpy.data.objects["Cube"]
cube.rotation_euler.z = 0.785
bpy.context.scene.render.filepath = "frame.png"
bpy.ops.render.render(write_still=True)01 / What developers can do
Keep direct control in Python. Expose only the operations an agent needs.
Build tools, render pipelines, tests, and batch jobs around import bpy in a normal Python workflow.
Give an agent exactly four MCP tools instead of a sprawling control plane. Smaller surfaces are easier to inspect and evaluate.
02 / System boundary
Separate execution from agent access, then make the evaluation boundary repeatable.
Blender capabilities available through Python, suitable for local tooling and automation.
A narrow adapter: exactly four tools, explicit inputs, inspectable outputs.
Tasks, rounds, rendering, and scoring held constant for the reported run.
03 / Initial evidence
One transparent community-preview run on the public BlenderBench dataset.
Category results
Category mean best N-CLIP ×100. N-CLIP is derived from CLIP image-embedding cosine similarity; lower is better. Values retain the precision of the recorded aggregate.
| Category | N-CLIP ×100 |
|---|---|
| Camera / Level 1 | 0.3738476170433892 |
| Level 2 | 1.603147718641493 |
| Level 3 | 2.2820386621687145 |

203e4d325e9438ca55b29bdfc4f6a90842d74e68, licensed CC BY 4.0.Open community preview