Recommendation: keep supported features live rather than baking them into
pixels. A live feature stays accurate for every design you send.
What renders as authored
Colour modes other than RGB are converted on upload. Duotone and Multichannel
currently render in grayscale, so convert those files to RGB in Photoshop while
you still hold the ink values.
Every row above renders as authored without a parameter in the render request.
The verified result for each supported filter is on
Smart filters, and the call itself is on
Render a PSD mockup.
A template uploaded before Gradient Map, skewed point text and type on a path
rendered live picks them up once the PSD is uploaded again. The new upload is
a separate template with its own UUIDs, as
Upload a PSD explains.
What to send as pixels instead
Every unsupported row routes to something that does render. A texture that is
the same on every design belongs above the print area as its own layer, tinted
at render time through
color.blending_mode on the smart object rather than
flattened into the artwork. The modes and what each one does are on
Fit and blend modes.
Hidden layers and linked content
How a hidden layer behaves depends on its type, and the two rules point in opposite directions. A smart object that is hidden in Photoshop is not exposed as a slot and is not rendered, so make the layer visible and upload the file again. The upload still succeeds and comes back carrying the advisory codePSD_HIDDEN_SMART_OBJECTS, so you find out before your first render. The rule
is the same for a smart object hidden inside another one. A text
layer that is hidden is kept as a fillable slot instead: it renders when you
send a text_layers entry for it and stays hidden when
you leave that entry out. One template can therefore carry optional lines,
personalized fields or language variants that appear only on the renders you
choose to fill. Both cases are worked through on
Hidden layers.
Linked content renders from its placement geometry, which is why linked
smart objects sit on the supported side above.
When a linked smart object carries no usable placement geometry, the render
returns a permanent 422 with the error code
LINKED_SMART_OBJECT_CONTENT_MISSING, and retrying the same file returns it
again. Run Layer > Smart Objects > Embed Linked and upload the file again,
or send the artwork in the render body. The retry rule for every code is on
Errors.
Contents of a smart object
When the contents of a smart object cannot be read, the upload still succeeds. That happens, for example, when the contents hold a smart object in a vector format, or when they are larger than the pixel ceiling. The smart object stays one slot that takes artwork as a whole, and the upload carries the advisory codePSD_NESTED_CONTENTS_UNAVAILABLE.
A top-level smart object in a vector format fails the upload instead, with
UNSUPPORTED_SMART_OBJECT_FORMAT. A linked smart object stays one slot without
a code, because its contents are not in the file.
Learn more
Smart filters
Read the verified result for every filter we render.
Hidden layers
See why a hidden text layer fills and a hidden smart object does not.
Next steps
Preparing a PSD
Author a template that keeps these rows on the supported side.
Render a PSD mockup
Call the render endpoint in the language you already use.