KeyShot Studio
KeyShot Studio is a real-time ray tracing and global illumination program developed by Luxion for rendering 3D models and animations. This guide provides step-by-step instructions for using AWS Deadline Cloud (Deadline Cloud) with KeyShot Studio to render your projects faster by distributing rendering tasks across multiple machines.
Support overview
KeyShot Studio is supported by the following components:
-
Submitter: A sample KeyShot script that submits the open scene to Deadline Cloud and attaches the scene's external file references.
-
Cross-platform compatibility: Submitter support for Windows and macOS with worker support for Windows.
-
Licensing (BYOL): Bring Your Own License for KeyShot rendering on your farm.
KeyShot version compatibility
The following table shows current support levels for Keyshot versions:
| Major Version | Submitter Support | Render Engines | Licensing |
|---|---|---|---|
| 2024 | Windows, macOS | Built-in ray tracer | BYOL required |
| 2025 | Windows, macOS | Built-in ray tracer | BYOL required |
Prerequisites
KeyShot requires Bring Your Own License (BYOL). You must have valid KeyShot licenses available for your render farm fleet. Configure your license server to be accessible from worker nodes. For more information, see Connect service-managed fleets to a custom license server.
To use KeyShot on service-managed fleets, you must create a conda package and host it in a custom conda channel. A sample conda recipe for KeyShot
Before you begin, make sure that you have:
-
A Windows or macOS workstation with a version of KeyShot Studio that's listed in the preceding table.
-
Python 3.11 or later on the workstation, to build the submitter script.
-
The Deadline Cloud CLI with GUI support, installed so that the
deadlinecommand is on yourPATH. The Deadline Cloud monitor installer includes the CLI. For more information, see Set up your workstation. -
Access to an Deadline Cloud queue with Windows workers that can run KeyShot. For more information, see Setting up workers.
Getting started
To use KeyShot with Deadline Cloud:
-
Set up Windows workers that can run KeyShot. For more information, see Setting up workers.
-
Install the Deadline Cloud monitor and CLI on your artist workstation. For more information, see Set up your workstation.
-
Install the KeyShot submitter on your artist workstation. For more information, see Installing the submitter.
Installation
The KeyShot submitter is a script that you run from inside KeyShot to submit jobs to Deadline Cloud.
Installing the submitter
The Deadline Cloud submitter installer doesn't include the KeyShot submitter. The submitter is a single script, Submit to AWS Deadline Cloud.py, that you build from the KeyShot submitter sample
In KeyShot Studio preferences, under General, clear Use local Python paths. This setting prevents the submitter from importing Python libraries that KeyShot doesn't include.
For the build command and the scripts folder location on Windows and macOS, see the KeyShot submitter README
The KeyShot submitter was previously in the deadline-cloud-for-keyshot repository, which is no longer updated. Use the sample for the latest code.
Updating the submitter
To update the submitter, build the script again from the latest version of the sample and replace the copy in your KeyShot scripts folder.
Setting up workers
KeyShot jobs run on Windows workers that have KeyShot Studio installed and licensed. The job doesn't use an application adaptor. It looks for the KeyShot executable in the following order:
-
The
KEYSHOT_EXECUTABLEenvironment variable. -
%KEYSHOT_LOCATION%\bin\keyshot_headless.exe -
keyshot_headless.exeorkeyshoton thePATH.
Set up workers in one of the following ways:
-
Service-managed fleets, or any queue with a conda queue environment: Build a KeyShot conda package with the sample conda recipe that's described in Prerequisites, and host it in your own conda channel. Set the
CondaChannelsdefault in the queue environment to that channel, or enter the channel in the submitter's job settings. The submitter requests the KeyShot conda package that matches the major version of KeyShot that submits the job. For more information, see Creating a queue environment. -
Customer-managed fleets with KeyShot installed on the host: Set
KEYSHOT_EXECUTABLEon the worker, or add the KeyShot installation directory to thePATH. Then clear theCondaPackagesvalue in the job settings.
The job uses TCP ports 9000-9099 on the loopback interface (127.0.0.1) to communicate between its scripts and the KeyShot process. These ports don't need network access.
Using the KeyShot submitter
Preparing your scene
Before submitting a job:
-
Make sure that your scene is saved.
-
Set up your camera angles, materials, and lighting as desired.
-
Configure animation frames if rendering an animation.
Submitting a job
-
Open your scene in KeyShot Studio.
-
Choose Window > Scripting Console.
-
In the Scripting Console, choose Scripts > Submit to AWS Deadline Cloud.
-
Choose Run.
Submission options
When you run the submitter, a dialog asks how you want to handle file attachments.
Choose one of the following options:
-
The scene BIP file and all external file references (Recommended)
-
Automatically packages your scene file and all referenced files. Internally, the submitter creates a KeyShot Package (KSP) which bundles all linked files and uses relative paths.
-
Best for scenes with textures, models, and other external assets.
-
Ensures workers have all necessary files to render your scene.
-
-
Only the scene BIP file
-
Only submits the KeyShot scene file.
-
Use this option if your workers already have access to all referenced files.
-
Requires shared network storage or another method to access external files.
-
Render settings
After selecting your submission option, the Deadline Cloud submitter interface appears. Configure your render settings:
-
Shared job settings.
-
Job Name: Give your job a descriptive name.
-
If you are using the submitter for the first time, you might need to set your farm and queue. To set them, choose the Settings button.
-
-
Job-specific settings.
-
Frames: Specify which frames to render (for example,
1-30for frames 1 through 30). -
Output File Path: Set the location and naming pattern for rendered images. The path must include the file's extension, and the extension must match the output format. Use
%das a placeholder for the frame number. -
Output Format: Choose the image format (PNG, JPEG, EXR, TIFF, PSD).
-
Override KeyShot render device and Render Device: Choose CPU or GPU rendering instead of the device set in the scene. To render on GPU, set the minimum GPUs host requirement to 1.
-
-
Job attachments (optional). Select which files are uploaded and attached to the job. The submitter automatically detects and attaches files by default.
-
Host requirements (optional). Specify which types of hosts are eligible to pick up tasks for this job.
-
Choose Submit to send your job to Deadline Cloud.
Advanced configurations
Using unsupported versions
Deadline Cloud only supports and tests the workstation and worker software versions in the preceding table. When using the submitter, the worker uses the KeyShot version from your custom conda package. Ensure that your custom conda channel contains packages for all KeyShot versions that you intend to use.
If you require an unsupported version of KeyShot, you can build a custom conda recipe and channel for your desired version to be installed on the worker. Use the sample conda recipe for KeyShot
Open source resources
The following KeyShot samples are open source and available in the deadline-cloud-samples repository on the GitHub website: