# Dynamic Mockups — how to use (mcp.ai)

Connect your Dynamic Mockups account and use 10 tools for images and design straight from your AI agent. Connect with your own API key. Dynamic Mockups provides APIs for generating product mockups, rendering templates, managing catalogs and collections, and creating AI-powered image and motion assets.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_dynamic_mockups?ms=1787293500000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `dynamic_mockups_create_mockanything_mockup`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/dynamic_mockups`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/dynamic_mockups/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/dynamic_mockups/create/mockanything/mockup` — Create and optionally wait for a MockAnything mockup from exactly one prompt, public image URL, or uploaded image. WARNING: this persists a mockup, may find-or-create named collections, and consumes m
  - body: { name?: string, model?: string, style?: string, prompt?: string, product?: object, image_url?: string, image_file?: object, collections?: object[], aspect_ratio?: string, catalog_uuid?: string, enhance_prompt?: boolean, wait_timeout_seconds?: integer }
- `POST https://api.mcp.ai/api/dynamic_mockups/get/generation/options` — Return current MockAnything styles and aspect-ratio support plus MotionMockups models, durations, aspect ratios, estimated times, and live credit prices. Call this before choosing generation settings 
  - body: { mockanything_model?: string }
- `POST https://api.mcp.ai/api/dynamic_mockups/get/mockanything/product` — Get one POD product's supported sizes, colors, and decoration locations before using its UUID in MockAnything generation.
  - body: { product_uuid: string }
- `POST https://api.mcp.ai/api/dynamic_mockups/get/mockanything/status` — Check one MockAnything task once, typically after Create MockAnything Mockup stops waiting. WARNING: a well-formed unknown UUID may return PENDING indefinitely, so PENDING does not prove the task exis
  - body: { task_id: string }
- `POST https://api.mcp.ai/api/dynamic_mockups/get/motion/mockup/status` — Check a submitted MotionMockups video job once and return its queue state or completed MP4 metadata. The tool does not poll automatically because jobs commonly take 2-15 minutes.
  - body: { request_id: string }
- `POST https://api.mcp.ai/api/dynamic_mockups/list/catalogs/and/collections` — Return the connected account's catalogs and collections, including the UUIDs used to filter mockups and target creation or bulk workflows. This is read-only and does not consume render credits.
  - body: { catalog_uuid?: string, include_all_catalogs?: boolean }
- `POST https://api.mcp.ai/api/dynamic_mockups/list/mockups` — Find renderable mockup templates and return their mockup, smart-object, text-layer, and print-area-preset UUIDs. Filters are optional; name matching semantics are not guaranteed because they could not
  - body: { name?: string, catalog_uuid?: string, collection_uuid?: string, include_all_catalogs?: boolean }
- `POST https://api.mcp.ai/api/dynamic_mockups/render/mockups` — Render one or more explicitly selected mockup templates from public artwork URLs, colors, Beta text layers, and shared export settings. One item uses POST /renders and multiple items use POST /renders
  - body: { renders: object[], export_options?: object }
- `POST https://api.mcp.ai/api/dynamic_mockups/search/mockanything/products` — Fuzzy-search POD products that can ground MockAnything generation. The provider may return up to 50 broad matches and exposes no pagination, so use a specific brand, style code, or product phrase.
  - body: { query: string }
- `POST https://api.mcp.ai/api/dynamic_mockups/submit/motion/mockup` — WARNING: Submit image-to-video generation and return a request ID for later status checks. This creates a long-running job and reserves or consumes model-, duration-, and audio-dependent credits; curr
  - body: { model?: string, prompt?: string, duration?: integer, aspect_ratio?: string, generate_audio?: boolean, skip_discovery?: boolean, negative_prompt?: string, start_image_url: string }

## Example prompts
- "What can I do in Dynamic Mockups?"
- "Show me a summary of my Dynamic Mockups account"

## More
- Page: https://mcp.ai/dynamic_mockups
- Agent spec (llms.txt): https://mcp.ai/dynamic_mockups/llms.txt
- Postman collection: https://mcp.ai/dynamic_mockups/postman.json
