- Catch a line before a customer does: a seam repeats across every copy of the tile, so one bad join becomes a grid of them on the product.
- Repair a file you cannot redraw: a customer upload or a stock tile that almost repeats.
- Run a catalogue unattended: check every pattern in a batch and only stop for the ones that need a decision.
When a check applies
A check looks at the joins between copies, so it applies when the copies touch:tile is true and tile_spacing is 0 or left out. With a gap, the copies
never meet and there is no seam to find.
The fit mode decides what to send. With fill, check the file as it is. With
crop, send crop_aspect, the tile’s width divided by its height, and the
check runs on the same cut the render makes. With fit, the artwork fills the
tile only when its proportions match the tile’s; when they differ, each copy
sits in its own margin and there is nothing to check.
Fit and blend modes covers the three modes.
Check a tile
cURL
data.status is the answer to act on.
data.seams names each join that is not seamless and the pixel stretches
where it breaks, so you can show a person exactly where to look.
Check seams lists every field.
Fix a tile
1
Read fixable
The check already says whether a fix will be accepted.
fixable is false
with unfixable_reason set to transparent_edges when the tile has
transparent pixels along its edges, and to too_large when it is above the
size a fix takes. A fix refuses both before anything is charged.2
Start the fix
Send the same body to
POST /api/v1/fix-seams, with an
Idempotency-Key header. The call answers 202 with a job_id.cURL
3
Follow the job
Poll Retrieve a single job
every few seconds until
status is succeeded, failed or cancelled.
stage moves forward through queued, fixing and finishing, so a
progress line has something true to say.Node.js
4
Render with the result
Put
result_url in the render as the tile’s artwork, with the same fit
and size you checked with.Response
Read the result
result_status is a free check of the repaired tile. changes reads edges when only the area around the
joins changed, and whole_tile when the tile was rebuilt as a whole and fine
detail can look softer. When alternative_url is set, a second repair also
passed; show both to a person when they are choosing.
A failed job carries TILE_NOT_FIXABLE or SEAM_FIX_FAILED, and its credits
are returned. On TILE_NOT_FIXABLE, details.reason is not_a_pattern_tile
when the image is not a repeating tile and no_clean_result when no clean
repeat could be made from it. Errors says which
one is worth a retry.
Take the result by webhook
Instead of polling, subscribe an endpoint toseam_fix.succeeded and
seam_fix.failed. The delivery carries result_url and alternative_url
beside the usual envelope, and Webhooks covers
registering the endpoint and checking the signature.
Reuse a tile you already fixed
The repaired files are kept. A later check of the same image with the samecrop_aspect returns your latest successful fix in previous_fix, with its
job_id, result_url and alternative_url, so you can reuse the repair you
bought instead of buying it again.
A warning on the render
A render that repeats a tile with the copies touching addsTILE_SEAM_VISIBLE
to its warnings when that tile was checked before and showed a visible seam.
The warning is advice only, and the render still succeeds. A tile that was
never checked carries no warning, so check it first.
What it costs
A check costs nothing. A fix is charged at the weight in the credit table, taken when the job is accepted and returned if it fails. Without a plan, the price per fix is on Pay as you go. Repeat checks of the same tile do not count toward the seam check rate.Check seams
Every field of the check request and answer.
Fix seams
The fix job, its limits and its results.