Control Blender with natural language. BlenderLLM adds a chat panel to the 3D View sidebar: describe what you want ("add a red cube at the origin", "arrange the selected objects in a circle"), and the add-on asks your chosen LLM to write the Blender Python for it. You review the code and run it with one click.
Supported providers
| Provider | Default model | Needs |
|---|---|---|
| Anthropic Claude | claude-opus-4-8 |
API key |
| OpenAI GPT | gpt-4o |
API key |
| Google Gemini | gemini-2.5-flash |
API key |
| Local (Ollama / LM Studio / any OpenAI-compatible server) | llama3.1 |
a running local server — no key, no cloud |
The add-on has zero dependencies — it talks to every provider with Blender's built-in Python, so it works on Windows, macOS, and Linux with Blender 3.0+.
- Download this repository as a ZIP (
Code > Download ZIPon GitHub). - In Blender:
Edit > Preferences > Add-ons > Install...and select the ZIP. - Enable BlenderLLM — AI Assistant.
- Expand the add-on's preferences, pick a provider, and paste your API key
(or point the Local provider at your server). Keys can also come from the
ANTHROPIC_API_KEY/OPENAI_API_KEY/GEMINI_API_KEYenvironment variables.
- Ollama: install from ollama.com, run
ollama pull llama3.1. The default base URLhttp://localhost:11434/v1works out of the box. - LM Studio: start the local server and set the base URL to
http://localhost:1234/v1and the model to the loaded model's name.
- In the 3D View, press
Nto open the sidebar and select the BlenderLLM tab. - Type a request and press Send. Blender stays responsive while the model thinks.
- The response appears in the chat with Run and Show Code buttons. Review the code, then run it. Errors are captured and shown in the chat.
By default the add-on sends a summary of your scene (object names, types, locations, selection) with each request so the model can reference your objects by name. Both this and auto-execution can be toggled in preferences.
Generated code runs with full access to your Blender session — that is what makes it useful. BlenderLLM defaults to review-then-run, and the system prompt forbids destructive operations unless you ask for them, but you are the last line of defense: read the code before running it, especially with less capable models. Executed scripts support undo (Ctrl+Z).
See docs/ARCHITECTURE.md for the module map, request
flow, and roadmap (streaming, error-fix loop, agentic tool-use mode). Adding a
provider is one request builder + one response parser in llm_client.py.
Based on BlenderGPT by Aarya (@gd3kr), rearchitected for multi-provider support, non-blocking requests, and dependency-free installation.