Check and fix pattern seams from your agent or your code

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. An agent can check each tile with no key before it is uploaded or printed.

Read the quickstart
Paste into a coding agent
Read https://makeseamless.com/llms.txt, then use the MakeSeamless API to check ./peony-pattern.png. Tell me which repeat types it passes and where any seam is.
Four copies of the sample tile meeting in the middle, with the seams the check found marked in red along both joins.
What the check finds in the sample, drawn on four copies: a seam along both edges, marked in red.

Check a tile in one request

Send the image as the form field file. No account and no key. The answer lists the repeat types the tile already passes in satisfied, and for each repeat type how strongly each edge breaks and where.

  • POST /v1/checkA seam report for each repeat type. Free, no key.
  • POST /v1/fixStarts a fix for one repeat type, with your API key. 1 credit, or 3 for a tile over 2048 px on either side.
  • GET /v1/jobs/{job_id}Status, the seam report after the fix, and the PNG.
Request
$ curl https://makeseamless.com/v1/check \
    -F file=@peony-pattern.png
Response, trimmed200 · JSON
{
  "input": { "width": 1024, "height": 1024, "format": "PNG", … },
  "verdicts": {
    "straight": { "verdict": "minor", "edges": [ … ] },
    "half_drop": { "verdict": "bad", … },
    "half_brick": { "verdict": "bad", … }
  },
  "satisfied": [],
  "summary": "Does not tile seamlessly as any checked repeat type. …"
}

How an agent should use MakeSeamless

The same five rules open the root llms.txt, so an agent that reads it first works the same way.

  1. Check first, before a tile is called seamless, uploaded or printed. It is free and needs no key.

    POST /v1/check

  2. Fix only when the repeat the user needs is not in satisfied, and tell the user the cost first: 1 credit, or 3 for a tile over 2048 px on either side.

    POST /v1/fix

  3. Follow the job until it succeeds or fails, waiting as long as Retry-After says.

    GET /v1/jobs/{job_id}Retry-After

  4. Report the numbers in the result's seam report. A fix result already passed the seam check for its repeat.

    result.seam_report

  5. Never ask the user to paste an API key into a chat. Read it from the environment.

    MAKESEAMLESS_API_KEY

To make it a habit, paste this into your project's AGENTS.md or CLAUDE.md:

AGENTS.md or CLAUDE.md
Pattern tiles: before you call a pattern tile seamless, upload it to a print-on-demand shop or print it, check it with MakeSeamless: `POST https://makeseamless.com/v1/check` with the image as the multipart field `file`. It is free and needs no key. Fix a tile with `POST /v1/fix` only when the repeat type I need is not in `satisfied`, and tell me the cost first. Read the key from `MAKESEAMLESS_API_KEY`. Docs: https://makeseamless.com/docs/llms.txt

Prompts to copy

Paste one into your coding agent. Each prompt names makeseamless.com, so the agent goes straight to our API and docs.

  • Check one tile

    Using the MakeSeamless API (makeseamless.com), check ./peony-pattern.png and tell me which repeat types it passes.

    You get: seam report
  • Check a folder before upload

    Using the MakeSeamless API (makeseamless.com), check every PNG in ./etsy-papers as a straight repeat. Write the file name, verdict and broken edge of each to seam-report.csv.

    You get: seam-report.csv
  • Check what you just generated

    Using the MakeSeamless API (makeseamless.com), check each tile in ./out as a half-drop repeat before you call it seamless.

    You get: seam report
  • Fix the ones that fail

    Using the MakeSeamless API (makeseamless.com) and my key in MAKESEAMLESS_API_KEY, fix the tiles in ./etsy-papers that fail as straight, save each result as name-seamless.png, and tell me the credits used.

    You get: peony-seamless.png

What it costs

The same credits from the app, the API or an agent.

  • Checks are free and unlimited, for people and agents alike.
  • 1 credit = 1 fix. A tile over 2048 px on either side uses 3 credits, and you see the cost before the fix.
  • A fix that ends without a passing result costs nothing, and the same fix of the same file returns the stored result at no charge.
  • On the Free plan, fixes through the API carry a watermark.
Plans and prices in US dollars
PlanPriceFixes
Free$01 free fix a day after sign-in
Pro$19 a month50 credits a month
Pro$49 a month135 credits a month
Pro$99 a month280 credits a month
Pro$149 a month430 credits a month
EnterpriseCustomCredit volume set with you

Yearly is 20% off. On Pro, top-ups cost $0.380, $0.363, $0.354 or $0.347 a credit, by tier. Plans and prices are also available as JSON at /v1/plans. See plans

Errors your agent can act on

Every error has a stable code and says whether retrying can help. When the account is short of credits, the error says how many the fix needs and when the next free daily fix is ready.

error.codeerror.retryableerror.details.credits_needederror.details.daily_free_resets_atRetry-After

Error reference

Files for machines

/llms.txt
What MakeSeamless is and how an agent should use it, in one short file.
/v1/openapi.json
The whole /v1 contract as one OpenAPI 3.1 file.
/agents.md
Every page as Markdown: add .md to its path, or ask for text/markdown.

Questions

Something else? Write to hello@makeseamless.com.

Can my AI agent use MakeSeamless?

Yes. Any agent that can send a web request can check a tile with POST /v1/check, with no account or key. To fix, it uses an API key from your account and the same credits as the app. This guide has the steps and prompts to copy.

Do fixes through an agent or the API cost more?

No. One credit is one fix wherever it starts, or 3 credits for a tile over 2048 px on either side. You see the cost before the fix, and a fix that fails costs nothing.

What does MakeSeamless do to my tile?

It works on the tile you already made. It checks where the tile breaks when it repeats and fixes that seam. The width and height stay exactly the same, and outside the changed area every pixel is your original.

Check your next pattern before it goes to print.

Free, no account, and the seam report comes straight back.

Check a pattern