Set up Helix Render
You must integrate Helix Search with Helix Render. Helix Render is a service that processes 3D assets from Helix Search's render queue and creates a preview of the image.
The Helix Render service is in Technology Preview. Features offered in Technology Preview are experimental and not guaranteed to always work as expected. If you have feedback and functionality suggestions, email techpreview@perforce.com.
Overview
Helix Render is a service that processes 3D assets from Helix Search's render queue and creates a preview of the image. The previews are stored in the Helix Core Server as an attribute on the asset's versioned revision file. The previews can then be used by Helix Search for Artificial Intelligence (AI) tagging and for generating thumbnail or blur images.
The Helix Render service uses background processes, called workers, to poll the render queue in Helix Search. You can have multiple workers to help manage the render queue load. Helix Render can be installed on multiple hosts.
System diagram
The following diagram shows how Helix Render integrates with Helix Search and Helix Core Server.
When an asset is submitted and is suitable for rendering, Helix Search adds it to the render queue. Workers poll the Helix Search render queue looking for a new asset to process. When a worker finds a new asset to process, the worker fetches the asset and associated texture files from Helix Core Server by using the p4 print command. The worker then renders the 3D asset files to produce a preview file in JPEG format (and, optionally, in GLB format). These generated files are then added back to Helix Core Server as binary attributes using p4 attributes on the 3D asset's revision (with the attribute names 'preview' and 'model').
The update to the asset revision's attributes triggers a further re-index of the asset now using the rendered preview for thumbnail, blur, and AI detection.
Requirements
The Helix Render requirements for Helix Search are:
-
Each instance of Helix Render needs at least 4GB of memory and a single CPU.
-
The host system must support Docker, and the user deploying the Docker container must have permissions to access Docker. For more information about Docker, see:
-
(Optional) A 3D graphics card to improve render performance.
-
Helix Render requires the Helix Search Index user to use an all-hosts ticket.
-
Helix Render requires Helix Core Server 2024.1 or later.
Ensure that the trait.storagedepot.min configurable in the Helix Core Server is set to a value of 1024:
p4 configure set trait.storagedepot.min=1024
For more information about trait.storagedepot.min configurable, see Configurables reference in the Helix Core Server Administration Documentation.
-
Skeleton (rigging) support in Helix DAM requires Helix Render 2025.1.
Install Helix Render
Helix Render is provided as a Helix Render Docker image.
Deploy as a local render service
To launch Helix Render with Docker, run the following Docker commands on your local host:
-
Fetch the Helix Render Docker container:
docker pull perforce/helix-render
-
Run the Helix Render service, providing the X-Auth-Token and the IP address of Helix Search:
docker run --restart always -d perforce/helix-render python3 /opt/perforce/helix-render/src/preview_generator.py -m worker -S http://<helix-search-url>:1601 -x <X-Auth-Token>
You can run multiple instances with one command. For example, run 10 instances:
for i in {1..10}; do docker run --restart always -d --name "${i}_render" artifactory.bnr.perforce.com/helix-p4search-dev/helix-render python3 /opt/perforce/helix-render/src/preview_generator.py -m worker -S http://<helix-search-url>:1601 -x <X-Auth-Token>; done
Next step
Configure the Helix Render service for Helix Search. See Rendering configuration.
For more information about the render queue API endpoints, see Access the Swagger REST API .