Frontpiece API

Create products and listing kits from your own code, or from an AI assistant over MCP. A kit made through the API is the same kit the app makes, and it uses one kit from your plan or kit packs, exactly like the Generate button.

API keys

Create a key in Settings, under API keys. The key is shown once; only a fingerprint of it is stored. You can have 5 active keys and revoke any of them at any time.

Send it on every request as a Bearer token. The header x-api-key also works.

curl https://www.frontpiece.ai/api/v1/account \
  -H "Authorization: Bearer fp_live_YOUR_KEY"

Make a kit in three calls

Save a product from a product link, start a kit, then check it until it is completed. A kit takes several minutes.

curl -X POST https://www.frontpiece.ai/api/v1/products \
  -H "Authorization: Bearer fp_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"link": "https://www.amazon.com/dp/B0EXAMPLE", "marketplaces": ["amazon"]}'

curl -X POST https://www.frontpiece.ai/api/v1/kits \
  -H "Authorization: Bearer fp_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id": "PRODUCT_ID"}'

curl https://www.frontpiece.ai/api/v1/kits/KIT_ID \
  -H "Authorization: Bearer fp_live_YOUR_KEY"

Endpoints

GET /account
Your plan and whether you can start a kit now.
POST /products
Save a product. Send link (an Amazon, Walmart, Etsy, TikTok Shop or store product page) or photo_urls (up to 6 public image links) with name and category. Optional: brand_name, main_keyword, features, whats_included, dimensions, description, marketplaces.
GET /products
Your products, newest first. Optional limit (1 to 50).
POST /kits
Start a kit for product_id. Optional: marketplaces (amazon, walmart, tiktok, shopify, etsy), image_count (1 to 12), brand_profile_id. Uses one kit.
GET /kits
Your kits, newest first, with status. Optional limit (1 to 50).
GET /kits/{id}
Status (queued, running, completed, failed, cancelled), stage, finished image links (valid for an hour), listing copy and share link.
POST /kits/{id}/share
The kit’s public frontpiece.ai/k/ link, made the first time you ask.

MCP for AI assistants

The MCP server is https://www.frontpiece.ai/api/v1/mcp (Streamable HTTP). Tools: get_account, create_product, list_products, generate_kit, get_kit, list_kits, get_share_link.

Add that URL as a connector in Claude, ChatGPT or any MCP client, and sign in with your Frontpiece account when it asks. There is no key to copy. Connected apps are listed in Settings, where you can disconnect them.

Claude Code signs in through the browser with the first command. The second uses an API key instead:

claude mcp add --transport http frontpiece https://www.frontpiece.ai/api/v1/mcp

claude mcp add --transport http frontpiece https://www.frontpiece.ai/api/v1/mcp \
  --header "Authorization: Bearer fp_live_YOUR_KEY"

MCP Inspector: choose Streamable HTTP, enter the URL above, then connect with OAuth or add the Authorization header.

Pricing

There is no separate API price. Each kit uses one kit from your plan or kit packs, as in the app, and a kit that fails is refunded the same way. Your free kit can only be made in the app.

Limits

Per account, per hour: 600 requests, 30 kit starts and 30 new products. Up to 12 kits can generate at once. Over a limit you get 429 with a Retry-After header in seconds.

Errors

Errors are JSON: {"error": {"code": "...", "message": "..."}}. Over MCP, a refusal comes back as a tool result with isError and the same code; a malformed request gets a JSON-RPC error.

401 unauthorized
Missing, wrong or revoked key.
400 invalid_input
The message names the field.
402 kit_limit
No kits left. Buy a kit pack or change plan in the app.
402 free_kit_dashboard_only
Make your free kit in the app.
403 email_unverified
Verify your email address in the app first.
404 not_found
No product or kit with that id on your account.
409 busy
Too many kits generating, or an import of this product is already running.
413
The request body is over 64 KB.
429 rate_limited
Wait for Retry-After seconds.
502 failed
The kit or import did not start. Any kit it used is refunded. Try again.
503 unavailable
Try again shortly.