---
title: "Create a Mockup Render"
method: POST
path: "/renders"
---

# Create a Mockup Render

`POST /renders`

Returns an image URL of the selected mockup template and provided design asset.

## Headers

- `Accept` 'application/json', required
- `x-api-key` string, required — API key required for authentication.

## Request body

- object
  - `mockup_uuid` string, required — The UUID of the mockup template.
  - `export_label` string — A label for the exported image.
  - `export_options` object
    - `image_format` 'jpg' | 'png' | 'webp' — The format of the exported image.
    - `image_size` integer — The size in pixels of the exported image.
    - `mode` 'view' | 'download' — Determines whether the exported image should be viewed in the browser or downloaded.
  - `smart_objects` object[], required — List of smart objects inside a chosen mockup.
    - `uuid` string — The UUID of the smart object.
    - `asset` object
      - `url` string — URL to the asset image.
      - `fit` 'stretch' | 'contain' | 'cover' — How the asset fits within the designated area.
      - `size` object
        - `width` integer — The width of the asset in pixels.
        - `height` integer — The height of the asset pixels.
      - `position` object
        - `top` integer — The top position of the asset.
        - `left` integer — The left position of the asset.
      - `rotate` number — The rotation angle of the provided asset.
    - `pattern` object — Configuration for using the asset as a repeating pattern.
      - `enabled` boolean — Whether the asset is used as a repeating pattern.
      - `scale_percent` number — Scale of the pattern relative to the original asset size.
    - `color` string — Color overlay for the smart object in hex code.
    - `blending_mode` 'NORMAL' | 'DISSOLVE' | 'DARKEN' | 'MULTIPLY' | 'COLOR_BURN' | 'LINEAR_BURN' | 'DARKER_COLOR' | 'LIGHTEN' | 'SCREEN' | 'COLOR_DODGE' | 'LINEAR_DODGE' | 'LIGHTER_COLOR' | 'OVERLAY' | 'SOFT_LIGHT' | 'HARD_LIGHT' | 'VIVID_LIGHT' | 'LINEAR_LIGHT' | 'PIN_LIGHT' | 'HARD_MIX' | 'DIFFERENCE' | 'EXCLUSION' | 'SUBTRACT' | 'DIVIDE' | 'HUE' | 'SATURATION' | 'COLOR' | 'LUMINOSITY' — Blending mode applied to the smart object.
    - `adjustment_layers` object — Optional adjustment layers applied to the smart object.
      - `brightness` integer — Brightness adjustment (from -150 to 150).
      - `contrast` integer — Contrast adjustment (from -100 to 100).
      - `opacity` integer — Opacity adjustment (from 0 to 100).
      - `saturation` integer — Saturation adjustment (from -100 to 100).
      - `vibrance` integer — Vibrance adjustment (from -100 to 100).
      - `blur` integer — Blur adjustment (from 0 to 100).
    - `print_area_preset_uuid` string — UUID of the print area preset to automatically position provided design asset.
    - `decoration_method` object — Render-time decoration method (print finish) applied to this smart object's artwork. Only affects MockAnything templates; classic PSD mockups ignore it. Every method except universal simulates a physical print or engraving process and intentionally alters the artwork's colors (ink absorption, desaturation, fabric show-through), most visibly on dark garments. To reproduce your artwork's original colors, set method to universal or omit this field (omitting keeps the template's default finish, which is universal unless the template was saved with a different one); scene lighting and shading still apply.
      - `method` 'universal' | 'screen_print' | 'dtg' | 'uv_print' | 'laser_engrave_surface' | 'laser_engrave_deep' | 'deboss', required — The decoration method to apply. universal = flat print that leaves artwork colors unchanged (your chosen blending_mode still applies); screen_print, dtg and uv_print are print finishes that simulate how ink sits on the material and shift artwork colors accordingly (dtg simulates ink soaked into fabric: expect desaturation and strong darkening on dark garments); laser_engrave_surface and laser_engrave_deep are engravings (the artwork acts as a stencil and its colors are replaced by the engraved material); deboss is a pressed-in impression.
      - `options` object — Optional fine-tuning for the selected method. Only laser_engrave_surface, laser_engrave_deep and deboss read options; any value you omit uses a sensible default.
        - `material` 'metal' | 'leather' | 'wood' — Simulated material finish for engrave and deboss methods.
        - `desaturation` number — laser_engrave_surface: how much of the artwork color is removed (0 to 1).
        - `burn_darkness` number — laser_engrave_surface: darkness of the burned engraving (0 to 1).
        - `wall_width` number — laser_engrave_deep: width of the engraved channel walls, in pixels.
        - `groove_darkness` number — laser_engrave_deep: shadow darkness inside the engraved grooves (0 to 1).
        - `depth` number — deboss: depth of the pressed-in impression (0 to 1).
        - `shadow_falloff` number — deboss: softness of the impression's shadow edge, in pixels.
        - `shadow_darkness` number — deboss: darkness of the impression's shadow (0 to 1).
        - `highlight_brightness` number — deboss: brightness of the raised highlight.
        - `center_darkening` number — deboss: darkening toward the center of the impression (0 to 1).
  - `text_layers` object[] — List of text layers for the chosen mockup.
    - `uuid` string — The UUID of the text layer.
    - `text` string — The text content for the text layer.
    - `font_family` string — The font family of the text.
    - `font_size` number — The font size for the text in pixels.
    - `font_color` string — The color of the text in hex code.

## Response `200`

Image successfully rendered.

- object
  - `data` object
    - `export_label` string — A label for the exported image provided in request.
    - `export_path` string — The URL where the rendered image can be downloaded.
  - `success` boolean — Indicates if the render API call was successful.
  - `message` string — A message about the render API.

## Other responses

- `400` — Bad request due to invalid input parameters.
- `401` — Unauthorized request, invalid or missing API key.

---

[API](https://skmtc.dev/dynamicmockups/apis/dynamic-mockups-mockanything-ai-api.md) · [All operations](https://skmtc.dev/dynamicmockups/apis/dynamic-mockups-mockanything-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dynamicmockups/dynamic-mockups-mockanything-ai-api/revisions/5582facc8ca8/schema)
