Keyshot Automation
Consulting : Digital Product Development
In an effort to supplement traditional design work, Sprout Studios created a visualization service in 2020, producing rendered product images for companies like Staples, K&N air filters, CVS, and Maxam Tires. While renderings are a core part of Industrial Design consulting, this service focused on higher SKU-count jobs for web sales. These images were expected to maintain consistency of lighting, material, and style between images.
Covid lockdowns caused a hard transition to DTC web sales which, coupled with decreased access to in-person product photography, did great things for the digital rendering market. The increase in work drove a shift in our business model, making rendering a primary income stream.
The problem:
Renderings take a lot of time and skill… to produce the first image. The 99+ following images just take a lot of time.
Here are a few key insights from my experience working in this industry:
Big Files are Slow : each sku needs to be in a separate file to maintain speed and to avoid errors in file naming.
Consistency is Key : customers might not notice if a rendering isn’t as good as it could be, but they will always notice if it’s different than the others.
Repetition Causes Errors : some people thrive on rote, repetitive tasks. “Creatives”, however, seem to get worse at them over time.
Naming Files Takes Time : the amount of time wasted on incorrect file naming for each sku can be truly staggering.
The gist is… some tasks are better suited to creatives, some are better suited to machines. The concept/initial rendering should be done by humans, the rest really, really shouldn’t.
Assumptions:
We’re going to make a few assumptions based around our customer inputs and company structure.
All of the files in a range of SKUs will be set up in mostly the same way. Orientation, naming, colors…
All of the files in a range of SKUs will be saved in the same place (folder)
Customers want a consistent style (VBL) across all the SKUs in a range
Rendering shops prefer to be faster and more efficient, and to run renderings overnight
Development Roadmap:
Stage 1 - Basic Functionality, PoC (achieved)
1.0 _ Generate and name new Keyshot file (.BIP) for each CAD model in folder ‘A’
1.1 _ Import a ‘template’ file into each new .BIP file
1.2 _ Import the correct CAD model into each .BIP file
1.3 _ Save rendering to Queue
Stage 2 - Extra Efficiency Boosting (achieved)
2.0 _ Apply ‘Material Template’ to each model based on model color, naming, or position
2.1 _ Copy ‘template model’ position, paste to new model
2.2 _ Scale each model to be the same size as ‘template model’
2.3 _ Zoom camera out so each model fills the same amount of the frame
Stage 3 - Improvements for image revisions (achieved)
3.0 _ Modify lighting and rendering settings of each .BIP in folder ‘B’ to match new template
3.1 _ Modify camera position and model scale in each .BIP in folder ‘B’
Stage 4 - Beautification & Additional Features (not yet produced)
4.0 _ Standalone app / GUI (outside of scripting console)
4.1 _ Timing estimation - How long to produce images based on number of files, render quality
4.2 _ Integration with CRM tools for versioning, customer management
General use case after development to Stage 2.3
Output:
After a short run of iterative internal development (me frantically learning python to build these tools), we were able to cut nearly 60% of the active time to produce repetitive images, and eliminated revisions that were a result of inconsistency / user error. Below is a small, small sample of client images produced using these tools.
As this is a purely internal tool, specifically designed to limit the number of users who would ever see it, Stage 4 development was deemed unnecessary, and the tools remain in use as scripts.
But to be honest, most of us just want to see cool Keyshot renderings, so here’s a gallery of images I’m proud of. Some are using my own Keyshot scripting, some were made for projects or to test specific materials, many were for sprout website updates. All were post-processed in photoshop.









