# DX.GL Portal Guide
How to use the DX.GL portal to create product videos from 3D models.
---
## Getting Started
DX.GL turns 3D models into production-ready turntable videos. The workflow is:
1. Upload a GLB, glTF, or ZIP file
2. Configure render settings (aspect ratio, background, duration, surface effects)
3. Receive an MP4 video, a web-optimized variant, a thumbnail video, and a WebP poster image
New accounts include **3 free preview credits**. Preview renders produce watermarked output so you can verify your model looks correct before purchasing credits. Every upload also triggers a free **system preview** — a lightweight thumbnail that confirms model integrity within seconds.
The portal has four main tabs:
- **Library** — Upload models, browse your model library, open model details
- **Render** — Configure and submit render jobs (single or batch)
- **Videos** — Browse, download, share, and export finished videos
- **Datasets** — Browse, download, and export vision training datasets
---
## Uploading Models
The Library tab has three sub-panels: **Models**, **Upload**, and **Import**.
### File Upload
Click **Upload** in the Library tab, then drag-and-drop or click to select GLB, glTF, or ZIP files. Multi-file uploads are supported — files queue automatically and upload sequentially.
#### Tags on Upload
Below the drop zone, a tag input lets you apply tags to all files in the current upload batch. Type a tag and press Enter or click **+** to add it. Tags auto-complete from your existing tags. All files uploaded while those tags are set will receive them automatically. Click **Clear** to remove all tags. The same tag input is available in the Import panel.
- Maximum file size: **100 MB**
- Supported formats: `.glb`, `.gltf`, `.zip` (OBJ+MTL+textures)
- Files are SHA-256 hashed client-side for deduplication — identical files are detected before upload
- Files over 90 MB use chunked upload (50 MB chunks) for reliability
- Free accounts can upload up to 25 models. Purchase any credit pack to remove this limit.
### 3D Scan Upload
To upload a 3D scan (e.g. from Artec Studio, RealityCapture, or Metashape), export as OBJ with textures, zip the folder, and upload the ZIP. Include exactly one .obj file per ZIP along with its .mtl and texture files. The server converts to GLB automatically with roughness set to 1.0 for a natural matte finish. The converted model enters the standard pipeline — you'll see a system preview within seconds. You can also download the converted GLB from the model detail view, giving you a clean GLB with embedded textures and correct PBR materials — no manual conversion needed.
### Import from URL
Click **Import** in the Library tab, then paste one or more URLs to GLB files hosted elsewhere. The server downloads each file directly (max 100 MB, 2-minute timeout). SHA-256 deduplication applies. URL import supports GLB/glTF only. For OBJ scans, use the Upload tab with a ZIP file.
### After Upload
Every uploaded model automatically receives a free system preview render (no credits deducted). This generates a thumbnail poster within seconds and serves as a model integrity check — if the preview fails, the model likely has issues with geometry, textures, or glTF structure.
### Model Detail View
Click any model in the Library to open its detail view. The detail view shows the model poster (with hover video preview) and has three sub-tabs:
- **Edit** — Edit the model's title, SKU, and tags. Tags have autocomplete suggestions drawn from all your existing tags. Click **Save** to persist changes.
- **Videos** — All video renders for this model (grid or list view). Each render card has an archive button. Click a render to open the video modal. Dataset renders are excluded — they appear in the Datasets sub-tab.
- **Datasets** — All dataset renders for this model. Each row shows status, date, and a download link with file size. Click a completed row to view the overview contact sheet (4-quadrant grid of RGB, depth, normals, and masks).
- **Source** — Embedded glTF metadata (read-only). Shows creator, license, copyright, source URL, original title, and generator when present in the GLB file. Source URLs and creator profile links are clickable. Sketchfab models include rich metadata here. Empty state shown when no metadata is embedded.
- **Manage** — Archive or delete the model. Download the GLB (with file size shown). For scan-origin models (uploaded as OBJ ZIP), a **Fix Up Axis** button appears to correct Z/Y axis inversion.
Actions in the detail header: **Download** (original GLB file), **Archive**, and **Render** (pre-selects this model in the Render view).
### Archiving
Models and videos can be archived rather than permanently deleted. Archived items are hidden from default views but can be restored. Toggle **Show archived** from the Library More menu to see and unarchive them.
---
## Render Settings
The Render view has four sub-panels: **Select** (model picker), **Review** (review chosen models), **Create** (configure render options), and **Queue** (view active renders). Select one or more models, then configure settings. All options are visible in a single unified panel:
| Setting | Options | Default |
|---|---|---|
| Output | Standard (1080p, 1 credit), 4K (4K, 4 credits), Pro (4K ProRes 4444 with alpha, 16 credits), Dataset (vision training ZIP, 1–16 credits) | Standard |
| Aspect Ratio | 16:9, 1:1, 9:16 | 16:9 |
| Background | White, Gray, Black, Custom hex (e.g. `#ff8800`), or Image | White |
| Length | 6, 9, 12, 15 seconds, or Custom (3–15) | 6s |
| Rotation | Angle: −180° to 180° (starting side). Tilt: −90° to 90° (forward/back lean). | 0° / 0° |
| Surface | Shadows, Reflection, or None | Shadows |
| Easing | On / Off | On |
### Output
The Output selector determines the output type, resolution, codec, and credit cost:
- **Standard** — 1080p H.264 MP4 (1 credit). Best for web and social media.
- **4K** — 3840×2160 H.264 MP4 (4 credits). For large screens and high-DPI displays.
- **Pro** — 3840×2160 ProRes 4444 with alpha channel (16 credits). For professional video editing and compositing. The `.mov` file has a transparent background; the `bgColor` is applied only to the web/thumbnail/poster variants.
- **Dataset** — Multi-view vision training ZIP (1–16 credits). Three tiers: 100×800 (1 credit), 400×1024 (4 credits), 400×2048 (16 credits). For NeRF, 3D Gaussian Splatting, and other 3D reconstruction methods. See [Datasets](#datasets--vision-training) below.
All video quality tiers render with GPU-accelerated 2× supersampling (SSAA) for smooth, anti-aliased edges. When Dataset is selected, a tier selector replaces the quality buttons — choose views × resolution to balance speed and quality.
### Custom Values
Background and Length both support custom values. Click **Custom** to enter a hex color or a duration (integer, 3–15 seconds). Invalid values are highlighted and block submission.
### Surface
Shadows and Reflection are mutually exclusive — selecting one disables the other. Choose **None** for a clean floating look with no ground effects.
### Rotation & Tilt
The Rotation setting controls two axes:
- **Angle** (−180° to 180°) — rotates the model so a different side faces the camera at the start of the turntable. Negative values rotate left, positive rotate right.
- **Tilt** (−90° to 90°) — tips the model forward or backward. Useful for angling products like shoes, bottles, or packaging to show the top or sole. Tilt bypasses shadow caching, so the first render with a new tilt value takes slightly longer.
Both values default to 0°. The model is automatically re-scaled to fit the viewport after rotation and tilt are applied, so tilted objects won't clip.
### Animation Preview
Before spending a credit, you can preview the turntable animation directly in the browser. Click **Preview Animation** below the render settings to open a modal showing a real-time 3D preview with matcap materials and a ground grid. The preview respects your current aspect ratio, rotation, and tilt settings.
- Click **Play** to start the turntable orbit (with easing if enabled)
- The preview updates live when you change rotation, tilt, or aspect ratio
- GPU-accelerated — requires WebGL 2 support in your browser
The preview uses simplified materials for speed, so lighting and textures will differ from the final render. It is designed to verify framing, rotation angle, and tilt — not final visual quality.
### Duplicate Detection
If you submit a render with settings identical to an existing render for the same model, you'll see a warning. You can force the render if needed.
---
## Batch Rendering
Batch rendering lets you create multiple videos efficiently. There are two approaches:
### Batch Mode
Toggle **Batch** on in the Create panel. This changes the workflow:
1. Configure a set of render settings (aspect, background, length, surface, easing)
2. Click **Add to Batch** to save that variant to the batch list
3. Repeat with different settings to build up multiple variants
4. Click **Run Batch** to submit all variants at once
Total videos = variants × selected models. Each variant costs 1 credit per model.
### Multi-Model Selection
Select multiple models in the Render view's model picker (click to toggle, `Shift+Click` for range, `A` for all). You can also press `S` in the Library tab to enter select mode, pick models, then click **Batch Render** in the select bar — this pre-selects them in the Render view.
In single mode (Batch off), clicking **Render** applies the current settings to all selected models. In Batch mode, the batch list applies to all selected models.
### How It Works
- Credits are deducted atomically — if you don't have enough for the full batch, nothing is deducted
- The render worker automatically groups renders for the same model — GPU frames are rendered once and encoded into multiple variants in parallel
- Each render in the batch appears independently in the queue and Videos tab
---
## Datasets & Vision Training
Select **Dataset** in the Output selector to generate a NeRF/3DGS-ready training dataset instead of a video. Three tiers: 100×800 (1 credit), 400×1024 (4 credits), 400×2048 (16 credits). Choose hemisphere or full sphere coverage.
The output ZIP contains:
- `images/` — 100 RGBA PNG frames
- `depth/` — 100 8-bit grayscale depth PNGs (closer = darker, farther = lighter)
- `depth_16bit/` — 100 16-bit grayscale depth PNGs (65,536 levels of precision for surface reconstruction)
- `normals/` — 100 world-space normal map PNGs
- `masks/` — 100 foreground/background alpha mask PNGs
- `transforms.json` — Camera intrinsics + per-frame 4×4 transform matrices (nerfstudio / instant-ngp format)
- `overview.webp` — 4-quadrant contact sheet (10×10 grid of all views across RGB, depth, normals, masks)
The `transforms.json` includes `depth_near` and `depth_far` values for decoding depth maps: `depth = pixel_value/255 * (depth_far - depth_near) + depth_near`.
### Datasets Tab
The **Datasets** tab shows all completed dataset renders. It has two sub-tabs:
- **Download** — List view with poster thumbnail, model name, date, tags, and download link with ZIP file size. Click a row to view the full overview contact sheet in a lightbox. Includes a search bar (matches name, title, SKU) and a tag filter toggle (same pill chip style as the Videos tab).
- **JSON** — Exportable JSON array with download URLs for programmatic use. Each entry includes name, dataset URL, view count, resolution, format, and tags. Copy button for one-click clipboard.
---
## Videos & Downloads
The **Videos** tab shows all completed video renders (excluding system previews and dataset renders).
### View Modes
Press `G` to cycle between Grid and List view:
- **Grid** — Poster thumbnails with hover video preview
- **List** — Compact rows with key metadata
The Videos tab also has an **Export** sub-tab (separate from the grid/list toggle) that shows full metadata with copyable URLs.
### Sorting & Grouping
Click the sort toggle to switch between newest-first and oldest-first (saved in localStorage). Videos can be grouped by Model, Date, or None. Groups are collapsible — use Expand All / Collapse All from the toolbar.
### Video Modal
Click any video to open the modal. The modal is a flippable card with a front and back side.
**Front Side:**
- Video playback with play/pause (click video or button)
- Fullscreen/expand toggle
- Flip button — rotates the card to reveal the back side
- Controls auto-fade while playing; reappear on hover or mouse movement
- Preview renders show an **Unlock** button (costs 1 credit to remove the watermark)
**Back Side:**
- **QR Code** — scannable share link; tap QR to copy the URL
- **Share / Save** — uses Web Share API on mobile, or downloads the video on desktop
- **Downloads** — Full MP4, Web MP4 (if available), and Poster
- **Note** — a free-text note field attached to the render (persisted)
- **Edit mode** — toggle the edit switch to enter edit mode, where you can modify the note, toggle reshare permissions, then Save
Click the back side background or press `Esc` to flip back to the front. Pressing `Esc` follows a layered exit order: exit edit mode → flip to front → collapse fullscreen → close modal.
### Output Files
Each completed render produces:
| File | Standard | 4K | Pro |
|---|---|---|---|
| Full Video | H.264 MP4 1080p 60fps | H.264 MP4 4K 60fps | ProRes 4444 .mov 4K 60fps (with alpha) |
| Web Video | H.264 MP4, lower bitrate — optimized for web embedding/streaming | | |
| Thumbnail | H.264 MP4, quarter resolution — hover preview, social embeds | | |
| Poster | PNG, full resolution — static preview frame | | |
All assets can be downloaded individually or as a single zip bundle from the video modal.
### Render Queue
Active renders appear in the persistent queue bar below the header. The queue polls every 3 seconds and shows status progression:
```
Queued → Rendering poster → Poster done → Encoding video → Done
```
Failed renders show an error indicator. Click any queue item to navigate to that model's detail view.
---
## Sharing & Galleries
### Share Links
Every completed render has a public share page at `dx.gl/portal/v/{id}`. Anyone with the link can view the video without logging in. Use the Share button in the video modal or Export tab to copy the link.
### Galleries
Select multiple videos (press `S` for select mode), then click **Share** in the select bar to create a gallery. A gallery bundles multiple videos under a single shareable link.
You can also share all videos at once from **Videos → More → Share all**.
Manage existing galleries from **Videos → More → Manage shared galleries**. Each gallery shows its link, copy button, and delete button.
### Select Mode Actions
The select mode bar (press `S` on the Videos tab) offers four bulk actions:
- **Share** — Create a gallery from selected videos
- **Download** — Download all selected videos as individual MP4 files
- **Archive** — Archive selected videos (hidden but restorable)
- **Delete** — Permanently delete selected videos (admin only)
---
## Tags & Organization
Tags help organize models and filter both the Library and Videos tabs.
### Adding Tags
Open a model's detail view, switch to the **Data** tab, and type tags in the tag input. The input offers autocomplete suggestions drawn from all your existing tags. Tags are automatically lowercased and trimmed. Maximum 20 tags per model.
### Filtering by Tag
A tag filter bar appears above the model/video grid. Click tags to filter (OR logic — showing items matching any selected tag). The tag bar can be collapsed via the toggle button. Your filter visibility preference is saved in localStorage.
### Tag Carry-over
Tags on a model automatically carry over to all videos rendered from that model, so you can filter videos by the same tags used to organize your models.
### Search
Press `/` to focus search. Search matches model name, title, SKU, and tags.
---
## Export
Switch to the **Export** sub-tab within the Videos tab to see a spreadsheet-style view. Each row includes:
- Title, SKU, Aspect, Background, Length, Created date
- **Video URL**, **Web Video URL**, **Poster URL** — each with a copy button
Export all visible data in bulk via the export button:
- **Copy as Text / CSV / JSON** — copies to clipboard
- **Save as Text / CSV / JSON** — downloads a file
If you have more videos than the initial page load, the export will automatically load all videos before exporting.
---
## Billing & Credits
Render cost depends on quality tier: Standard costs 1 credit, 4K costs 4 credits, and Pro costs 16 credits. Your credit balance is always visible in the header.
### Credit Packs
| Pack | Price | Per Credit |
|---|---|---|
| 1 credit | $39 | $39.00 |
| 10 credits | $299 | $29.90 |
| 100 credits | $1,999 | $19.99 |
Payments are processed securely by Stripe. See [Pricing](https://dx.gl/pricing) for full details.
### Free Preview Credits
New accounts receive 3 free preview credits. Renders using free credits include a PREVIEW watermark. This lets you verify model quality before purchasing.
### Credit Deduction
Paid credits are used first. Free credits are only used when paid credits are exhausted. Batch renders deduct all credits atomically — the batch fails entirely if you don't have enough.
### Promo Codes
Promo codes can be redeemed from the Billing tab for bonus credits.
### Transaction History
View all credit transactions (purchases, renders, refunds, promos, referrals) in the Billing tab. Paginated, 25 per page.
---
## Account & Security
Access account settings from the avatar menu → **Settings**.
### Display Name
Set a display name that appears instead of your email in the portal header and share pages.
### Password
Change your password from the Account section of Settings. If you signed up via OAuth (Google/Microsoft), you can set a password to enable email+password login as an alternative.
### Two-Factor Authentication
Enable 2FA from the Security section of Settings. DX.GL supports TOTP (time-based one-time passwords) compatible with any authenticator app (Google Authenticator, Authy, 1Password, etc.).
When you enable 2FA, you'll receive recovery codes — store them securely. They allow login if you lose access to your authenticator.
### OAuth Login
Sign up or log in with Google or Microsoft. OAuth accounts are automatically activated without email verification. If your OAuth email matches an existing account, the accounts are linked.
### Referrals
Share your referral link (found in Settings → Referrals) to earn credits when referred users make their first purchase.
---
## Support
Access the support system from the avatar menu → **Support**. You can:
- View existing support tickets and their status
- Create new tickets with a subject and message
- Reply to ongoing conversations
---
## API Keys
Create API keys from the avatar menu → **API Keys**. Keys allow programmatic access to the [REST API](https://dx.gl/portal/docs) for uploading models, creating renders, and downloading assets.
- Give each key a descriptive name and optionally set an expiration (in days)
- The raw token (`dxgl_sk_...`) is shown once on creation — copy and store it securely
- Keys can be revoked (and un-revoked) at any time
- API tokens use Bearer authentication: `Authorization: Bearer dxgl_sk_...`
See the [API Documentation](https://dx.gl/portal/docs) for full endpoint reference.
---
## Keyboard Shortcuts
| Key | Action |
|---|---|
| `1` `2` `3` `4` | Switch tabs (Library, Render, Videos, Datasets) |
| `/` | Focus search |
| `S` | Enter select mode (Library or Videos tab) |
| `A` | Select all (in select mode or Render Select) |
| `G` | Cycle view mode (Grid ↔ List) |
| `Shift+Click` | Range select in select mode |
| `Esc` | Exit select mode, close modal, navigate back |
| `?` | Open in-app help |
Shortcuts are disabled when typing in input fields. Modifier keys (Ctrl, Alt, Cmd) are passed through to the browser.