Add Text to T-Shirt Mockups over the API

Send a new name, number, font, and color to the text layers in your t-shirt PSD and get back a finished mockup, no manual editing per variation.

per rendered shirt
1 credit
per rendered shirt
unlimited name variations
1 PSD
unlimited name variations

To put text on a t-shirt mockup programmatically, upload a PSD whose front print is a live text layer, then send the new wording at render time. Each render call returns one personalized name-and-number mockup; repeat the call with new values for the rest of the roster.

How text personalization works on a t-shirt

Three steps take one t-shirt template to repeatable personalized outputs, with one render call per output.

  1. Step 1

    Design the front print as a text layer

    In your t-shirt PSD, keep the player name and number as editable text layers rather than flattening them into the artwork. Anything you leave as a text layer becomes a personalization slot.

  2. Step 2

    Read the layer ids from the upload response

    Uploading the PSD lists every text layer with its current text, font, size, and color. Grab the uuid of the name slot and the number slot; those are the handles you send new values to.

  3. Step 3

    Render each shirt with its own values

    Loop your roster and send one render call per athlete, each with a different name and number. Each call returns one finished shirt mockup in the font the designer chose.

Styled segments

Mixed-style text on a t-shirt, editable run by run

A jersey where the surname sits big and bold above a thin roster number.

RODRIGUEZ / 07

When the name and number live in one styled layer, each part stays editable on its own. Swap "RODRIGUEZ" for "CHEN" and "07" for "23" and the heavy surname weight and the lighter number weight both carry through untouched.

Representative render request

Personalize the name and number on one shirt template.

POST /api/v1/renders -- t-shirt text
{
"mockup_uuid": "c315f78f-d2c7-4541-b240-a9372842de94",
"text_layers": [
{ "uuid": "11111111-1111-4111-8111-111111111111", "text": "CHEN" },
{ "uuid": "22222222-2222-4222-8222-222222222222", "text": "23", "color": "#1E3A8A" }
],
"export_options": { "image_format": "webp", "image_size": 2048 }
}

Replace mockup_uuid and each text-layer uuid with values from the upload response, then send only the layers you want to change.

What powers every t-shirt render

SudoMock renders the text layers in your PSD, so you can swap the wording, font, size, and color at render time and get back an image that keeps the look the designer built.

  • 2,000+ open-licensed font families, free for commercial use
  • Custom TTF and OTF font upload, up to 5 MB each, on Pro and Scale
  • Styled segments: mixed-style layers stay editable run by run
  • Box text: area text wraps inside its box and clips exactly as designed

The built-in font catalog is the full open-licensed Google Fonts library (2,000+ families under OFL, Apache, and UFL licenses), free to use in commercial work. Pro and Scale plans can also upload their own TTF and OTF fonts.

Questions about t-shirt text mockups

Can I generate personalized name-and-number t-shirt mockups from one PSD?

Yes. Keep the name and number as text layers in the PSD, then send a render call per athlete with different values. One template produces a full personalized run without opening Photoshop for each shirt.

Will the front print keep the exact font from my t-shirt design?

When the text layer's original font is in your catalog it renders with it automatically. If it is not, the layer still renders in a default font and the response flags it, so you can upload the exact font or pick a catalog one and render again.

Personalize your t-shirt mockups over the API

Start free with 500 credits. Upload a PSD, send your text, get a finished image URL back.