One template, an endless run of names. Each render swaps only the text.
What upload returns
EveryPOST /api/v1/psd/upload response lists the text layers it found under
text_layers, each with its current values and the UUID you address it by.
font_available is false when the layer’s font is not in your catalogue.
is_editable is false when the layer keeps its original appearance in this
version. segment_count above 1 marks a layer that mixes styles, which takes
segments rather than text. has_color_overlay tells you the visible colour
comes from a colour effect rather than the fill.
The top-level group_layers array lists each editable enclosing outline group.
Appearing in that list is the editability signal for a group.
Override at render time
Add up to 50 entries totext_layers, naming only the layers you want to
change. Each entry needs the layer uuid and exactly one of text or
segments. font, font_size and color are optional and fall back to the
layer’s authored values.
text takes 1 to 500 characters. font is either a catalogue font uuid or
its PostScript name from GET /api/v1/fonts; see Fonts.
A render needs at least one entry across smart_objects, text_layers or
group_layers, which means a text-only personalisation renders without any
smart object at all.
Hidden layers are personalisation slots
Targeting a hidden text layer renders it. Keep the optional lines, a name, a date, a discount, hidden in the PSD and switch each one on only for the renders that need it.What renders (as of July 2026)
Optical kerning nuances and ligature toggles may differ slightly from the
original.
Ten warp styles render live with your new text, matched to the curve the designer set.
Rotated text keeps its exact angle, and mixed-style layers stay editable segment by segment.
Errors and warnings
An error blocks the render so you can fix the request. A warning rides along with a successful render so you know what happened. Both codes are stable, so your integration can branch on them. Each item inwarnings carries only
code and message.
Every other status code is in Errors.
Fitting and colour
Keep replacement text inside its box, and recolour text and outlines.
Fonts
The catalogue, custom uploads, and picking a font in a render.