Skip to main content
Two small values decide most of how a render looks: fit, which places the artwork inside the area, and the blend mode, which decides how it sits on the material. They work the same way whether the template came from a PSD or from a product photo.

Fit modes

fit controls how your artwork meets the area it is placed into. It is asset.fit on a PSD smart object and placement.fit on a photo mockup print area, with the same three values.
The default never distorts. A call that says nothing about fit is not asking to have its artwork stretched, so the default is fit. Send fill explicitly when you want the stretch.
contain and cover are the older names for fit and crop. They are still accepted and will stay accepted, so nothing you have already shipped needs to change.
An unrecognised value returns 422 instead of quietly resolving to a default. A typo that renders a wrong image without an error is far more expensive than a rejected request, because nobody sees it until a customer does. The embedded editor prints these same three words on its buttons, so the value you send and the button a seller clicks are the same word.

Blend modes on a photo mockup

adjustments.blend_mode controls how artwork blends with the product surface. Photo mockups take seven values. Use multiply for garments and textured surfaces: it lets the material texture show through, so the design looks printed rather than pasted on. On a dark garment a light artwork gets swallowed by multiply, so reach for screen there. multiply behaves like real ink: on a black tee a white logo comes out grey. That is what makes it look printed, and it is not what you want when a brand colour has to match. Send "blend_mode": "normal" and the artwork keeps its exact colours on any product colour. Blend mode is set per print area, so one area can hold an exact logo while another carries a printed-looking graphic.

Blend modes on a PSD colour overlay

color.blending_mode on a smart object accepts all 27 Photoshop layer blend modes. Use an underscore or a space as the separator: soft_light and soft light both work.
Pass Through is also supported as a group blending mode. It applies to groups only and is not counted in the 27 layer blend modes.

Render a mockup

The full request contract, with runnable examples.

Smart filters

How Perspective Warp and the other smart filters render.