Skip to main content
POST
Repairs a tile so its copies meet without a visible line, and returns a job. The body is the same as Check seams: the tile as url or base64, and crop_aspect when the render will crop it. The call answers 202 with a job_id and kind set to seam_fix. Follow the job with Retrieve a single job, or take the seam_fix.succeeded webhook. A fix costs 60 credits. They are taken when the job is accepted and returned in full when it fails. Send an Idempotency-Key header and reuse it only to retry the same request, so a retry after a timeout returns the first job instead of starting a second one. A tile can be fixed up to 3,500 px on each side. A larger tile answers ARTWORK_DIMENSIONS_TOO_LARGE with the limit in details.max_edge, and a tile with transparent pixels along its edges answers 422 with TILE_HAS_TRANSPARENT_EDGES. Neither is charged. Run Check seams first and read fixable to know before you send. While the job runs, stage moves forward through queued, fixing and finishing. The finished job carries: A job that fails answers TILE_NOT_FIXABLE when the image does not repeat as a tile or no repair of it came out clean, or SEAM_FIX_FAILED when the fix could not be finished and is worth trying again. On TILE_NOT_FIXABLE, details.reason is not_a_pattern_tile or no_clean_result. Both return the credits. The repaired files are kept, and a later check of the same tile hands them back in previous_fix.

Authorizations

x-api-key
string
header
required

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

Headers

Idempotency-Key
string

Optional. A key you choose for this request, up to 255 characters. A retry with the same key returns the same job and is not charged again.

Body

application/json

Body for POST /api/v1/fix-seams: the same fields as a seam check. The tile is fixed exactly as the check sees it, crop included.

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 fixed. Leave it out to fix the whole image.

Required range: x > 0

Response

202 - application/json

Fix queued. Poll status_url for the result.

Acknowledgement that an async request was accepted as a job.

job_id
string
required

Identifier of the queued job, used to poll its status.

Example:

"5f1c0b2a-7d43-4e9a-8c16-0b5d3f7a2e94"

kind
string
required

The kind of work accepted: render, upload, photo_mockup_render or seam_fix.

Example:

"render"

status
string
required

State of the job when this response was returned, usually queued.

Example:

"queued"

status_url
string
required

Path to poll for this job's status.

Example:

"/api/v1/jobs/5f1c0b2a-7d43-4e9a-8c16-0b5d3f7a2e94"