# How Tesseract designs a postcard you can print

> Say the occasion and who it is for: Tesseract designs both sides, draws the picture, picks readable words and saves a PDF at the card's real size.

By Liviu Maftuleac · published 2026-11-03 · updated 2026-11-05 · How it works, Makers, Design
Source: https://tesseract.dev/blog/postcard-maker/

Tesseract's postcard maker starts from the occasion and who the card is for, then asks only how the picture should look, who signs it and the size. It shows both sides before anything is drawn. Then it draws the front picture, picks light or dark words to suit it, and saves a PDF at the card's real size or two 300 dpi pictures.

This post explains how it works: the few questions, the design you approve before any picture is made, how the headline stays readable over a picture nobody has seen yet, and how one drawing becomes both what you see on screen and the file you print.

## What does the postcard maker make?

A postcard with both sides done, laid out the way a postcard always is:

- **The front**: a picture filling the whole card, with an optional headline set over it in a typeface chosen for the occasion.
- **The back**: your message on the left, a line down the middle, a stamp box at the top right, and four address lines, either filled in or left blank to write on.

You start it from the "Make a postcard" card on Home, from the command palette, or by asking for a postcard in any conversation. You describe the occasion in a sentence: "for my mum's 60th birthday, from me and my brother", "greetings from our trip to Lisbon, for my grandparents", "a thank-you card for the nurses who looked after my dad".

## What does it ask, and what does it leave alone?

The conversation's own model reads your sentence into a brief: the occasion, who it is for, who it is from, the words you want if you gave any, and your idea for the picture if you have one. It writes these down only as you said them. "From me" never becomes an invented name; the card is simply signed by whoever you named, or left unsigned.

Then it asks only what is still open, one question at a time:

1. **How should the picture look?** These are the same styles as the picture maker (photo, illustration, 3D, flat, painting, cartoon), each with a sample.
2. **Who is it from?** The name to sign it with, or leave it unsigned.
3. **What size?** A6 (148 × 105 mm, the standard postcard in Europe), 6 × 4 inches (the US standard), or 7 × 5 inches for a larger greeting card.

Each question has "You choose". If you leave everything to the maker, the picture style is picked to suit the occasion, the card is unsigned, and the size is A6.

## Why is the design shown before the picture?

Drawing the picture is the step that costs credit and takes time, and a picture is the hardest thing to describe a change to. So the maker sorts out everything else first. One structured request returns the whole design:

- **The headline**, up to six words ("Happy 60th, Mum!", "Greetings from Lisbon"), and where it sits: at the top (a picture with open sky), at the bottom (a calm foreground such as water, a table or snow), in the centre (a bold, simple picture), or no headline at all.
- **The picture**, described in English for the image model: the subject, the scene specific to what you said, the light and colours, and the composition, with calm space left where the headline will go.
- **The message**, in your language: 25 to 70 words, warm and specific to what you told it, never repeating the headline, with a greeting, the message, and the sign-off on its own line. If you gave your own wording, it is kept.
- **The type**: one of six pairs of a headline face and a message face.
- **The back's paper and ink colours**, chosen to suit the picture.
- **Portrait or landscape**, and the **address lines** if you gave an address.

The card beside the chat shows this design, already set in its real fonts: the headline over the space the picture will fill, and the finished back. You change it by talking ("a shorter message", "put the headline at the bottom", "make it more formal"). Nothing is drawn until you press "Make the postcard".

The six type pairs, and when the design is told to use each one:

| Pair | Headline / message | Typical use |
|---|---|---|
| Handwritten | Pacifico / Caveat | Family and friends |
| Playful | Fredoka / Patrick Hand | Children, fun occasions |
| Vintage | Abril Fatface / Libre Baskerville | Travel, anything retro |
| Modern | Montserrat / Nunito | A crisp photo, a business |
| Classic | Playfair Display / Lora | A formal card or a sympathy card |
| Elegant | Great Vibes / Cormorant Garamond | Weddings and grand occasions |

The fonts are fetched into the postcard's folder and loaded before any text is measured, so the line breaks you see on screen are the line breaks you get in print. When you are offline, the computer's own face is used and measured the same way, so the print still matches the screen.

## How does the headline stay readable on any picture?

![How the headline's colour is chosen: the band of the picture where the headline goes is shrunk to 60 by 40 pixels and its average brightness measured; under 60 percent gives white words over a soft dark shade, 60 percent or more gives dark words over a soft light shade](https://app.tesseract.dev/api/core/tesseract/blog/media/2383fdfb33e1793da2083328)

The headline goes onto a picture that doesn't exist yet when the design is approved. Two things keep it readable.

**The picture is drawn with room for it.** The request to the image model says where the headline will sit and asks for calm, uncluttered space there. It also says no words, letters, numbers or text anywhere in the picture: image models misspell words, so all the text on the card is set separately in real type. The picture is drawn in the card's shape, landscape or portrait.

**The words take their colour from the picture.** Once the picture exists, the maker shrinks it to 60 × 40 pixels and measures the average brightness of the band where the headline sits. The brightness calculation weights each colour channel by how bright it looks to the eye, so green counts most and blue least. If the band is darker than 60 %, the headline is white over a soft dark shade. Otherwise it is near-black over a soft light shade. A faint shadow around the letters helps on busy pictures.

The headline is fitted too. It may use 84 % of the card's width and stays on one line as long as it can at a good size, down to about 60 % of its largest size. If it still doesn't fit, it wraps onto two or three lines and shrinks in small steps until it fits.

## How does one drawing become the screen and the print?

![The postcard as one drawing in millimetres: the front with its headline and edge-to-edge picture, the back with the message, a divider at 56 percent of the width, a dashed stamp box and four address lines; the same two drawings become the card beside the chat, a PDF with each side a page of real size, and two PNG pictures at 300 dpi](https://app.tesseract.dev/api/core/tesseract/blog/media/0e02567a3c663e4f281cd8a2)

Both sides are drawn as vector drawings measured in millimetres, at the card's actual size. That one drawing is used for everything:

| Output | How it is made from the drawing |
|---|---|
| The card beside the chat | Shown as it is; tap it to turn it over |
| The PDF to print | Two pages, each exactly the card's size with no margin, using the CSS [`@page` size](https://www.w3.org/TR/css-page-3/) rule, colours printed as drawn |
| Two pictures to send | Each side drawn onto a canvas at 300 dpi: an A6 side is 1,748 × 1,240 pixels |
| The front, copied | The front as a picture on your clipboard, ready to paste into a message |

Because there is only one drawing, the PDF can't drift from what you approved on screen. It is the same drawing, at a different resolution.

The back follows a few fixed proportions. The divider sits at 56 % of the card's width. The stamp box is about a fifth of the card's height wide and a quarter high. The four address lines fill the lower half of the right side. The message is fitted into its box: it starts at a comfortable size and shrinks step by step until every line fits, down to a minimum. Languages written without spaces between words are wrapped by character. A portrait card keeps its back in landscape, turned to fit the page, as real postcards do.

## What can you change after it is made?

- **The message**: type straight onto the card. Up to 900 characters are kept, and the fitting above runs again.
- **Anything else**: ask for it ("another picture, with the sea", "headline at the top", "warmer message"). The picture is redrawn only when the change is actually about the picture. A new headline or a shorter message reuses the picture you have.
- **Another picture**: a new one goes on the front, and the earlier ones stay under the card so you can pick one back.

Once you save, the PDF opens in the PDF editor beside the chat and the two sides open in the image editor, so you can make a final touch by hand. If you change the card again and save again, any file you edited by hand is kept in a versions folder first. A file with unsaved changes in an editor is left alone until you save it.

## Questions

**Can I print it at home?**
Yes. Save as PDF gives two pages, each exactly the card's size. Print the front, then the back on the other side of card stock.

**Are the words on the card spelled right?**
Yes. The picture is drawn with no words in it, and the headline and message are set separately in real type.

**Can I write the message myself?**
Yes. Put your wording in your first message and it is kept, or type straight onto the back of the card once it is made.

**Which sizes can I choose?**
A6 (148 × 105 mm), 6 × 4 inches, or 7 × 5 inches, in landscape or portrait.

**Can I send it as a picture?**
Yes. Save pictures gives both sides as 300 dpi PNGs, and you can copy the front to paste straight into a message.

For the other makers, see [every card on Home now opens a guided maker](https://tesseract.dev/blog/every-card-on-home-opens-a-guided-maker/) and [what Tesseract makes](https://tesseract.dev/#made). Your finished cards appear in [Your work on Home](https://tesseract.dev/blog/calls-in-the-app-and-your-work-on-home/), and [do you need an AI subscription](https://tesseract.dev/blog/do-you-need-an-ai-subscription/) explains when picture credit is needed.

[Download Tesseract](https://github.com/opentech-dev/tesseract-release/releases/latest) and open "Make a postcard" on Home.
