Skip to main content
POST
Tells you whether a tile meets its own copies cleanly before you repeat it across a product. Send the tile as a public url or as base64, the same way as a background removal. The answer comes back in the same call, and a check costs no credits. status reads seamless, faint_seam or visible_seam. seams lists only the joins that are not seamless. left_right is where the right edge of one copy meets the left edge of the next, and top_bottom is where the bottom edge meets the top. Each entry has its own status and its ranges: half open pixel spans, [start, end), along that join. They count rows on left_right and columns on top_bottom, so you can point at the exact stretch that breaks. Send crop_aspect, the width divided by the height, when the render places the tile with fit set to crop. The tile is then cut exactly the way the render cuts it, the cut tile is what gets checked, and width and height report its size. fixable says whether Fix seams accepts the tile. When it does not, unfixable_reason says why: transparent_edges for a tile with transparent pixels along its edges, too_large for a tile above the size a fix takes. previous_fix hands back your latest successful fix of the same image and crop, so you can reuse a tile you have already repaired instead of paying for it again.
Checking the same image with the same crop_aspect again returns the first answer at once, and a repeat check does not count toward the seam check rate.

Authorizations

x-api-key
string
header
required

API key with sm_ prefix. Get your key at https://sudomock.com/dashboard/api-keys

Body

application/json

Body for POST /api/v1/check-seams.

The image source takes the same fields as background removal, and exactly one of them.

url
string | null

URL of the tile image (HTTP/HTTPS). Send either url or base64.

base64
string | null

Raw base64-encoded image bytes (no data: prefix). Send either url or base64.

content_type
string | null

Optional. The file type is detected from the image itself, so this field can be left out.

Pattern: ^image/(png|jpeg|webp|gif)$
crop_aspect
number | null

Optional. Width divided by height of the tile when the render places the artwork with fit "crop". The image is cut exactly as that render cuts it, then checked. Leave it out to check the whole image.

Required range: x > 0

Response

200 - application/json

Successful Response

Whether the tile repeats cleanly, and where it does not.

data
SeamCheckData · object
required

The check result for the tile.

success
boolean
default:true

Success status