# MakeSeamless > MakeSeamless (makeseamless.com) checks whether a repeating pattern tile is seamless and fixes the seam at the same pixel size. The check is free and needs no account, every fix you download passes the seam check for the repeat you chose, and a fix with no passing result costs nothing. MakeSeamless is for print-on-demand and surface-pattern sellers: fabric and wallpaper on Spoonflower, digital papers on Etsy, and products on Redbubble and Printful. A tile can look finished and still show a line where its copies meet, often only at print size, so the file that will be printed is checked each time it changes. **Key facts** - Check: reads where copies of the tile meet and gives a verdict for straight, half-drop and half-brick repeats, with how strongly each edge breaks and where. Free, unlimited, no account. - Fix: makes the tile repeat seamlessly for the repeat type you choose, and the result has passed the seam check for it. Same width and height; outside the changed area every pixel is the original; lossless PNG. Usually ready in under 30 s. - Credits: 1 credit = 1 fix. A tile over 2048 px on either side uses 3 credits, shown before the fix. A fix that fails costs nothing, and the same fix of the same file returns the stored result at no charge. - Plans (USD, as of 2026-11): Free has unlimited checks and 1 free fix a day after sign-in. Pro is $19 a month for 50 credits, $49 for 135, $99 for 280 or $149 for 430; yearly is about 20% off. Enterprise by contact. Live prices: GET /v1/plans. - Files: PNG, JPEG or WebP up to 40 MB. Fixes take tiles up to 3600 x 3600 px. **How agents should use MakeSeamless** 1. Check first, before a tile is called seamless, uploaded or printed: `POST https://makeseamless.com/v1/check` with the image as multipart field `file`. No key. Repeat types that pass are in `satisfied`. 2. Fix only when the repeat the user needs is not in `satisfied`. Tell the user the cost first. `POST /v1/fix` with `file`, `repeat` (`straight`, `half_drop` or `half_brick`) and the user's API key in the `x-api-key` header (`x-api-key: smls_...`). 3. Poll `GET /v1/jobs/{job_id}` until `status` is `succeeded` or `failed`, waiting as `Retry-After` says. The PNG is at `result.image_url`. 4. Report the numbers in the result's seam report. A fix result already passed the seam check for its repeat. 5. On `insufficient_credits`, tell the user `error.details.credits_needed` and `error.details.daily_free_resets_at`. Never ask the user to paste an API key into a chat. Last reviewed: 2026-11-04 ## API - [OpenAPI 3.1](https://makeseamless.com/v1/openapi.json): the full /v1 contract - [Quickstart](https://makeseamless.com/docs/quickstart.md): check and fix in three requests - [Errors](https://makeseamless.com/docs/errors.md): codes, retries and credit errors - [Plans as JSON](https://makeseamless.com/v1/plans): live prices and credits ## Pages - [Checker](https://makeseamless.com/index.md): the free seam check - [Pricing](https://makeseamless.com/pricing.md): plans, credits and top-ups - [For AI agents](https://makeseamless.com/agents.md): agent guide and prompts - [Why tiles show a line](https://makeseamless.com/docs/knowledge-base/why-a-seamless-tile-shows-a-line-in-print.md): where seams come from and what a verified result means ## Optional - [Docs index](https://makeseamless.com/docs/llms.txt): every docs page as Markdown - [Full docs](https://makeseamless.com/docs/llms-full.txt): every docs page in one file