Skip to main content
Name any Google Fonts family in style.font and it is fetched at render time. Nothing to upload, no configuration.
Seven families are bundled into the render image and resolve instantly, with no fetch: Inter, Roboto, Montserrat, Poppins, Oswald, Anton, Bebas Neue.

a display family for the headline, Arabic and Devanagari through the bundled fallbacks

Your own font files

Put the file URLs in the job’s fonts input, each under a family name you choose, then reference that name in style.font.
There is no limit on how many you declare. TTF, OTF, TTC, WOFF and WOFF2 all work, and an uploaded asset’s content URL works in src like any other input URL. Naming your own font is the point. The alternative is to reference the family name buried inside the file, which you have to discover with a font inspector and which is frequently not what the file is called. Omit family and that embedded name is read for you, so { "src": "..." } on its own is also valid. A family you declare shadows a bundled one of the same name, exactly the way an @font-face rule beats a system font in CSS. Declare a font called Inter and yours is the one that renders. For a single file, inputs.font is the shorthand. It is addressed as custom:

Fallback stacks

style.font takes a CSS-style list, and it falls through in order:
This is a failure policy, not a preference. If your CDN is unreachable or a Google family cannot be fetched, the render continues with the next entry instead of failing the job or silently substituting whatever the system happens to have. Every substitution is reported on the job:
A value naming nothing resolvable is rejected at submit, which catches the common mistake of pasting a font URL into style.font instead of into fonts.

Weights and languages

weight runs 100 to 1000. Variable fonts honour it exactly; a static family snaps to its nearest available cut, rounding up on a tie. Latin, Cyrillic, Greek, Vietnamese, Turkish, Arabic, Hebrew, Thai, Devanagari, Bengali, Tamil, Amharic, Khmer, Chinese, Japanese and Korean all render, with right-to-left joining and conjunct shaping handled by the engine. Colour emoji does not render in text assets.
Last modified on September 24, 2026