# MCP for Product Videos
Automate turntable video production for e-commerce, marketing, and content teams using AI agents.
---
## What You Can Do
With a single natural-language prompt, your AI agent can:
- **Render entire catalogs** — generate videos for hundreds of SKUs in multiple aspect ratios and backgrounds overnight
- **Create variant matrices** — every model × every aspect ratio × every background in one batch
- **Quote before committing** — check the exact credit cost for any batch before spending
- **Download and organize** — get video URLs and metadata for direct integration into your CMS or PIM
No scripting required. Describe what you want in plain English — the agent handles the API calls.
---
## Setup
Add this to your MCP client configuration (Windsurf, Claude Desktop, Cursor, or any MCP-compatible host):
```json
{
"mcpServers": {
"dxgl": {
"serverUrl": "https://mcp.dx.gl/",
"headers": {
"Authorization": "Bearer dxgl_sk_..."
}
}
}
}
```
Replace `dxgl_sk_...` with your API key from the [Portal](https://dx.gl/portal) → API Keys.
---
## Your First Prompt
Paste this into your AI agent to verify everything works:
> List my models and tell me how many I have.
The agent will call `list_models` and return a summary. If this works, you're connected.
---
## Prompt Examples
### Render a single model in multiple formats
> Render model Ab3kF9x2qL1m in all three aspect ratios (16:9, 1:1, 9:16) with a white background, 9 seconds, shadows enabled.
The agent calls `create_batch_renders` with 3 variants and polls until all complete.
### Render all new models
> Render every model that doesn't have any video renders yet. Use 16:9, white background, 6 seconds with shadows.
The agent will:
1. Call `list_models` to get all models
2. Call `get_model` for each to check render history
3. Filter to models with no video renders
4. Call `create_batch_renders` for the unrendered models
5. Poll and return results
### Full catalog in multiple variants
> I just uploaded 30 shoe models tagged "ss26". Render each one in 16:9 white, 1:1 black, and 9:16 with shadows. Quote the total cost first.
The agent will:
1. Call `list_models` with `tags: "ss26"` to find the 30 models
2. Call `quote` with 90 renders (30 models × 3 variants) to show total cost
3. Wait for your confirmation
4. Call `create_batch_renders` to submit all 90 at once
5. Credits are deducted atomically — if you don't have enough, nothing is charged
6. Poll and return video URLs when complete
### E-commerce product page assets
> For all models tagged "hero-products", create a 16:9 video with reflection on black background for the product page, plus a 1:1 video with shadows on white for social media. 9 seconds each, with easing.
The agent creates 2 variants per model across the tagged set.
### 4K renders for large displays
> Render my top 10 furniture models in 4K quality, 16:9, white background with reflection. These are for in-store displays.
The agent uses `quality: "4k"` (4 credits each) for high-resolution output suitable for 4K screens and kiosks.
### ProRes for video editing
> Create Pro renders of models tagged "campaign-q2" in 16:9 with transparent background. I need ProRes 4444 for compositing in DaVinci Resolve.
The agent uses `quality: "pro"` (16 credits each). The `.mov` files have alpha channels — the background color only applies to the web/thumbnail/poster variants.
### Import and render in one go
> Import this GLB from https://example.com/chair.glb, then render it in 16:9 and 1:1 with a white background.
The agent chains `ingest_model` → waits for system preview → `create_batch_renders` with 2 variants → polls → returns video URLs.
### Custom backgrounds
> Render all models tagged "luxury" with my gradient background image (overlay ID abc123DEF456) in 16:9 and 9:16.
The agent uses `bgImageId` in render settings to apply your uploaded background image instead of a solid color.
### Rotation and tilt
> Render my shoe models with a 45° rotation so the toe faces the camera, and a 15° forward tilt to show the sole. 1:1, white background, shadows.
The agent uses `rotateY: 45` and `tiltX: 15` to control the starting camera angle and product tilt.
### Budget check
> I have 150 models. How many credits would it cost to render each one in 16:9 white and 1:1 black at standard quality?
The agent calls `quote` with 300 renders (150 × 2 variants × 1 credit each), checks your balance, and reports the total.
### Download all videos
> Give me the download URLs for all completed renders of models tagged "fall-collection".
The agent calls `list_models` with the tag filter, then `get_model` for each, and compiles download URLs from `download_render` for every completed render.
---
## Quality Tiers
| Tier | Resolution | Codec | Alpha | Credits | Best for |
|---|---|---|---|---|---|
| `standard` | 1920×1080 | H.264 MP4 | No | 1 | Web, social media, product pages |
| `4k` | 3840×2160 | H.264 MP4 | No | 4 | In-store displays, kiosks, high-DPI screens |
| `pro` | 3840×2160 | ProRes 4444 | Yes | 16 | Video editing, compositing, broadcast |
### Render Settings
| Setting | Options | Default |
|---|---|---|
| Aspect | `16:9`, `1:1`, `9:16` | `16:9` |
| Background | Any hex color (e.g. `#ffffff`), or `bgImageId` for uploaded images | `#ffffff` |
| Length | 3–30 seconds | 6 |
| Surface | `shadows: true` or `reflector: true` or neither | Shadows |
| Easing | Smooth start/stop | On |
| Rotation | `rotateY`: −180° to 180° (starting angle) | 0° |
| Tilt | `tiltX`: −90° to 90° (forward/back lean) | 0° |
### Output Files
Every completed render produces:
- **Full video** — MP4 (standard/4K) or MOV (Pro with alpha)
- **Web video** — lower bitrate MP4 optimized for streaming
- **Thumbnail** — quarter-resolution MP4 for hover previews
- **Poster** — full-resolution PNG static frame
---
## Available Tools
| Tool | What it does |
|---|---|
| `ingest_model` | Import a 3D model from a URL |
| `list_models` | List models with tag and pagination filters |
| `get_model` | Get model details and all its renders |
| `create_render` | Create a single video render |
| `create_batch_renders` | Create multiple renders atomically |
| `get_render` | Poll render status until complete |
| `download_render` | Get the download URL for a completed video |
| `get_account` | Check your credit balance |
| `quote` | Estimate credit cost before committing |
---
## Tips
### Tag everything
Tags are the key to efficient batch operations. Tag models on upload or via the portal, then target them in prompts:
> Render all models tagged "new-arrivals" in 16:9 white with shadows.
### Quote first on large batches
The `quote` tool prevents surprises. Ask the agent to quote before any batch:
> Quote 16:9 + 1:1 + 9:16 renders for my 80 shoe models, then proceed only if it's under 250 credits.
### Atomic credit deduction
Batch renders deduct all credits at once. If you don't have enough for the full batch, nothing is charged — the batch fails cleanly and you can adjust.
### Use the right quality tier
- **Standard** (1 credit) — for most web and social use cases
- **4K** (4 credits) — only if displaying on 4K screens or need archival quality
- **Pro** (16 credits) — only if you need alpha channel for video compositing
### Combine with background images
Upload branded backgrounds via the portal, then reference them in batch renders. The background image is composited during encoding, so all variants in a batch share the same GPU render pass — efficient even at scale.
### Chain operations
Your agent can orchestrate multi-step workflows:
> Import all GLBs from this spreadsheet of URLs, tag them by category, render each in our standard 3-variant format, and compile a CSV of model names and video URLs.
---
## Learn More
- [API Documentation](https://dx.gl/portal/docs) — Full REST API reference
- [Portal Guide](https://dx.gl/portal/docs/guide) — How to use the DX.GL portal
- [For E-commerce](https://dx.gl/for-ecommerce) — Product video production at scale
- [For Video Production](https://dx.gl/for-video) — ProRes 4444 for professional editors
- [Integration Guide](https://dx.gl/docs/integration) — Build on top of DX.GL (white-label, platform)
- [Showcase](https://dx.gl/showcase) — Browse example videos