Skip to content

Quickstart: Sell Licensed Tools on cglounge

Get your first licensed tool live in under 5 minutes.


1. Enable Licensing on Your Product

In your cglounge creator dashboard, open your product and find the Licensing tab.

  1. Toggle "Enable licensing" on.
  2. Choose a license type:
Type Use Case
per-machine Standard indie tools. One key, N machines.
floating Render farm / team usage. Seats checked out by heartbeat.
site Studio-wide. Unlimited machines, one key.

Not sure which to pick?

Start with per-machine. It covers 95% of CG tool use cases and requires zero server config from you.


2. Create Variants

Variants map to your pricing tiers. Each variant gets its own machine limit and price.

Go to Product > Variants > Add Variant and create:

Variant Price Machine Limit Suggested Label
Indie $49 2 indie
Studio $149 5 studio
Site $799 unlimited (-1) site

Machine limit = -1 means unlimited

For site licenses, set maxMachines to -1. The server treats negative values as unrestricted.


3. License Generation Is Automatic

When a customer purchases your product, the cglounge webhook fires. The license server:

  1. Receives the purchase event.
  2. Creates a license for the correct variant.
  3. Emails the license key to the customer.

You do nothing. No manual key generation. No spreadsheets.

Webhook setup required (one-time)

cglounge staff configure the webhook endpoint for your account. If you are onboarding for the first time, contact support to activate the integration. After that, all purchases are fully automatic.


4. Customer Activation Flow

Your customer:

  1. Gets an email with their license key (format: XXXX-XXXX-XXXX-XXXX-XXXX).
  2. Opens your tool in Houdini (or wherever it runs).
  3. Enters the key in the license field.
  4. The SDK activates the machine and caches a signed offline token locally.

After activation, the tool works offline for 30 days before it needs to re-validate.


5. Integrate the Python SDK

Download the SDK from the home page and unzip into your project's vendor/ folder. Then add this to your startup code:

from cg_license import LicenseClient

client = LicenseClient(
    server_url="https://us-central1-cg-license-server.cloudfunctions.net",
    product_id="your-tool-name",
    product_salt="unique-secret-for-your-tool"
)

if client.check_license():
    run_tool()

Where do I get product_id and product_salt?

Both are shown in your cglounge creator dashboard under Product > Licensing > SDK Config. The salt is unique to your product and never shared with customers.

The SDK handles:

  • Machine fingerprint generation
  • Token caching in the user's local config dir
  • Offline validation (RS256 JWT, no network needed)
  • Auto-refresh when the token is within 7 days of expiry

6. Test the Flow

Before shipping, verify everything works end to end.

  1. In your dashboard, go to Product > Licensing > Test.
  2. Click Generate Trial Code (valid for 24 hours, 1 machine).
  3. Run your tool locally and enter the trial key.
  4. Confirm activation succeeds and your tool launches.
  5. Disconnect from the internet and relaunch. Offline token should validate instantly.

Next Steps