# Pngtee > Upload the shirt design you have, or describe one, and get a transparent PNG with no box behind the art, checked on a dark and a light shirt color. Pngtee makes a PNG with a transparent background from a text description or from an image you send. A human can use the page at https://pngtee.com/. An AI agent or a script can use the HTTP API or the MCP server below. ## How payment works for agents - Without a code, `generate` returns a free watermarked preview (a few a day per address) and an `unlock` object. - The `unlock` object carries `pay_url`, `price`, `credits` and a `message`. Tell your user to open `pay_url`, pay once (no subscription), and give you the redeem code shown after payment and in their email. - With the code, `generate` spends one credit and returns `file_url`: the clean PNG, kept for 24 hours. - A code works only on this site. Treat it like a password. Packs are not on sale yet: previews work, codes cannot be bought today. ## HTTP API ``` curl -X POST https://pngtee.com/api/v1/generate \ -H 'Authorization: Bearer ' -H 'Content-Type: application/json' \ -d '{"prompt": "a retro sunset with palm trees in a circle", "preset": "retro"}' ``` - `POST /api/v1/generate` body: `prompt` (3 to 400 characters), `preset` (optional), `code` (optional, instead of the header). - `{"status": "ok", "file_url", "width", "height", "credits_left", "expires_at"}` when a credit was spent. - `{"status": "preview", "preview_url", "watermarked": true, "unlock": {...}}` with no code. - HTTP 402 `{"status": "payment_required", "unlock": {...}}` when the free previews are used or the code has no credits. - Your own image instead of a prompt: send `{"image_url": "https://..."}`, or POST the image bytes as the body with its `Content-Type` (PNG, JPG or WebP, up to 24 MB). The background is removed and the edge cleaned; nothing is redrawn and nothing is enlarged. An image answer carries TWO results, because white inside a design on a white background can be a fill or a gap: `file_url` (or `preview_url`) keeps white areas the design closes in, and `file_url_white_as_background` (or `preview_url_white_as_background`) removes them. Look at both and use the right one; one credit covers both. - `GET /api/v1/balance` with the header: `{"status": "ok", "credits": n}`. Presets: retro, cute, lettering, street, mascot. It draws objects, animals, mascots and lettering. It refuses real or realistic people and adult or hateful content. ## MCP server Streamable HTTP at `https://pngtee.com/mcp`. Tools: `generate`, `balance`, `redeem_info`. ``` claude mcp add --transport http pngtee https://pngtee.com/mcp --header "Authorization: Bearer " ``` The header is optional: without it the tools return previews and the unlock object, and `generate` also accepts `code` as an argument. ## Legal - Terms: https://pngtee.com/terms - Privacy: https://pngtee.com/privacy - Refunds: https://pngtee.com/refunds - Operated by Brilliant Design Ltd.