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.
- Toggle "Enable licensing" on.
- 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:
- Receives the purchase event.
- Creates a license for the correct variant.
- 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:
- Gets an email with their license key (format:
XXXX-XXXX-XXXX-XXXX-XXXX). - Opens your tool in Houdini (or wherever it runs).
- Enters the key in the license field.
- 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.
- In your dashboard, go to Product > Licensing > Test.
- Click Generate Trial Code (valid for 24 hours, 1 machine).
- Run your tool locally and enter the trial key.
- Confirm activation succeeds and your tool launches.
- Disconnect from the internet and relaunch. Offline token should validate instantly.
Next Steps¶
- Python SDK full docs - error handling, custom UI prompts, Houdini HDA
- Creator Guide - anti-piracy settings, threat level tuning, blacklisting
- API Reference - direct API access if you need custom integrations