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 in pixels (must be > 1) |
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 |
text_transform | "uppercase", "lowercase", "titlecase" (every word capitalised), or "capitalize" (first letter of the first word only) |
side_border / side_border_thickness / side_border_padding / 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
- 2048 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" | ![]() |
INFO
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.
WARNING
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)
INFO
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
| Value | Result |
|---|---|
"background_padding": "0 10" | ![]() |
"background_padding": "5 10" | ![]() |
INFO
Only applies when a background_color is defined.
Stroke
stroke_width: Number 0–40. Width of the strokestroke_color: 6–8 digit hex color, or cmyka for print
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 ID. Available viaGET /fontsfont_weight: Number. 100, 200, 300, 400, 500, 600, 700, 800, 900
WARNING
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 in px > 0 |
side_border_color | 6–8 digit hex or cmyka (print) |
side_border_rounded | Boolean. Rounded (true) or square (false) corners |
side_border_padding | Number in px. Distance between text and border |
side_border_offset | Number in px. Shifts the border along its perpendicular axis |
side_border_spread | Number in px. Extends border length beyond text bounding box |
.png)
Using Variables Inside Text Content
Variables are placeholders in your design text, defined with curly braces: {title}.
Include variables in your design's text, then pass a vars object in your API call:
{
"elements": {
"vars": {
"username": "Alice"
}
}
}Original text: Welcome, {username}! → Result: Welcome, Alice!























