The two steps
Creating a mockup and rendering onto it are separate calls. Setup happens once per photograph; rendering happens once per design. Create the mockupsource_url or source_base64. The call is
synchronous by default and returns the finished mockup, so there is nothing to
poll before you render.
201 Created
data.mockup_id for the render path, and a target id from
either data.quads or data.surfaces. The two lists are render targets you
choose between: a quad is a bounded zone drawn on the product, a surface is the
whole product. A product keeps its surface entry after you draw zones on it, so
a chest logo and an all over print are two entries on the same photograph. See
Print areas and surfaces.
Render onto it
data.print_files[0].export_path.
200 OK
artwork_url and send the call again. Every field of the render
body is covered in Render artwork.
Run it in the background
Both calls acceptis_async: true. You get a job instead of a result, which is
what you want when you create or render in batches and do not want to hold
connections open.
202 Accepted
status_url until the job reports succeeded, or subscribe to a webhook
and skip polling. A finished create job carries the new mockup id in
mockup_uuid; a finished render job puts the image in result_url. The full
poll contract is in the
job status reference.
Which events fire
Asynchronous work reports through five events. Subscribe on Webhooks.A delivery can arrive more than once. Match on
job_id plus the event name so
a repeat is a safe no operation.What a mockup costs you
Creating a mockup is charged once, and each render is charged per image, so the cost of a design set follows the number of designs rather than the number of photographs. A rejected or failed create returns its credits automatically. The current credit weights are on pricing. On a funded account renders come back unwatermarked at the width you asked for. While the account is on trial credits, renders carry a watermark and a reduced output width.Next
Print areas and surfaces
Where artwork can land, and how to move it.
Render artwork
Placement, adjustments and export options, field by field.
Create endpoint
The create contract with examples in cURL, Python and JavaScript.
Legacy paths
What the older 2D paths map to.