SolidlyDocs
Command line

solidly render

solidly render <file-or-folder> [options]
solidly -r <file-or-folder> [options]

Renders one image per model using the same renderer the application uses, with no window and no user interaction.

Examples

Render every supported model under a folder from the front:

solidly render ~/Models --output ~/Renders --preset front --resolution 3840x2160

Render one glTF with a transparent background:

solidly render ~/Models/Chair/chair.gltf --output ~/Renders --preset isometric --transparent --format png

Place the camera exactly:

solidly render ~/Models/chair.gltf --output ~/Renders --camera-position 2,1.5,3 --camera-target 0,0,0 --fov 35 --resolution 2400x1600

A complete production invocation:

solidly -r ~/Models/Chair/chair.gltf -o ~/Renders --resolution 3840x2160 --preset isometric --anti-aliasing 4 --tone-mapping pbr-neutral --light-direction 0.25,-1,-0.4 --light-color '#ffffff' --light-intensity 2.2 --ambient-sky-color '#ffffff' --ambient-ground-color '#8c8c8c' --ambient-intensity 0.35 --bloom true --bloom-intensity 0.15 --exposure 0.5 --contrast 1 --saturation 1 --gamma 1

Every option is optional. An option that is not given takes the default shown, and the defaults are the same on every Mac except where the table says otherwise. Progress is written to standard output, one line per model loaded and per image saved.

Output

OptionDescriptionDefault
--output, -o <folder>Output folder, created if it does not existThe current directory
--resolution <WIDTHxHEIGHT>Output dimensions, for example 1920x10801920x1080
--width <pixels>Output width. Overrides the width of --resolution when both are given1920
--height <pixels>Output height. Overrides the height of --resolution when both are given1080
--format <format>png, jpg, heic, or tiffpng

--transparent cannot be combined with --format jpg, since JPEG has no alpha channel.

Camera

OptionDescriptionDefault
--preset <name>front, back, left, right, top, bottom, or isometricisometric
--fov <degrees>Perspective vertical field of view, greater than or equal to 1 and less than 17550
--orthographicUse an orthographic cameraPerspective
--ortho-height <value>Orthographic vertical size, in normalized scene unitsFitted to the model
--camera-position <x,y,z>Exact camera positionFrom the preset
--camera-target <x,y,z>Exact look-at targetThe centre of the model
--camera-yaw <degrees>Orbit camera yawFrom the preset
--camera-pitch <degrees>Orbit camera pitchFrom the preset
--camera-distance <value>Orbit camera distanceFitted to the model
--camera-index <index>Use an authored camera by zero-based index instead of an orbit cameraNot used
--padding <value>Space left around the model when the camera is fitted to it1.08
--near <distance>Manual near clipping planeAutomatic
--far <distance>Manual far clipping planeAutomatic

Depth of field

OptionDescriptionDefault
--dof <true|false>Enable or disable depth of fieldfalse
--focus-distance <value>Manual focus distance3
--aperture <value>Aperture5.6

Background and environment

OptionDescriptionDefault
--transparentTransparent background, with the skybox disabledOff
--background <#RRGGBB>Solid background colour#FFFFFF
--skybox <name|off>Draw a named environment behind the model: Studio, Glass House, or Sky. off draws the background colouroff
--image-based-lighting <true|false>Light the model with the environment imagetrue

Without --skybox, the environment still lights the model but is not drawn behind it. The environment used for lighting is the one the model authors, such as a USD dome light, and Studio when the model authors none.

Lighting

OptionDescriptionDefault
--light-direction <x,y,z>Directional light vector0,-1,0
--light-color <#RRGGBB>Directional light colour#FFFFFF
--light-intensity <value>Directional light intensity2.2
--ambient-sky-color <#RRGGBB>Ambient sky colour#FFFFFF
--ambient-ground-color <#RRGGBB>Ambient ground colour#8C8C8C
--ambient-intensity <value>Ambient light intensity0.35

Image quality and grading

OptionDescriptionDefault
--anti-aliasing <samples>1, 2, 4, or 84
--post-processing <true|false>Post-processing master switchtrue
--dither <true|false>Output ditheringtrue
--tone-mapping <mode>linear, reinhard, aces, filmic, or pbr-neutralreinhard
--bloom <true|false>Bloom master switchtrue
--bloom-threshold <value>Bloom brightness threshold0
--bloom-soft-knee <0…1>Bloom transition softness0.5
--bloom-intensity <value>Bloom strength0.15
--bloom-radius <0…1>Bloom spread0.5
--exposure <value>Colour-grading exposure0.5
--contrast <value>Colour-grading contrast1
--saturation <value>Colour-grading saturation1
--vibrance <value>Colour-grading vibrance0
--gamma <value>Colour-grading gamma1

Material features

Each of these switches one contribution on or off, in the same way the Render tab's channel switches do. All of them are on by default.

OptionDescription
--normal-maps <true|false>Normal maps
--clearcoat <true|false>Clearcoat materials
--sheen <true|false>Sheen materials
--transmission <true|false>Transmission materials
--volume <true|false>Volume materials
--iridescence <true|false>Iridescence materials
--anisotropy <true|false>Anisotropy materials
--specular <true|false>Specular materials
--diffuse-transmission <true|false>Diffuse-transmission materials

USD and animation

OptionDescriptionDefault
--complexity, -c <level>Subdivision complexity: auto, low, medium, high, or veryhighThe value set in Settings ▸ USD
--payloads <policy>Payload loading: automatic, all, top-level, or noneautomatic
--animation-time <seconds>Seek the active animation to this time before capturingThe first frame

When a stage subdivides, each model's progress line reports the complexity that was applied. If the face budget for the Mac lowered the requested level, the line names both levels and the budget. See Subdivision.

--complexity applies to USD only. STEP and IGES files are rendered at the level Auto chooses; see Complexity.

Output file names

For a single file, the name is the model's own with its format appended, followed by the camera preset:

chair-gltf-isometric.png

For a folder, the name is the model's path relative to the folder, with / replaced by __:

Furniture__Chair__chair-gltf-front.png
Vehicles__Car__car-glb-front.png

Keeping the source format in the name stops a sibling model.usda and model.usdz overwriting each other during one folder render.

Exit status and errors

Each model is rendered independently. A model that fails to load or render is reported on standard error, together with the same load diagnostics the application would show, and the run continues with the next model. The exception is a model that exceeds the import memory limit while it is loading, which stops the run with exit status 78; see The solidly command.

The command exits with a success status when every model rendered, and with a failure status when any did not, after reporting how many failed.

If Solidly is locked on the Mac, the command renders nothing, reports the reason on standard error, and exits with a failure status. See Trial and purchase.