Mockup Endpoints

Mockup project CRUD and the render endpoint.

List mockup projects on a board

GET /api/moodboards/{id}/mockup-projects

Create

POST /api/moodboards/{id}/mockup-projects
{
  "name": "Hero mockup",
  "device": "iphone" | "iphone-pro-max" | "ipad" | "ipad-mini" |
            "macbook-air" | "macbook-pro" | "imac" |
            "double-iphone" | "browser" | "grid" | "no-device"
}

Returns the new project’s full state.

Get

GET /api/moodboards/{id}/mockup-projects/{pid}

Returns:

{
  "id": "…",
  "name": "…",
  "device": "iphone",
  "screen_source_url": "/media/…",
  "transform": {
    "position":  { "x": 0, "y": 0, "z": 0 },
    "rotation":  { "x": 0, "y": 0, "z": 0 },
    "scale":     { "x": 1, "y": 1, "z": 1 }
  },
  "dof": {
    "enabled": true,
    "focus_distance": 10.0,
    "aperture": 2
  },
  "background": { "mode": "gradient", "params": { … } },
  "keyframes": [ … ],
  "duration_seconds": 6
}

Update

PUT /api/moodboards/{id}/mockup-projects/{pid}
{ … full project state … }

Render

POST /api/mockup/render
{
  "board_id": "…",
  "project_id": "…",
  "format": "mp4" | "webm" | "mov",
  "size_preset": "1080p" | "square" | "vertical" | "4k",
  "fps": 60,
  "transparent_background": false
}

Returns:

{ "job_id": "…", "status": "queued" }

Poll via GET /api/mockup/render/{job_id} — same pattern as the video project render.

Delete

DELETE /api/moodboards/{id}/mockup-projects/{pid}

Where to go next

Was this helpful?

0

Updated

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *