Extract a piece
Upload the image asmultipart/form-data in a field named file:
202 with a submission_id. Poll GET /design/submissions/{id} until status is completed or failed, then read the design system from GET /design/submissions/{id}/result.
Send a PNG, JPEG, or WebP of up to 20 MB and 40 megapixels, one per request. The image can be the flat creative, a mockup, or a photo of the piece where it runs; a mockup or a photo is straightened and cropped to the creative before anything is measured.
Each submission costs 2 credits, refunded when the extraction fails. Every upload is a fresh extraction: results are never served from cache.
medium.unsure is true.
What fails
A failed submission’serror tells you what to do, and its credits are refunded:
Read the result
This illustrative example comes from a fictional coffee brand’s Instagram post. This is not a complete result, it is an illustrative example.original is the image as you sent it, and flat is the flat creative the measurements were taken on. Positions and sizes are percentages of the piece, and bbox values run from 0 to 1000 across its width and height. Empty values are left out, so a missing field means the piece does not have it.
Use cases
- From a website extraction: send the billboards, posters, and social posts from a website extraction’s brand assets, one per request. Your agent learns how the brand designs each medium, not just its site.
- Across several pieces: extract several of a brand’s pieces and read the results together. The colors, spacing, and layout that hold across pieces become the brief for new ones.
- To check a new piece: extract it too and compare the two results field by field.

