> Lettrove docs 1.x · https://docs.lettrove.com/docs/going-live/limits

# Limits

| Limit | Value | When it is reached |
|---|---|---|
| Token lifetime | 60–900 seconds (default 900) | The editor asks your `getToken` for a new one first |
| One design | 2 MB as stored (images are links, so this is a great deal of content) | `message_too_large`; the editor says so |
| One uploaded image | 10 MB | `message_too_large` |
| Image types | PNG, JPEG, GIF, WebP, or an SVG with no scripts in it | `image_unsupported`, naming the rule it broke |
| Restore points | 50 per design | The oldest is dropped |
| Email width | Up to 800px (600px is usual) | — |
| Landing page width | Up to 1600px | — |
| Popup width | Up to 1200px | — |
| Webhooks | 5 per project | Adding a sixth is refused |
| Webhook answer | 10 seconds, any `2xx` | Retried, eight tries in all |
| Allowed sites | No fixed limit | — |
| End users, designs | No fixed limit | — |

## Requests per minute, per secret key

| Calls | Limit |
|---|---|
| Token requests | 600 |
| Lists and reads (`designs.list`, `designs.get`) | 600 |
| Exports | 120 |
| Renders | 120 |
| Erasures | 60 |

Over a limit: `429 rate_limited` with a `Retry-After` header in seconds (`retryAfter` on
`LettroveApiError`). Spread batch work out, or contact support for more.

## Email size

Gmail clips an email past about **102 KB** behind "View entire message". Every export of a larger
email carries a warning in `warnings`. Images do not count — they are loaded from their addresses.

## AI

Image generation uses **credits** from the plan of the Lettrove account that owns your workspace.
When they run out, it stops until the next period; everything else keeps working. Switch it off for
a whole project in Settings → Embed → your project → **AI**, or for one page with
`features: { ai: { images: false } }`.
