BLENDER(1)

πŸ“¦ version 4.5.1, in opensuse-leap 16.0

πŸ’– NAME πŸ’–

okay so blender β€” it's a full-featured 3D application, bestie. that's the whole name. iconic, honestly.


✨ SYNOPSIS ✨

blender [args ...] [file] [args ...]

🌸 DESCRIPTION 🌸

okay so blender is a full-featured 3D application and no cap, it does everything. like, the entirety of the 3D pipeline?? modeling, rigging, animation, simulation, rendering, compositing, motion tracking, and video editing. all of it. one app. main character energy fr fr πŸ’…

you use Blender to create 3D images and animations, films and commercials, content for games, architectural and industrial visualizations, and scientific visualizations. literally all the visuals. every single one. πŸ¦‹

https://www.blender.org β€” go there, iykyk 🫢


πŸ‘‘ OPTIONS πŸ‘‘

quick vibe check on how you call it:

Usage: blender [args ...] [file] [args ...]

πŸ”₯ Render Options:

  • -b or --background β€” run in background (often used for UI-less rendering). ngl this is the workhorse mode.
heads up bestie: the audio device is disabled in background-mode by default and can be re-enabled by passing in -setaudio Default afterwards. don't forget or you'll be sitting there like ??? where's my sound 😭
  • -a or --render-anim β€” render frames from start to end (inclusive). the whole run, start to finish, periodt.
  • -S or --scene <name> β€” set the active scene <name> for rendering. pick your scene, queen πŸ‘‘
  • -f or --render-frame <frame> β€” render frame <frame> and save it. and there's lore here:
    • +<frame> = start frame relative, -<frame> = end frame relative.
    • a comma separated list of frames can also be used (no spaces).
    • a range of frames can be expressed using .. separator between the first and last frames (inclusive).
  • -s or --frame-start <frame> β€” set start to frame <frame>, supports +/- for relative frames too.
  • -e or --frame-end <frame> β€” set end to frame <frame>, supports +/- for relative frames too.
  • -j or --frame-jump <frames> β€” set number of frames to step forward after each rendered frame.
  • -o or --render-output <path> β€” set the render path and file name. use // at the start of the path to render relative to the blend-file.

you can use path templating features such as {blend_name} in the path. see Blender's documentation on path templates for more details πŸ“š

the # characters are replaced by the frame number, and used to define zero padding. watch it happen:

  • animation_##_test.png becomes animation_01_test.png
  • test-######.png becomes test-000001.png

when the filename does not contain #, the suffix #### is added to the filename.

the frame number will be added at the end of the filename, eg:

# blender -b animation.blend -o //render_ -F PNG -x 1 -a

//render_ becomes //render_####, writing frames as //render_0001.png

  • -E or --engine <engine> β€” specify the render engine. use -E help to list available engines. slay, listing your options ✨
  • -t or --threads <threads> β€” use amount of <threads> for rendering and other operations [1-1024], 0 to use the systems processor count.

🌈 Cycles Render Options:

⭐ Cycles add-on options must be specified following a double dash. yes, the --. do not forget the --. πŸ’€
  • --cycles-device <device> β€” set the device used for rendering. valid options are: 'CPU' 'CUDA' 'OPTIX' 'HIP' 'ONEAPI' 'METAL'.

append +CPU to a GPU device to render on both CPU and GPU. best of both worlds, we love to see it 🫢

example:

# blender -b file.blend -f 20 -- --cycles-device OPTIX
  • --cycles-print-stats β€” log statistics about render memory and time usage. the receipts, basically 🧾

πŸŽ€ Format Options:

  • -F or --render-format <format> β€” set the render format. valid options are: 'TGA' 'RAWTGA' 'JPEG' 'IRIS' 'AVIRAW' 'AVIJPEG' 'PNG' 'BMP' 'HDR' 'TIFF'.

formats that can be compiled into Blender, not available on all systems: 'OPEN_EXR' 'OPEN_EXR_MULTILAYER' 'FFMPEG' 'CINEON' 'DPX' 'JP2' 'WEBP'. so if one of these is ghosting you, that's why πŸ™ˆ

  • -x or --use-extension <bool> β€” set option to add the file extension to the end of the file.

πŸ¦‹ Animation Playback Options:

  • -a <options> <file(s)> β€” instead of showing Blender's user interface, this runs Blender as an animation player, to view movies and image sequences rendered in Blender (ignored if -b is set).

Playback Arguments:

  • -p <sx> <sy> β€” open with lower left corner at <sx>, <sy>.
  • -m β€” read from disk (do not buffer).
  • -f <fps> <fps_base> β€” specify FPS to start with.
  • -j <frame> β€” set frame step to <frame>.
  • -s <frame> β€” play from <frame>.
  • -e <frame> β€” play until <frame>.
  • -c <cache_memory> β€” amount of memory in megabytes to allow for caching images during playback. zero disables (clamping to a fixed number of frames instead). 🎬

πŸ’œ Window Options:

  • -w or --window-border β€” force opening with borders. the contained look πŸ’…
  • -W or --window-fullscreen β€” force opening in full-screen mode. maximalist era.
  • -p or --window-geometry <sx> <sy> <w> <h> β€” open with lower left corner at <sx>, <sy> and width and height as <w>, <h>.
  • -M or --window-maximized β€” force opening maximized.
  • -con or --start-console β€” start with the console window open (ignored if -b is set), (Windows only).
  • --no-native-pixels β€” do not use native pixel size, for high resolution displays (MacBook 'Retina').
  • --no-window-focus β€” open behind other windows and without taking focus. shy girlie behavior, honestly 🫣

🐍 Python Options:

  • -y or --enable-autoexec β€” enable automatic Python script execution.
  • -Y or --disable-autoexec β€” disable automatic Python script execution (Python-drivers & startup scripts), (default). yes, safe mode is the default, and that's on purpose bestie.
  • -P or --python <filepath> β€” run the given Python script file.
  • --python-text <name> β€” run the given Python script text block.
  • --python-expr <expression> β€” run the given expression as a Python script.
  • --python-console β€” run Blender with an interactive console. we love a little REPL moment πŸŽ€
  • --python-exit-code <code> β€” set the exit-code in [0..255] to exit if a Python exception is raised (only for scripts executed from the command line), zero disables.
  • --python-use-system-env β€” allow Python to use system environment variables such as 'PYTHONPATH' and the user site-packages directory.
  • --addons <addon(s)> β€” comma separated list (no spaces) of add-ons to enable in addition to any default add-ons.

🌐 Network Options:

  • --online-mode β€” allow internet access, overriding the preference.
  • --offline-mode β€” disallow internet access, overriding the preference.

it's giving airplane mode with boundaries and honestly, respect πŸ¦‹

πŸ“ Logging Options:

  • --log <match> β€” enable logging categories, taking a single comma separated argument.

multiple categories can be matched using a .* suffix, so --log "wm.*" logs every kind of window-manager message. sub-string can be matched using a * prefix and suffix, so --log "*undo*" logs every kind of undo-related message. use ^ prefix to ignore, so --log "*,^wm.operator.*" logs all except for 'wm.operators.*'. use * to log everything. the wildcard lore goes deep and it EATS πŸ”₯

  • --log-level <level> β€” set the logging verbosity level (higher for more details) defaults to 1, use -1 to log all levels.
  • --log-show-basename β€” only show file name in output (not the leading path).
  • --log-show-backtrace β€” show a back trace for each log message (debug builds only).
  • --log-show-timestamp β€” show a timestamp for each log message in seconds since start.
  • --log-file <filepath> β€” set a file to output the log to.

πŸ’€ Debug Options:

  • -d or --debug β€” turn debugging on. and it does a lil trio of things:
    • enables memory error detection
    • disables mouse grab (to interact with a debugger in some cases)
    • keeps Python's 'sys.stdin' rather than setting it to None
  • --debug-value <value> β€” set debug value of <value> on startup.
  • --debug-events β€” enable debug messages for the event system.
  • --debug-ffmpeg β€” enable debug messages from FFmpeg library.
  • --debug-handlers β€” enable debug messages for event handling.
  • --debug-libmv β€” enable debug messages from libmv library.
  • --debug-cycles β€” enable debug messages from Cycles.
  • --debug-memory β€” enable fully guarded memory allocation and debugging.
  • --debug-jobs β€” enable time profiling for background jobs.
  • --debug-python β€” enable debug messages for Python.
  • --debug-depsgraph β€” enable all debug messages from dependency graph.
  • --debug-depsgraph-eval β€” enable debug messages from dependency graph related on evaluation.
  • --debug-depsgraph-build β€” enable debug messages from dependency graph related on graph construction.
  • --debug-depsgraph-tag β€” enable debug messages from dependency graph related on tagging.
  • --debug-depsgraph-no-threads β€” switch dependency graph to a single threaded evaluation.
  • --debug-depsgraph-time β€” enable debug messages from dependency graph related on timing.
  • --debug-depsgraph-pretty β€” enable colors for dependency graph debug messages. pretty debug ✨
  • --debug-depsgraph-uid β€” verify validness of session-wide identifiers assigned to ID data-blocks.
  • --debug-ghost β€” enable debug messages for Ghost (Linux only).
  • --debug-wintab β€” enable debug messages for Wintab.
  • --debug-gpu β€” enable GPU debug context and information for OpenGL 4.3+.
  • --debug-gpu-force-workarounds β€” enable workarounds for typical GPU issues and disable all GPU extensions.
  • --debug-gpu-compile-shaders β€” compile all statically defined shaders to test platform compatibility.
  • --debug-gpu-vulkan-local-read β€” force Vulkan dynamic rendering local read when supported by device.
  • --debug-wm β€” enable debug messages for the window manager, shows all operators in search, shows keymap errors.
  • --debug-all β€” enable all debug messages. go big or go home πŸ’…
  • --debug-io β€” enable debug messages for I/O (Collada, ...).
  • --debug-fpe β€” enable floating-point exceptions.
  • --debug-exit-on-error β€” immediately exit when internal errors are detected.
  • --debug-freestyle β€” enable debug messages for Freestyle.
  • --disable-crash-handler β€” disable the crash handler.
  • --disable-abort-handler β€” disable the abort handler.
  • --verbose <verbose> β€” set the logging verbosity level for debug messages that support it.
  • -q or --quiet β€” suppress status printing (warnings & errors are still printed). so it's quiet, not silent. warnings and errors still get to speak πŸ—£οΈ

⭐ GPU Options:

  • --gpu-backend β€” force to use a specific GPU backend. valid options: 'opengl' or 'vulkan'.

and there's more coming bestie, don't go anywhere πŸƒβ€β™€οΈπŸ’¨

  • --gpu-compilation-subprocesses β€” overrides the Max Compilation Subprocesses setting. heads up bestie: this one's OpenGL only πŸ’…
  • --profile-gpu β€” turns on CPU & GPU performance profiling for GPU debug groups, and it drops a profile.json file in the Trace Event Format right into your current directory ✨ (yes, an actual file, on your actual disk, bestie)

πŸŽ€ Misc Options πŸŽ€

  • --open-last β€” opens the most recently opened blend file instead of the default startup file. the way it just knows which one you meant 😭
  • --app-template <template> β€” sets the application template (matching the directory name). use 'default' for none.
  • --factory-startup β€” skips reading the 'startup.blend' in the users home directory. fresh slate energy ✨
  • --enable-event-simulate β€” enables the event simulation testing feature 'bpy.types.Window.event_simulate'.
  • --env-system-datafiles β€” sets the BLENDER_SYSTEM_DATAFILES environment variable.
  • --env-system-scripts β€” sets the BLENDER_SYSTEM_SCRIPTS environment variable.
  • --env-system-extensions β€” sets the BLENDER_SYSTEM_EXTENSIONS environment variable.
  • --env-system-python β€” sets the BLENDER_SYSTEM_PYTHON environment variable.
  • -noaudio β€” forces the sound system to None. silence. iconic. 🀫
  • -setaudio β€” forces the sound system to a specific device. the valid ones are 'None' 'Default' 'SDL' 'OpenAL' 'CoreAudio' 'JACK' 'PulseAudio' 'WASAPI' 🎧
  • -c or --command <command> β€” runs a command which consumes all remaining arguments. use -c help to list all the other commands, and pass --help after the command to see its help text. heads up: this implies --background mode 🫢
  • -h or --help β€” prints this help text and exits. the classic.
  • /? β€” prints this help text and exits (Windows only).
  • -r or --register β€” registers the blend-file extension for the current user, then exits (Windows & Linux only).
  • --register-allusers β€” registers the blend-file extension for all users, then exits (Windows & Linux only).
  • --unregister β€” unregisters the blend-file extension for the current user, then exits (Windows & Linux only).
  • --unregister-allusers β€” unregisters the blend-file extension for all users, then exits (Windows & Linux only).
  • -v or --version β€” prints the Blender version and exits.
  • -- β€” ends option processing, and the following arguments are passed through unchanged. you reach them via Python's 'sys.argv' 🐍

🌈 Other Options 🌈

  • --disable-depsgraph-on-file-load β€” background mode only: don't systematically build and evaluate ViewLayers' dependency graphs when loading a blend-file in background mode (the -b or -c options).

scripts that need evaluated data then have to explicitly ensure an evaluated depsgraph is available (e.g. by calling depsgraph = context.evaluated_depsgraph_get()).

NOTE: this is a temporary option. in the future the depsgraph will never be automatically generated on file load in background mode. so don't get attached πŸ’€
  • --disable-liboverride-auto-resync β€” don't perform the library override automatic resync when loading a new blend-file.
NOTE: this is an alternative way to get the same effect as setting the 'No Override Auto Resync' User Preferences Debug option.

🧚 Argument Parsing 🧚

Arguments must be separated by white space, like:

# blender -ba test.blend

…and this one will just exit, because -ba is an unknown argument. rude but fair 😭

πŸ’œ Argument Order πŸ’œ

Arguments are executed in the order you give them. gen explainer incoming:

# blender --background test.blend --render-frame 1 --render-output "/tmp"

…this one will not render to '/tmp', because --render-frame 1 renders before the output path is even set. tragic timing 🫠

# blender --background --render-output /tmp test.blend --render-frame 1

…this will also not render to '/tmp', because loading the blend-file overwrites the render output that was set. betrayal.

# blender --background test.blend --render-output /tmp --render-frame 1

…and this one works as expected. slay. order matters, bestie πŸ”₯

🌸 ENVIRONMENT VARIABLES 🌸

  • $BLENDER_USER_RESOURCES β€” replaces the default directory of all user files. other 'BLENDER_USER_*' variables override it when set.
  • $BLENDER_USER_CONFIG β€” directory for user configuration files.
  • $BLENDER_USER_SCRIPTS β€” directory for user scripts.
  • $BLENDER_USER_EXTENSIONS β€” directory for user extensions.
  • $BLENDER_USER_DATAFILES β€” directory for user data files (icons, translations, ..).
  • $BLENDER_SYSTEM_RESOURCES β€” replaces the default directory of all bundled resource files.
  • $BLENDER_SYSTEM_SCRIPTS β€” directories to add extra scripts.
  • $BLENDER_SYSTEM_EXTENSIONS β€” directory for the system extensions repository.
  • $BLENDER_SYSTEM_DATAFILES β€” directory to replace bundled datafiles.
  • $BLENDER_SYSTEM_PYTHON β€” directory to replace bundled Python libraries.
  • $BLENDER_CUSTOM_SPLASH β€” full path to an image that replaces the splash screen 🎨
  • $BLENDER_CUSTOM_SPLASH_BANNER β€” full path to an image to overlay on the splash screen.
  • $OCIO β€” path to override the OpenColorIO configuration file.
  • $TMPDIR β€” store temporary files here (UNIX Systems). the path must reference an existing directory or it will be ignored. no cap, it'll just shrug πŸ™ˆ

⭐ SEE ALSO ⭐

luxrender(1)

πŸ‘‘ AUTHORS πŸ‘‘

This manpage was written for a Debian GNU/Linux system by Daniel Mester <mester@uni-bremen.de> and updated by Cyril Brulebois <cyril.brulebois@enst-bretagne.fr> and Dan Eicher <dan@trollwerks.org>. absolute icons, all three of them 🫢


and that's the whole page, bestie πŸ’– this beauty is from Blender 4.5.1 LTS, dated August 04, 2025, filed under the name BLENDER(1). go forth and render responsibly βœ¨πŸŽ€

πŸ“¦ where this page comes from