Developers
Pngtee answers agents and scripts on this site: an MCP endpoint and a plain HTTP API. Without a code a call returns the same free watermarked preview a visitor gets. With the code you get after buying a pack, a call spends one credit and returns the clean file.
1. MCP
Streamable HTTP at https://pngtee.com/mcp. Tools: generate, balance, redeem_info.
claude mcp add --transport http pngtee https://pngtee.com/mcp
With a code, add the header: --header "Authorization: Bearer YOUR-CODE". The code is optional: generate also takes it as the code argument.
2. HTTP API
curl -X POST https://pngtee.com/api/v1/generate \
-H 'Authorization: Bearer YOUR-CODE' \
-H 'Content-Type: application/json' \
-d '{"prompt": "a retro sunset with palm trees in a circle", "preset": "retro"}'
POST /api/v1/generate takes JSON: prompt (3 to 400 characters), preset (optional: retro, cute, lettering, street, mascot), code (optional, instead of the header). To send your own image, give image_url (https), or POST the image bytes as the body with its image content type (PNG, JPG or WebP, up to 24 MB). The request must be application/json or an image.
Answers: {"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. An uploaded image can answer with two results (file_url and file_url_white_as_background); one credit covers both.
GET /api/v1/balance with the header answers {"status": "ok", "credits": n}. The code is read from the Authorization header only, never from the URL.
3. Paying
The unlock object carries pay_url, price, credits and a message for your user. A person pays once on this site and gets the code on the page and by email. A code works only on Pngtee. Treat it like a password.
4. Limits
Free previews are counted per address and per day. A result and its file are kept for 24 hours. Requests for real people, and adult or hateful content, are refused and cost nothing.
The same text for machines: /llms.txt.