The catalog shoot, called from your own code

A REST API that takes flat garment photos in and hands finished on-model images back — inside your PIM, your ERP, your listing tool or a nightly job. No queue to watch, no tab to sit in, no per-caller rate limit.

Start Free → See the endpoints
Included from Business upBearer-token authCredits are the only ceiling

Authentication

One header, one key

Generate a key in the app under Profile → API Keys, up to five per account, and send it as a bearer token.

curl -X POST https://catalogx.app/try-on \ -H "Authorization: Bearer cxk_your_api_key" \ -F "[email protected]" \ -F "model_id=user-42" \ -F "background=user-bg-7" \ -F "resolution=2K"

Keys carry your plan and your credit balance. They are not a separate product with separate pricing — the same call from the app and from your server bills identically.


Surface

What you can actually call

The web app is a client of this API. Anything the app does to an image, a script can do to ten thousand.

EndpointWhat it doesCredits
POST /try-onOne garment on one model. Accepts a saved model, a saved background, a saved pose, a target resolution and free-text direction.1 / 2 / 4
POST /bulk-try-onUp to 20 garments against one model in a single call, with optional streaming progress events.Per garment
POST /ecommerce-try-onA whole marketplace pose set in one call — 3, 5 or 7 shots, plus a back shot when you supply a back image.Per shot
POST /ecommerce-posesExpands one approved image into more poses, anchored on that hero so the face and styling stay fixed.Per shot
POST /color-variantRecolours a garment on an existing result — the same model, pose and light across a colourway run.1 / 2 / 4
POST /ghost-mannequinInvisible-mannequin product shot from a garment photo.1 / 2 / 4
POST /unwrinkleRemoves creases and fold lines from a garment image.1 / 2 / 4
POST /video-generateImage to short marketing clip. Asynchronous: start, poll, download. Business plan and above.3 per second
POST /remove-bgBackground removal, single or bulk.Free
POST /upscaleResolution upscale on an existing image.Free
POST /compressWeight reduction to hit a marketplace file-size cap.Free
POST /export-presetOne master image resized and padded to a channel's spec, with AI-provenance metadata written in.Free
GET/POST /api/my-modelsList and save the models a catalog run should reuse. Saved models, backgrounds and poses each have their own pair.Free
POST /api/projectsCreate a named bucket and assign generations to it, so a drop stays together for filtering and export.Free
POST /api/generations/zipBundle finished images into one ZIP with a manifest.csv mapping every file to its source.Free
GET /api/usageCurrent credit balance and consumption — the call to make before you kick off a big run.Free

That is the shortlist. The full reference — every field, every response shape, targeted fixes, edits, input reuse, catalog cards, brand kit, favourites and the model catalogue — lives in the API documentation, which opens for accounts with API access.


Why it matters at volume

The limits that usually stop a pipeline

Most image APIs meter you twice: once on credits, once on how fast you may spend them.

No rate limit on a verified key

The per-caller request limits that protect the web app do not apply to a verified API key. An integration is supposed to burst; throttling it just moves your catalog deadline to next week.

🔄

No concurrency cap either

Plans cap how many generations one person can have in flight in the app. API calls are exempt from that cap and are not counted against it, so a nightly batch cannot lock your team out of the app while it runs.

🧮

Credits are the only ceiling

One number governs spend, and you can read it before a run with a usage call. There is no API surcharge, no separate API balance and no minimum commitment to get a key.

💰

Failures refund themselves

In a batch you are charged for what succeeded and refunded for what did not. Video jobs reserve credits up front and refund in full on failure, including the job that silently never returns — it is failed and refunded automatically.

👤

Consistency by id, not by prompt

Save a model, a background and a pose once, then pass their ids on every call. A 400-SKU catalog built over three weeks looks like one shoot because it literally references the same assets, not because someone re-typed the same prompt.

📑

Results you can file automatically

Every generation returns an id. Assign it to a project, pull the original inputs back, request a targeted fix, or bundle the batch into a ZIP with a manifest — all without a human opening the gallery.


20
Garments per batch call
5
API keys per account
0
Rate limits on a verified key
₹12–20
Per finished image

A worked run

What a 500-SKU night looks like

Fix the look once

Save the model, the background and the pose you want the season shot in. Note their ids. This is the only part a human does.

Loop your PIM

For each SKU without an on-model image, post the garment photo and the saved ids. Batch them 20 at a time, or fan out single calls — nothing throttles you either way.

Export and write back

Send each result through the export preset for the channel it is going to, then push the file and its generation id back into your own record. Provenance metadata is already in the file.

Nothing in that loop needs a person, and nothing in it needs a new vocabulary: it is the same garment photos your listing team already has, in the same folder structure, coming back named the way you sent them.


Compliance

Provenance is written into the file

Every exported image carries the IPTC digital source type for algorithmically generated media. Images showing a photorealistic AI-generated person additionally carry Amazon's contains-synthetic-performer keyword, which its marketplace policy requires worldwide. Both are embedded in the image itself rather than recorded in a dashboard somewhere, so the disclosure survives the hand-off into whichever system consumes the asset next — which is the only form of it that is any use to a catalog team shipping thousands of files.

This matters most exactly where automation matters most. Tagging one image by hand is possible; tagging five thousand is not, and no marketplace tool does it for you.


FAQ

Frequently asked questions

The Business plan and above. You generate keys yourself from Profile then API Keys inside the app, up to 5 keys per account. If a subscription lapses below Business the existing keys stop working with a 403 until the plan is active again — the keys are not deleted.

No. A verified API key is exempt from the per-caller rate limits that apply to the web app, and it is also exempt from the per-plan concurrency cap, because an integration fans out parallel generations by design. Your credit balance is the only ceiling on how much you can generate.

Yes. There is no API surcharge and no separate API balance. Generation endpoints bill against the same credits your plan grants — 1 credit at HD, 2 at 2K and 4 at 4K — and the utility endpoints such as background removal, compression, upscale and marketplace export cost nothing.

Save the model once and then reference it by id. Saved models, backgrounds and poses each get an id you pass on every call, so a 400-SKU run made over three weeks uses the same face, the same backdrop and the same pose as the first batch. Saved models, backgrounds and poses are a Pro-and-above feature and are managed through their own endpoints.

Yes. One e-commerce pack call returns a full pose set — 3, 5 or 7 shots depending on the pack size you ask for, with a back shot appended automatically when you supply a back image. Each shot is billed individually at the resolution you requested.

You are refunded for exactly the items that failed and charged for the ones that succeeded. The batch endpoint accepts up to 20 garments in a single call and can stream progress events so a long run reports back rather than going quiet.

Yes, on export. Every exported image carries the IPTC digital source type for algorithmically generated media, and images that show a photorealistic AI-generated person additionally carry Amazon's contains-synthetic-performer keyword. Both are written into the file itself, so the disclosure travels with the asset into whatever system consumes it.

Yes, on the Business plan and above, the same gate as video in the app. Video is asynchronous: you start a job, poll its status and download the file. Credits are reserved when the job starts and fully refunded if it fails, and at most 2 clips render at once per account.


📚 Related Guides

For agencies and multi-brand studios → Enterprise: volume pricing and team onboarding → Bulk Generate: 20 garments, one model, one run → Projects & Collections: keeping a 100-SKU drop together → Marketplace Export: one master image, every channel → AI disclosure metadata on every export → Help: getting and managing API keys →

Try it on one garment first

Start free with 5 credits, prove the output on your hardest SKU, then move to Business when you want a key.

Start Free — 5 Credits → See Pricing
API included from Business upNo API surchargeFull commercial rights