I'm trying to run Blender as a background process via batch process (or directly from the command line), neither seem to work. Has anyone done this before? I'm using the following pages for guidance:

When rendering, it should use the info in the .blend file (.PNG vs AVI, frame rate, etc.) by default. For both of these, there is a file called ANIMATION.blend already created.

Here is the FIRST script, to render in the background:

cd\program files\blender foundation\blender
blender -b C:\pathtofile\ANIMATION.blend -o C:\pathtofile\renders\ -x

It gives me:

found bundled python: C:\Program Files\Blender Foundation\Blender\2.78\python
read blend: C:\pathtofile\ANIMATION.blend 

Blender quit

But does not actually render anything, either in /tmp, or the output file above, or the one in the .blend file already.

If I just render the animation via the in Blender GUI, it works fine.

Any ideas? Is it broken or am I doing something wrong?


1 Answer 1


You haven't given the command to render the animation, which is -a. The command line isn't just for rendering, so unless you explicitly tell blender you want to render, it won't.

Your first command should look like this:

blender -b C:\pathtofile\ANIMATION.blend -o C:\pathtofile\renders\ -x -a
  • $\begingroup$ Thanks, that worked! Now I have a new problem, it says there is no camera present, I'll figure that one out myself. $\endgroup$
    – J Rowoldt
    Oct 10, 2016 at 23:25
  • $\begingroup$ Creating the animation .blend file from the command line still doesn't work, though. :) $\endgroup$
    – J Rowoldt
    Oct 10, 2016 at 23:26
  • $\begingroup$ 'No camera present' means there isn't a camera in the file that it can render from. You have to add a camera object. As for the animation file, it probably means there is an error in your Python script. $\endgroup$ Oct 10, 2016 at 23:36
  • $\begingroup$ Thanks again! Solved it with the follow line, highlighted: $\endgroup$
    – J Rowoldt
    Oct 11, 2016 at 17:33
  • $\begingroup$ cam = bpy.data.cameras.new("Camera") cam_obj = bpy.data.objects.new("Camera", cam) bpy.context.scene.objects.link(cam_obj) bpy.context.scene.camera = cam_obj <--added this line $\endgroup$
    – J Rowoldt
    Oct 11, 2016 at 17:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .