AI product photography API and CLI: generate complete listing image sets from code
One API for products, image sets, edits, folders and platform checks. Same credits as the web app.
What does the Product Aura API do?
The Product Aura API generates complete, platform-ready product listing image sets from one product photo through REST calls: Amazon listing images, Amazon A+ banners, Etsy and Shopify photos, and social ad sizes. The web app, the Product Aura MCP server and the CLI all run on this same API (/api/v1), with the same packs and the same credits.
Which endpoints does the API have?
The API has endpoints for products, image sets and their shot plans, image edits, ratings, folders, platform checks, your balance and payment links. Every one is in the API reference.
| Catalog | GET /catalog · Packs, shots, languages and prices |
| Account | GET /me · Your e-mail and credit balancePOST /feedback · Send feedbackPOST /checkout · Payment link for credits |
| Products | POST /uploads · Signed URL for a direct photo uploadPOST /products · Create a product from a photoGET /products · Your products |
| Folders | POST /products/{id}/move · Move a product to a folderGET /folders · Your foldersPOST /folders · Create a folder |
| Image sets | POST /image-sets · Plan an image setPOST /image-sets/{id}/generate · Generate the imagesGET /image-sets/{id} · Status and imagesGET /image-sets/{id}/checks · Check against platform rules |
| Images | POST /generations/{id}/edit · Edit an image with a sentencePOST /generations/{id}/regenerate · Make an image againPOST /generations/{id}/rating · Rate an image |
How does a generation job work?
You create a product from a photo, plan a set for a platform, start generation, and poll until every image is ready. Four calls:
# 1. Product from a photo (free; returns product.id)
curl -X POST https://productaura.co/api/v1/products -H "Authorization: Bearer $PA_KEY" \
-H "Content-Type: application/json" \
-d "{\"imageBase64\": \"$(base64 -w0 photo.jpg)\"}"
# 2. Plan an Amazon set with German text (free; returns imageSetId and each shot's cost)
curl -X POST https://productaura.co/api/v1/image-sets -H "Authorization: Bearer $PA_KEY" \
-H "Content-Type: application/json" -d '{"productId": "…", "pack": "amazon", "locale": "de"}'
# 3. Generate the default shots (spends credits; safe to retry with the same key)
curl -X POST https://productaura.co/api/v1/image-sets/…/generate -H "Authorization: Bearer $PA_KEY" \
-H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" -d '{}'
# 4. Poll until "done": true; each image has a signed downloadUrl
curl https://productaura.co/api/v1/image-sets/… -H "Authorization: Bearer $PA_KEY"How do you avoid paying twice on a retry?
Send an Idempotency-Key header with each generate, edit or regenerate call. A retried request with the same key returns the first answer and never charges again.
Can on-image text be set per language?
Yes. Set locale per image set, for example de for amazon.de or ja for amazon.co.jp, and the callouts on the images are written in that language.
Can I change one image?
Yes. POST /generations/{id}/edit with a sentence such as “warmer light, add a marble counter” makes a new version of that image; /regenerate makes it again with the same prompt. Each costs one image's credits.
How do you authenticate?
Scripts and the CLI use a pa_… API key sent as Authorization: Bearer pa_…. Create one in Settings → API keys after signing in. Keep keys on servers and in scripts, never in browser code. AI assistants connect with OAuth sign-in instead; see the MCP server page.
How much does the API cost?
Calls that make images spend credits from your Product Aura balance at the same rate as the web app: 1 credit for one 2K image (some premium models cost 2). Every other call is free: products, plans, status, folders, checks and your balance. New accounts get 20 free credits, or buy credits without an account and get a key straight away. A paid call without a key answers 402 payment_required with those card links.
What are the rate limits?
120 requests per minute per account. A 429 answer includes Retry-After.
How do you use the CLI?
Run npx productaura to use Product Aura from a terminal with no install. npx runs a command from an npm package.
npx productaura login --key pa_… npx productaura generate ./photo.jpg --pack amazon --lang de --out ./listing
That generates an Amazon set with German text and saves the files to ./listing. Options for generate: --pack (amazon, amazon-aplus, etsy, shopify, social), --lang, --shots, --name, --out, --yes (no confirmation) and --no-wait.
login [--key pa_…] | Saves your API key (or set PRODUCTAURA_API_KEY). |
credits | Shows your credit balance. |
packs | Lists the platform packs, their images and the credit cost of each. No key needed. |
generate <photo> | Reads the photo, shows the plan and its cost, asks before spending, makes the images and saves them. |
status <set-id> | Progress of an image set, with each image’s id. |
download <set-id> | Saves the finished images (the newest version of each shot). |
edit <image-id> "<change>" | Changes one image with a sentence. New version; one image’s credits. |
regenerate <image-id> | Makes one image again. New version; one image’s credits. |
feedback "<text>" | Sends feedback to the team. |
mcp | Runs a local MCP server over stdio for assistants. |
Can AI agents use the CLI?
Yes. Every command takes --json for machine-readable output, and npx productaura mcp runs a local MCP server for assistants that only support local servers.
What can you build with the API?
Catalog-wide image refreshes
Loop over your product photos and make a fresh set for each one. Idempotency keys make the loop safe to restart.
Agency pipelines
Give each client a folder, generate their sets in their marketplace language, and run the platform checks before delivery.
Image generation inside your own app
Add a “make listing images” button to your own tool; your users' images are made and stored by Product Aura and returned as signed links.
Questions
Is there a free API tier?
New accounts get 20 free credits with no card, and those credits work in the API. Reading calls (status, folders, balance, checks) are always free.
Is there an OpenAPI spec?
Yes: https://productaura.co/api/v1/openapi.json (OpenAPI 3.1), shown as a readable reference at /docs/api.
Are there SDKs?
Not yet. Use plain HTTP from any language, or the CLI, which also runs as a local MCP server.
Get an API key
Create an account, then open Settings → API keys. Or buy credits without an account and get a key at once.
Create an account