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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.