image.marketplace_check
Check a product photo against a marketplace's listing-image rules before the seller uploads it: shopee, lazada or tiktok_shop. Free and read-only: the platform's own deterministic check, which stores nothing, calls no marketplace and uploads nothing. Returns JSON {images: [], price ($0.00), output: {verdict (pass, fail or partial), failed, advice, skipped, file: {width, height, format, bytes}, rules: [{rule, level (required or recommended), status (pass, fail or skipped), expected, measured, fix, reason, source, checked, note}]}, next}. It checks the minimum and maximum size, the square shape, the file type, the file size and a white background; each rule names its source page and the day it was read, and a figure read through search results says UNVERIFIED in its note. The background is read from the pixels, up to 4,194,304 pixels (for example 2048x2048); a JPEG, WebP, GIF, HEIC or interlaced PNG is read through the Images binding at no charge. That one rule is skipped, with every other verdict kept, for a larger image (reason SIMPLER_EDIT_SERVER_PIXELS_TOO_LARGE: run image.convert with width and height 2048, then check the copy), or with the binding's reason when it cannot read the image: SIMPLER_IMAGES_BINDING_ABSENT when this deployment has no Images binding yet (owner step O-2: send a standard PNG copy to check it), or SIMPLER_IMAGES_QUOTA_EXCEEDED, SIMPLER_IMAGES_LEGACY_SUBSCRIPTION, SIMPLER_IMAGES_INPUT_UNREADABLE, SIMPLER_IMAGES_INPUT_TOO_LARGE or SIMPLER_IMAGES_TRANSFORM_FAILED, each with its fix in the rule. Added text and watermarks are skipped with reason SIMPLER_EDIT_MARKETPLACE_TEXT_CHECK_UNAVAILABLE or SIMPLER_EDIT_MARKETPLACE_WATERMARK_CHECK_UNAVAILABLE until the vision check lands (look at the image yourself). Refuses: SIMPLER_MEDIA_INPUT_MISSING (pass the url or the asset_key), SIMPLER_MEDIA_FOREIGN_KEY (use this workspace's asset_key), SIMPLER_MEDIA_URL_REFUSED (use https, data:image or an asset_key), SIMPLER_MEDIA_PIN_TOO_LARGE (under 20MB); VALIDATION_ERROR for a platform outside the list; VALIDATION_ERROR whose reason is SIMPLER_MEDIA_EMPTY, SIMPLER_MEDIA_UNKNOWN_TYPE, SIMPLER_MEDIA_KIND_NOT_ALLOWED, SIMPLER_MEDIA_SVG_REFUSED or SIMPLER_MEDIA_DIMENSIONS_UNREADABLE (send a JPEG, PNG, WebP, GIF or HEIC) or SIMPLER_MEDIA_PNG_CORRUPT (save it again as a standard PNG); for a HEIC only, the binding's reason when it cannot read the size (SIMPLER_IMAGES_BINDING_ABSENT while this deployment has no Images binding: send a JPEG or PNG copy); and INSUFFICIENT_CREDITS or PAYMENT_REQUIRED only when the workspace is already overdrawn or past its spend cap (add credits or raise the cap). NEXT: apply each failed rule's fix, for example image.add_shadow with transparent false and background #ffffff for a white background, or image.convert with format jpeg (and width and height for a size rule) for a file type, size or file-size failure, and check again.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | The marketplace whose listing-image rules to check: shopee, lazada or tiktok_shop. | |
| image_url | No | Product photo to check: a public https URL, a data:image/...;base64 URL, or the url/url_path of an earlier image result (max 20MB; PNG, JPEG, WebP or GIF; SVG is refused). Pass this or the matching *_asset_key, not both. | |
| image_asset_key | No | Product photo to check, as the asset_key of an earlier image result for this workspace (edit-projects/<tenant>/... or images/<tenant>/...). A key from another workspace is refused (SIMPLER_MEDIA_FOREIGN_KEY). |