Text
See also
This is the generation-time override. To author a text layer's full schema at import time, see Design Import → Layer Types → Text.
Available properties
| Property | Description |
|---|---|
payload | Text content. See Payload |
color | Text color. See Color |
background_color | Same as color, adds a background behind the text |
background_padding | Padding around the background color. See Background Padding |
font_size | Number. Force font size — pixels on static / animated (must be > 1), points (pt) on printer. See Units on Print Designs. |
font / font_weight | See Font |
line_height | Number. Force line height in percentage (must be > 1). Only applied on multiline text |
skew_y | Number: -20 to 20. Slant text on the y axis |
alignment | See Alignment |
stroke_width / stroke_color | See Stroke |
shadow_color / shadow_blur / shadow_offset_x / shadow_offset_y | See Shadow |
auto_resize | Boolean. Automatically adjusts text size to fit its container. Requires min_font_size |
min_font_size | Number. Minimum font size when auto_resize is true. Same unit as font_size — see Units on Print Designs. |
text_transform | "uppercase", "lowercase", "titlecase" (every word capitalised), "capitalize" (first letter of the first word only), or "none" to clear a transform set on the design |
side_border / side_border_thickness / side_border_padding / side_border_offset / side_border_spread / side_border_color / side_border_rounded | See Text Side Border |
max_lines | Number > 0. Maximum number of lines allowed |
text_harmony | Boolean. Balances line lengths with max 20% variance between lines |
text_truncation | Boolean. If text doesn't fit, truncates with ellipsis |
Color
color: Text color. Can be:
- Monochrome: 6–8 digit hex color (see Root)
- Gradient: linear-gradient (see Root)
- Cmyka: print only (see Root)
| Value | Result |
|---|---|
"color": "#1A47FF" | ![]() |
"color": "linear-gradient(0% 0% 100% 0%,0% #0a68ff 1,100% #ff0000 1)" | ![]() |
Payload
payload is the text content.
Constraints:
- Cannot be empty
- 10 000 characters maximum
Line breaks
Line breaks are computed automatically from available space. Force a line break with \n.
| Value | Result |
|---|---|
"payload": "Lorem Ipsum\nis simply dummy text" | ![]() |
Integrations handle newlines for you
External integrations (Zapier, Integromat, Airtable) may not interpret \n — they support multi-line inputs natively.
Partial text decorations
Markups can be added to style specific parts of the text. They work like HTML but are not HTML.
Markup wins over global decoration
Text markups override global text decoration settings. Use global properties if you want to change the whole element's style.
| Type | Markup | Preview |
|---|---|---|
| Color | <c=#FF0000>colored part</c> | ![]() |
| Font weight | <w=700>bold part</w> — values 100–900 | ![]() |
| Underline | <u>underlined part</u> | ![]() |
| Underline with color | <u=#FF0000>colored underline</u> | ![]() |
| Strike through | <s>strikethrough</s> | ![]() |
| Strike through with color | <s=#FF0000>colored strike</s> | ![]() |
| Background color | <bg=#f6aeb8>text with bg</bg> | ![]() |
| Diagonal strike through | <d>diagonal strike</d> | ![]() |
| Diagonal strike with color | <d=#FF0000>colored diagonal strike</d> | ![]() |
| Font size | <f=60%>smaller text</f> or <f=110>absolute px</f> | ![]() |
| Superscript | <sup>superscript</sup> | ![]() |
| Subscript | <sub>subscript</sub> | ![]() |
| Kerning | <k=-20%>Spac<k=100%>ing | ![]() |
{hexaColor}: 6 or 8-digit hex color starting with # (e.g. #EAEAEA or #00000080)
Markups combine
All markups can be combined. Pay attention to opening and closing tags.
Background padding
background_padding: Padding of the background color around the text.
- Two numbers separated by a space:
"0 10"→ 0px vertical, 10px horizontal - One number: uniform padding in pixels on
static/animated, or the format's physical unit onprinter— see Units on Print Designs
Different shape than at import time
This string shorthand ("0 10" or "10") is a generation-only override syntax. The equivalent at import time is a padding object — { vertical, horizontal } or one number for both — see Design Import → Layer Types → Text. Same concept, different representation; don't assume the two are interchangeable.
| Value | Result |
|---|---|
"background_padding": "0 10" | ![]() |
"background_padding": "5 10" | ![]() |
Needs a background_color
Only applies when a background_color is defined.
Stroke
stroke_width: Number 0–40 in pixels onstatic/animated; a float in the format's physical unit onprinter— see Units on Print Designsstroke_color: 6–8 digit hex color, or cmyka for print — see Colors & Gradients
If the design has no stroke, both properties are required and stroke_width must be > 0.
| Value | Result |
|---|---|
stroke_width: 8, stroke_color: "#1A47FF" | ![]() |
Text alignment
alignment overrides the default text alignment.
- One string:
top,middle,bottom,left,center,right - Two strings (vertical + horizontal): e.g.
"top left","middle right"
| Value | Result |
|---|---|
"alignment": "center" | ![]() |
"alignment": "right" | ![]() |
Font
font: String. Force a font by UUID (a font name is not accepted). List your fonts' UUIDs withGET /fontsfont_weight: Number. 100, 200, 300, 400, 500, 600, 700, 800, 900
Missing weights fall back
If the font doesn't contain the requested weight, the nearest weight will be used.
| Value | Result |
|---|---|
Podkova Medium (font_weight: 500) | ![]() |
Poppins Extra Bold (font_weight: 800) | ![]() |
Text side border
A border on one side of the text element.
| Property | Description |
|---|---|
side_border | "left", "right", "top", "bottom", or "none" |
side_border_thickness | Number > 0. Px on static / animated; float in the format's unit on printer. |
side_border_color | 6–8 digit hex or cmyka (print) — see Colors & Gradients |
side_border_rounded | Boolean. Rounded (true) or square (false) corners |
side_border_padding | Number. Distance between text and border — px on static / animated, float in the format's unit on printer. |
side_border_offset | Number. Shifts the border along its perpendicular axis — same units as above. |
side_border_spread | Number. Extends border length beyond text bounding box — same units as above. |
All four length fields above follow Units on Print Designs.
.png)
Using variables inside text content
Variables are placeholders in your design text, defined with curly braces: {title}. They are substituted through vars, which is a key of elements itself — a sibling of the layer names, not a property of a text layer. See Text variables.
Related
- Button — the subset of these properties buttons accept
- Fonts — font UUIDs
- Common properties —
hiddenand shadows























