Translucid provides a REST API for provisioning DRM-encrypted virtual machines with real-time browser streaming. Each session runs an isolated VM with a full browser environment, protected by screen capture prevention, forensic watermarking, and configurable security controls.
https://api.translucid.cloudsk_live_...)
All API requests require authentication via an API key passed in the Authorization header.
Authorization: Bearer sk_live_your_api_key_here
API keys are generated from the Account page. Keys starting with sk_live_ are production keys. Keep them secret — never expose in client-side code.
| Environment | URL |
|---|---|
| Production | https://api.translucid.cloud |
All endpoints are relative to the base URL. For example, creating a session is POST /sessions/v1.
/sessions/v1Provisions a new DRM-encrypted VM session. The VM boots with the specified environment, opens the startup URL(s), and returns a player URL for real-time streaming.
| Parameter | Type | Required | Description |
|---|---|---|---|
startupUrl | string | string[] | Yes | URL(s) to open in the VM browser. Supports 1–50 URLs. |
environment.environmentId | string | No | VM template. Default: intel-firefox-001 |
system.machineProfile | string | No | Compute tier. Default: vcpu4-ram16-standard |
system.screenWidth | number | No | Screen width in pixels. Default: 1280 |
system.screenHeight | number | No | Screen height in pixels. Default: 720 |
system.screenFps | number | No | Frame rate. Default: 25 |
system.bitrateKbps | number | No | Video bitrate. Default: 2000 |
session.durationMinutes | number | No | Session length (15–360). Default: 60 |
session.startPolicy | string | No | immediate, onDemand, or scheduled |
input.micEnabled | boolean | No | Enable microphone forwarding |
input.webcamEnabled | boolean | No | Enable webcam forwarding |
security.fullscreenEnforcement | boolean | No | Require fullscreen mode. Default: true |
security.acousticLeakDetection | boolean | No | Detect audio on external devices |
security.spotlightMode | boolean | No | Blur screen except near cursor |
curl -X POST https://api.translucid.cloud/sessions/v1 \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"startupUrl": "https://example.com",
"environment": { "environmentId": "intel-chromium-001" },
"system": { "machineProfile": "vcpu4-ram16-standard" },
"session": { "durationMinutes": 60 }
}'
{
"session": {
"id": "a5be3cf2-...",
"status": "provisioning",
"playerUrl": "https://api.translucid.cloud/player/a5be3cf2-...",
"expiresAt": "2025-02-18T12:00:00Z"
},
"startup_page_url": "https://api.translucid.cloud/s/a5be3cf2-..."
}
/sessions/v1/:idRetrieve details of an existing session by ID.
{ "session": { "id": "...", "status": "ready", "publicIp": "3.16.10.34", ... } }
/sessions/v1List all sessions for your organization. Returns active, ended, and terminated sessions.
/sessions/v1/:idImmediately terminates the VM and ends the session. This action cannot be undone.
/sessions/v1/:id/runtimeUpdate security settings and input controls on a running session. Changes are pushed to connected clients instantly via WebSocket.
| Parameter | Type | Description |
|---|---|---|
runtimeSettings.fullscreenEnforcement | boolean | Toggle fullscreen requirement |
runtimeSettings.acousticLeakDetection | boolean | Toggle acoustic monitoring |
runtimeSettings.spotlightMode | boolean | Toggle spotlight blur |
runtimeSettings.keyboardEnabled | boolean | Toggle keyboard input |
runtimeSettings.mouseEnabled | boolean | Toggle mouse input |
runtimeSettings.conferenceEnabled | boolean | Toggle video conference |
Push new URLs to a running session's startup page. The URLs appear live with a notification sound.
{
"pushUrl": [
{ "url": "https://docs.example.com", "title": "Documentation" },
{ "url": "https://figma.com/file/..." }
]
}
Each environment is a pre-built VM template with a specific OS, browser, and DRM configuration.
| ID | Browser | DRM | Webcam |
|---|---|---|---|
intel-firefox-001 | Firefox | Yes | Yes |
intel-chromium-001 | Chromium | Yes | Yes |
intel-xfce-prod-001 | XFCE Desktop | Yes | Yes |
Choose a compute tier based on your workload requirements.
| Profile | vCPU | RAM | Use Case |
|---|---|---|---|
vcpu2-ram4-economy | 2 | 4 GB | Light browsing, document viewing |
vcpu2-ram8-standard | 2 | 8 GB | Standard web applications |
vcpu4-ram16-standard | 4 | 16 GB | Rich web apps, video conferencing |
vcpu8-ram32-performance | 8 | 32 GB | Heavy workloads, IDEs, design tools |
vcpu4-ram16-gpu | 4 + GPU | 16 GB | 3D rendering, GPU-accelerated tasks |
Sessions are billed per minute of active VM time. Pricing varies by machine profile.
| Profile | Per Minute | Per Hour |
|---|---|---|
| Economy (2 vCPU / 4 GB) | 4 credits | 240 credits |
| Standard (2 vCPU / 8 GB) | 6 credits | 360 credits |
| Standard Plus (4 vCPU / 16 GB) | 12 credits | 720 credits |
| Performance (8 vCPU / 32 GB) | 16 credits | 960 credits |
| Graphics (4 vCPU / 16 GB + GPU) | 20 credits | 1,200 credits |
Prices are estimates and may vary. Contact sales for volume discounts.
| Status | Code | Description |
|---|---|---|
| 400 | validation_error | Invalid request parameters |
| 401 | unauthorized | Missing or invalid API key |
| 404 | not_found | Session not found |
| 409 | conflict | Session already terminated |
| 429 | rate_limited | Too many requests |
| 500 | internal_error | Server error — retry with backoff |
{ "error": "Description of what went wrong", "code": "error_code" }