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.

Helix Render service

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

If you are upgrading to Helix Search 2025.1, you must also upgrade to Helix Render 2025.1

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:

  1. Fetch the Helix Render Docker container:

    docker pull perforce/helix-render

  2. 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 .