Skip to main content
Five ideas carry every answer the API gives: the repeat type, the seam report, the size guarantee, the changed area and the credit.

What is a repeat type?

A repeat type is how copies of a tile are laid next to each other. A tile can be seamless as one type and not as another, so every check and every fix names the type. A check reports a type that does not fit the size as not_applicable. A fix of such a type answers 422 odd_dimension.

What is in a seam report?

A seam report says, for one repeat type, whether the tile repeats cleanly and where it does not. It reads the tile’s own edges, where copies of it meet: the right side against the left, the bottom against the top, at the offsets the repeat type uses. It does not look for a seam inside the tile, and the check’s summary says so.
  • verdict for the type: ok (no seam), minor (a faint seam), bad (a visible seam) or not_applicable.
  • edges, one per edge. vertical is where the right side meets the left; horizontal is where the bottom meets the top.
  • anomaly per edge: how strong the seam is, on one scale for every edge. Higher is stronger.
  • broken per edge: the stretches where the seam shows, as half-open pixel ranges [start, end). Along the vertical edge they are rows, along the horizontal edge columns.
A check returns one report per requested type. A fix result carries two for its type: before, on your upload, and after, on the result.

Does a fix change the size of my tile?

Every image the API returns has the exact width and height of the image you uploaded, after its orientation is applied. It is a fresh lossless PNG that carries none of the upload’s metadata.

How do I see what a fix changed?

A fix changes the tile only where it has to. Two masks, both the size of the tile, show where:
  • The changed area (changed_mask_url): white where the result’s pixels may differ from the upload, black where they equal it. Usually a band along the edges. Its white share is changed_share.
  • The visibly changed area (visible_changed_mask_url): white where the result looks different from the upload. It lies inside the changed area, and its white share is visible_changed_share.
When no version passes every quality check, the result is one in which every pixel changed, with the outcome resampled. Its changed_share is 1, while visible_changed_share stays much smaller when most pixels changed only slightly. A resampled result passes the seam check, and fine detail may look a little softer.

What do a check and a fix cost?

A check is free. A fix costs credits, and the cost is known before it starts: GET /v1/plans returns it under fix_credits: credits for a fix, and large_credits for a tile above large_above_px on either side.
  • Every account gets one free fix each UTC day, used before any credit.
  • The credits are held when the job starts and come back when it fails with no_seamless_candidate, service_unavailable or interrupted.
  • The same file with the same repeat type, fixed before, returns the stored result marked cached, at no charge. Sent again while that fix is still running, it returns the same job, at no charge.
Credits and plans has the prices and the plans.