BlenderBlender and AI

AI and Blender: Start Small and Work Together

When you hand Blender work to an AI, split the job, read before running, check with a picture and numbers, and save with version numbers. This guide walks through that order with a real production example.

AZTechnology17 min read

한국어English

A frame from a low-poly video made with an AI agent and Blender: drones rising over a grass field (Blender render)

Based on: Blender 5.2 LTS (English interface, default keymap). The AI tool in the examples is Claude Code.

If you ask an AI to "make a great scene" in one go and you don't like the result, you can't tell what went wrong. That is why you need an order: split the work into small pieces, read before you run, check with your eyes and with numbers, and save so you can go back.

This guide does not teach how to install a particular AI tool or how to write Python. The examples use Claude Code, but the order is the same whatever tool you use. I explain it together with the method I actually used to make a 15-second video.

1. How an AI drives Blender: Python scripts

In the method covered here, the AI does not click around the Blender window with a mouse. It writes a Python script instead. A script is like a recipe card. It lists what to do in order, such as "place a cylinder, then place a cube on top", and Blender reads it and follows it step by step.

According to the Blender manual, Python scripts can control most of Blender: creating objects, animation, rendering, import and export, and automating repeated tasks.

There are two main ways a script gets into Blender.

RouteHowWho runs it
PastePaste the AI's script into Blender's Text Editor and press Run Script (Alt+P)You
The tool runs itThe AI tool starts Blender from the command line, or connects to a running Blender through MCPThe AI tool

The Scripting workspace (tab at the top of Blender) puts the Text Editor, where you write scripts, next to the Python Console, where you test short bits of code right away. The paste route happens on this screen.

MCP is an open standard that connects AI apps to outside programs. The official introduction compares MCP to a USB-C port, and one of its examples of what it enables is an AI creating 3D designs in Blender.

Either way, the key point is the same. What the AI is about to do is written down as text, so you can read it before it runs.

2. One sentence for the goal, one page for the request

First, write what you want to make in one sentence. For example: "One picture of a single object on a stand, shot from the front by the camera."

Next comes the request. Anthropic's prompting guidance says that if a colleague with little context would be confused by your instructions, the AI will be too. So write it like a work note you would hand to a colleague. The "AI task request template" on the Resources page (the template is in Korean) has fields to fill in, and filling them gives you something like this.

[Goal]
Put one cube on a stand (a flat cylinder). This step makes the shapes only.

[Current state]
Blender 5.2, new file. The default cube is deleted; only the camera and light remain.

[Change]
1. Place the stand on the floor at the center of the scene.
2. Place the cube directly on top of the stand, touching it.

[Keep]
Do not touch the camera or the light. Do not save or delete files.

[Constraints]
Use only built-in features, no add-ons.

[How to check]
Tell me, as numbers, whether the bottom of the cube and the top of the stand are at the same height.

[Before running]
Before running, explain what you will create and what you will delete.

Each field has a reason.

  • Without "Keep", the AI cannot know what it must not touch.
  • Without "How to check", the AI just answers "Done."
  • "Before running" buys you time to read the script in section 4.

The official guides say the same thing: give specific context, say what to do rather than what not to do, and explain why.

3. One thing at a time: shape, material, light, camera

Split requests into "the smallest unit whose result you can check by eye."

StepWhat to ask forWhat to check yourself
ShapePlace the object and the standSize, whether they touch, whether they overlap
MaterialSeparate the colors of the subject and the backgroundWhether the subject stands out from the background
LightPlace light that shows the formShadow direction, not too dark or too bright
CameraFrame the subjectAnything cut off, the margin around it

If you ask for all four at once and the picture comes out dark, you can't tell whether the cause is the material, the light, or the camera. If you do them one at a time, the thing you just changed is the cause.

Six boxes linked by arrows: request, read, run, check, save, record, with an arrow from record back to request Figure 1. One loop for each step. You go around once for shape, then once more for material (diagram, labels in Korean)

Claude Code's official recommendations are similar: explore first, plan, then implement. They add that small, clearly scoped tasks can be done directly without a plan. The smaller you split the work, the more tasks you can just hand over.

4. What to look at before running: reading a script

The security chapter of the Blender manual warns that Python does not limit what a script can do, so you should only run scripts from sources you know and trust. Read AI-written scripts before you run them too.

You don't need to know code. Below is a script an AI might write for the request in section 2.

import bpy

# Stand: a flat cylinder
bpy.ops.mesh.primitive_cylinder_add(radius=1.0, depth=0.2, location=(0, 0, 0.1))

# Subject: a cube on the stand
bpy.ops.mesh.primitive_cube_add(size=0.8, location=(0, 0, 0.6))

Lines that start with # are notes for people. The other two lines say "add a cylinder" and "add a cube". Just reading the English words gives you a good idea of what they do.

When you read, look for three things first.

Look forWords that stand outIf you see them
Lines that deletedelete, removeAsk the AI what it deletes
Lines that save or overwritesaveCheck which file it saves to
Lines that fetch from outsideWeb addresses (http)Ask what it downloads and why

If you see any of these, ask before running. But these three are not the whole list, and a script without them is not automatically safe. If there is a line you don't understand, ask the AI what it does before you run it.

The script above has none of the three, and both lines add objects. Even so, run scripts in a file you have already saved, or in a copy.

Starting state: Start from a new file (File ‣ New ‣ General) that you have already saved with Ctrl+S.

Follow along:

  1. In the 3D Viewport, left-click the default cube to select it and press X. If a small confirmation menu appears, click Delete. This matches the "Current state" in the request.
  2. In the workspace tabs at the very top of Blender, click Scripting.
  3. In the Text Editor header, click New to create an empty text, then paste the script above.
  4. With the mouse over the Text Editor, press Alt+P (Run Script). A stand appears in the 3D Viewport with a cube sitting on it.

With this script, the top of the stand and the bottom of the cube are both at 0.2 m. That is the number the "How to check" field in section 2 asks for.

After running, look at the Info editor. In the Scripting workspace, the bottom-left area is the Info editor. It logs the commands that ran, along with errors and warnings, so you can check afterwards what just happened. It also works the other way: if you want to know which command a button runs, hover over the button and press Ctrl+C. The command that button runs is copied.

The execution prompt when you open a .blend file: Automatic execution of scripts stored inside a .blend is off by default. When you open such a file, a prompt asks you to choose Allow Execution or Ignore. If you don't know where the file came from, choose Ignore. Note that pressing Run Script yourself in the Text Editor runs the script regardless of this setting, because you chose to run it.

5. Make a way back: copies and numbered saves

When hiking, if you tie a ribbon at every fork, you can always walk back to the last ribbon when you get lost. Numbered saves are those ribbons.

  1. Start from a copy. Leave the original .blend alone and work in a copy.
  2. Save with a new number at the end of each step. Save Incremental (Ctrl+Alt+S) saves a new file with the number at the end of the name raised by one, and does not overwrite the previous file. It only works in a file that has been saved once. When the shape is done you have _v01; when the material is done you have _v02.
  3. Number your scripts too. You can only go back to a step if you know which script made which file.

Blender also has an undo history (Edit ‣ Undo History). But don't rely on undo alone to reverse what a script did. Make numbered saves your default.

The same applies to the AI tool's own undo. Claude Code has a checkpoint feature that automatically records the files it edits and lets you roll them back. Of the limits listed in the official docs, three matter for this guide:

  • Changes made by Bash commands are not tracked.
  • Changes made outside the session are not tracked.
  • It is not a replacement for version control.

A .blend file or rendered image created when the AI tool runs Blender through a command counts as "changed by a command". So you need to save numbered .blend files yourself.

If you worry that the AI tool will run things without asking, check the permission mode. Claude Code has a mode that asks for permission before editing files and running commands, and a read-only plan mode; you switch with Shift+Tab. The default mode differs between versions, so check the current mode in the indicator at the bottom of the screen.

6. Checking the result: one picture and numbers

Even when the AI answers "Done", that is not a check. Claude Code's official recommendations also say to give the AI a way to verify its own work and to have it show evidence instead of saying "it worked". There are two kinds of evidence.

6-1. One picture

  • View ‣ Render Viewport Preview in the 3D Viewport header turns the current view into a single image. To see it from the camera, press numpad 0 first. For motion, use Render Playblast in the same menu. According to the manual, both work only with the Workbench and EEVEE render engines; Cycles is not supported.
  • When you check with a real render, lower Resolution % in the Output tab. You get a small image with the same aspect ratio as the final, quickly.

6-2. Numbers

A picture misses some things. It is hard to see from a picture whether the cube really touches the stand or floats 1 mm above it. For this, ask the AI to measure and report numbers. A script can read the data in the file, so it can read positions and sizes directly.

Put sentences like these in the request.

  • "Tell me the height of the cube's bottom and the height of the stand's top as numbers."
  • "Save one image from the camera view and tell me the file path."
  • "If you could not check something, say that you could not check it."

7. A real example: making a 15-second video with scripts

The order above is what I actually used when making a 15-second low-poly video. A small drone lifts off from a grass field and flies away. The picture at the top of this guide is a frame from a version of the same scene with more drones. Every scene was built with scripts written together with an AI.

Six boxes linked by arrows: plan, build scene, inspect, small render, sheet check, full render Figure 2. The order used for the 15-second video. Green boxes are checks, orange boxes are renders. The small render is also a check before the full render (diagram, labels in Korean)

StepWhat I didSection of this guide
PlanWrote the drone path, the camera, and the frames where events happen as numbers and saved them to a fileSection 2 (write the goal first)
Build sceneRead those numbers and ran Blender from the command line with no windowSection 1 (the tool runs it)
InspectMeasured with numbers before renderingSection 6-2
Small render450 frames at 360×640. Took 107 seconds on my PCSection 6-1
Sheet checkGathered key frames onto one sheetSection 6-1
Full render1080×1920, only after the checks were done

I split the work into several scripts instead of one: planning, scene building, sound, and post-processing are separate. That is "one thing at a time" from section 3, applied to scripts.

Here is what the inspection step measured.

  • Whether objects pass through each other. The closest distance was 0.90 m.
  • The number of frames in which the camera went under the ground. It was 0.
  • How many times the drone path bobbed up and down.

The results were saved to a file. I also added a separate option that only counts the scene's vertices (the corner points) without rendering.

A sheet of twenty tall rendered frames in two rows. Each cell has a frame number above it, such as f1, f32, f40. The drone lifts off, flies through the sky, then looks down at the ground from its own point of view Figure 3. Part of the keyframe sheet made from frames of the small render (top two rows). The f number above each cell is the frame number (Blender render, several frames on one sheet)

A sheet like Figure 3 is the "one picture" from section 6-1. Without playing the video, you can see in which frames the subject is too small. This is in fact where problems showed up that the plan had not revealed. On a small screen the drone was only a dot, and the dust particles kicked up at lift-off grew large near the camera and looked like rocks.

Scaling up was split into steps too. I kept the number of drones as one variable and went from 1 to 20 to 100. When that value changes, the code calculates everything that has to follow (take-off positions, paths, arrival times). What was checked with one drone was simply scaled up.

8. Keep a record: what changed, what was measured, what wasn't done

At the end of each loop, write down three things. I used the table below for every round.

What to writeExample
What changed and the measured valuesWhat you changed, the before and after values, and the frame numbers where it shows
What did not changeThe result of comparing the parts you didn't touch with the previous round
What was not done or not checked"Did not measure directly on the rendered image", "Did not listen to the sound"

The third row matters most. An AI cannot hear, and it can answer "Fixed" without looking at the picture. So when something is marked "applied", attach the frame number that proves it, and write "tried but not verified" for anything not checked in a picture.

I also separated the side that makes from the side that checks. I didn't treat the AI's own rating of its script as evidence; I pulled frames separately and looked at them. When you work alone, you are the side that checks.

Keeping the scripts numbered for every round (counting up from _v01) is part of the record too. It is the same idea as the numbered saves in section 5. This record becomes the "Current state" field of your next request.

9. Common mistakes and fixes

SymptomCauseFix
The result looks wrong but you can't tell whyAsked for shape, material, light, and camera at onceAsk for one at a time and check each step
The AI deleted objects in the sceneRan it without reading the delete linesLook for delete and remove before running, and run in a copy
You used the AI tool's undo but the .blend didn't change backFiles changed by a command are not covered by its undoSave a numbered file with Save Incremental at each step
The AI said "Done" but it didn't actually workNo check method in the requestAsk for one picture and numbers as evidence
The subject is only a dot in the small renderDidn't look at on-screen size during planningCheck with a sheet, then move the camera closer or use a longer lens
Settings from the command line are not appliedCommand-line arguments run in the order writtenPut the setting arguments before the render arguments

The last row is for those who use the command line. Blender runs with no window with -b and runs a script with -P file. The manual gives the example that an output path written after the render argument is not applied.

Summary

One sentence for the goal → one page of request → one thing at a time → read before running → run in a copy → check with a picture and numbers → numbered saves → record what wasn't done too.

Further reading

References


More: a book on building low-poly war animations with Claude Code and Blender — https://azblender.gumroad.com/l/lowpoly_war_animation

KEEP EXPLORING

Read next

The Scripting workspace: a Python script that builds a staircase from five cubes in the Text Editor in the middle, the result in the 3D Viewport at the top left, and the log of executed commands in the Info editor at the bottom left (Blender screenshot)Blender
Blender and AI11 min read

Connecting Blender and AI: 3D work through MCP and scripts

A plain comparison of the two ways AI can drive Blender: Python scripts and an MCP connection. It also covers how they work, a first exercise, and safe working habits.

Six-panel model sheet of the script-built chibi sword-girl character: front, three-quarter front, side, and back full body, a face close-up, and a wireframe view (Blender render)Blender
Blender and AI11 min read

Making a 3D character with Claude Code, part 1: from one drawing to an easy-to-edit model

Start from one drawing and build an easy-to-edit character model with Blender Python scripts written by Claude Code: the overall flow, what you need, and the kit, drawing, and model stages.

Eight-panel rig test pose sheet: T-pose, A-pose, three-quarter front, side, one foot raised, both arms raised, arms folded together, and a deep bow (Blender render)Blender
Blender and AI14 min read

Making a 3D character with Claude Code, part 2: IK rig, motions, and separate scoring

Add an IK rig and motions to the part 1 model with Claude Code scripts, have a separate reviewer score the show video while you fix it, and finish with two files you edit and dress up by hand.

Three camera views of the character: waving at frame 30, lowering the hand into the bow at frame 58, and bowing with eyes closed at frame 98 (Blender screenshot)Blender
Blender and AI9 min read

Making a 3D character with Claude Code, part 3: building a scene with NLA tracks

In the Blender UI, turn on, move, and blend the muted NLA motion tracks in the finished character file, mixing body and face, to build a scene that goes from a wave into a bow without setting a single key.

Five camera views of the character: hand raised at frame 15, hand slightly lowered at frame 22, rising again at frame 25, eyes closed at frame 43, and bowing at frame 85 (Blender screenshot)Blender
Blender and AI17 min read

Making a 3D character with Claude Code, part 4: chaining Asset Shelf poses and rendering

Set Asset Shelf body poses and faces frame by frame to make your own wave and bow, chain them to NLA tracks with Push Down, render the result as a video, and move the camera.

Low-poly scene of interceptor missiles hitting a drone swarm over the desert, with the title Air Defense (Blender render)Blender
Blender and AI9 min read

Low-poly war animation with Claude Code, part 1: one day, and who did what

With almost no Blender experience, I made five 40-second 3D animations in one day by giving Claude Code instructions in plain words. This part covers that day and splits out what the AI did and what I did.