SellShot API
Background removal, listing quality checks and marketplace-ready exports over plain HTTPS. Same credits as the app: 1 credit = 1 processed image; re-composing an existing cutout is free.
Create a key in the app (Account → API keys) and send it as a header. Keys are shown once; we store only a hash.
X-API-Key: pk_live_…
Quick start
curl -X POST https://api.pixready.app/api/marketplace \ -H "X-API-Key: $PIXREADY_KEY" \ -F file=@product.jpg -F target=amazon -o amazon_main.jpg
# Will Amazon accept this photo? (free quick estimate; with_cutout=true = AI-accurate, 1 credit) curl -X POST https://api.pixready.app/api/check \ -H "X-API-Key: $PIXREADY_KEY" -F file=@product.jpg -F target=amazon_com -F with_cutout=false
# Python
import requests
r = requests.post("https://api.pixready.app/api/effect",
headers={"X-API-Key": KEY},
files={"file": open("shoe.jpg","rb")},
data={"effect": "shadow", "bg_mode": "scene", "scene": "podium", "size": "1600x1600"})
open("shoe_podium.jpg","wb").write(r.content)
print(r.headers["X-Credits-Left"])
Endpoints
| Endpoint | Body (multipart) | Returns | Credits |
|---|---|---|---|
| POST/api/remove-bg | file | transparent PNG | 1 |
| POST/api/check | file, target, with_cutout | JSON: score, verdict, checks[], fixes[] | 0 / 1 |
| POST/api/marketplace | file, target | listing-ready JPG | 1 |
| POST/api/effect | file, effect=shadow|enhance|upscale, factor, bg_mode, scene, color, size, fill, bg_file, logo, skip_cutout | PNG/JPG | 1 (0 if skip_cutout) |
| POST/api/variants | file, colors=red,blue,…, bg_mode, … | ZIP | 1 |
| POST/api/pack | file, items=instagram_post,story_reel,…, bg_mode, scene, logo | ZIP | 1 |
| POST/api/compose | file (transparent PNG), bg_mode, scene, bg_file, size, fill, logo | PNG/JPG | 0 |
| POST/api/bulk | files[] ≤200, mode, target, color | ZIP + _consistency.json | 1 / image |
| GET/api/marketplaces · /api/scenes · /api/presets · /api/pack-sizes · /api/config | — | JSON lists | 0 |
| GET/api/me · /api/history | — | balance, ledger | 0 |
Targets
India: amazon flipkart meesho myntra · Global: amazon_com etsy ebay walmart tiktok_shop · Both: shopify instagram_shop
Response headers
X-Credits-Left on every paid call · X-Processed/X-Failed/X-Consistency-Before/X-Consistency-After on bulk · X-Preview: guest when unauthenticated (600px, watermarked).
Errors
401 missing/invalid key · 402 not enough credits · 413 file > 15 MB · 422 every image in a batch failed · 429 rate limited (60 req/min per key).
Tips
Cache the cutout: call /api/remove-bg once, then send the PNG to /api/compose, /api/effect or /api/variants with skip_cutout=true — unlimited free re-renders of the same product.