Photta API
Photta API virtual try-on, ghost mannequin and product photography by REST
In one sentence
The Photta API is a credit-based REST API: POST a product photo to a capability endpoint, poll its status endpoint every few seconds, download the finished image. Eight capabilities, one key, one credit balance.
- Capabilities: 8 capabilities
- Rate limit: 600 requests/min
- Auth: Bearer key
- Pattern: async, polling
Every figure on this page comes from the Photta API docs · checked
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/apparel \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_type": "top",
"product_images": [
"https://cdn.yourstore.com/products/shirt-front.jpg"
],
"product_back_image": "https://cdn.yourstore.com/products/shirt-back.jpg",
"product_category": "t_shirt",
"mannequin_id": "mnk_f3a9b1",
"pose_id": "pose_c2d4e5",
"background": "https://cdn.yourstore.com/backgrounds/studio-loft.jpg",
"lock_background": true,
"resolution": "2K",
"aspect_ratio": "3:4",
"body_size": "M",
"expression": "neutral",
"user_instruction": "Keep the collar pattern crisp and centered."
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/tryon/apparel", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"product_type": "top",
"product_images": [
"https://cdn.yourstore.com/products/shirt-front.jpg"
],
"product_back_image": "https://cdn.yourstore.com/products/shirt-back.jpg",
"product_category": "t_shirt",
"mannequin_id": "mnk_f3a9b1",
"pose_id": "pose_c2d4e5",
"background": "https://cdn.yourstore.com/backgrounds/studio-loft.jpg",
"lock_background": true,
"resolution": "2K",
"aspect_ratio": "3:4",
"body_size": "M",
"expression": "neutral",
"user_instruction": "Keep the collar pattern crisp and centered."
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/tryon/apparel",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"product_type": "top",
"product_images": [
"https://cdn.yourstore.com/products/shirt-front.jpg"
],
"product_back_image": "https://cdn.yourstore.com/products/shirt-back.jpg",
"product_category": "t_shirt",
"mannequin_id": "mnk_f3a9b1",
"pose_id": "pose_c2d4e5",
"background": "https://cdn.yourstore.com/backgrounds/studio-loft.jpg",
"lock_background": True,
"resolution": "2K",
"aspect_ratio": "3:4",
"body_size": "M",
"expression": "neutral",
"user_instruction": "Keep the collar pattern crisp and centered."
},
)
data = res.json()["data"] # data["id"], data["status"]Capabilities
Every endpoint, by capability
Method, path, credits and typical time, straight from the API docs. Facts on this page are checked against the docs on the date shown at the bottom.
- POST/api/v1/tryon/apparel
Virtual Try-On (Apparel)
Place a flat-lay garment on an AI mannequin in the expression and body size you pick. Four product types, five aspect ratios.
5 credits at 2K · 6 credits at 4K1.5–4 min
See the endpoint - POST/api/v1/tryon/jewelry
Jewelry Try-On
Tight-crop close-ups of necklaces, rings, bracelets and earrings on purpose-built jewelry mannequins — reflections and tiny surfaces handled.
5 credits at 2K · 6 credits at 4K1.5–4 min
See the endpoint - POST/api/v1/ghost-mannequin
Ghost Mannequin
Strip the mannequin out of a garment photo and keep the interior construction intact. 3D or flat-lay finish, batch-friendly.
4 credits at 2K · 5 credits at 4K1.5–4 min
See the endpoint - POST/api/v1/ghost-mannequin/batch
Batch Ghost Mannequin
Submit a whole rack of garment photos in one call and poll one batch ID; each image is priced and tracked on its own.
4 credits at 2K · 5 credits at 4K1.5–4 min per image
See the endpoint - POST/api/v1/eyewear-studio
Eyewear Studio
Glasses and sunglasses rendered on close-up models with the frame kept true to your product photo.
5 credits at 2K · 6 credits at 4K20–60 sec
See the endpoint - POST/api/v1/detail-photos
Detail Photos
Close-ups of stitching, fabric, hardware and labels from one product photo; an analyzer suggests which areas to shoot.
3 credits20–60 sec
See the endpoint - POST/api/v1/mannequins/generate
Mannequin Generation
Generate your own apparel or jewelry mannequins from options, then reuse their IDs in every try-on call.
4 credits30-60s
See the endpoint - POST/api/v1/workflows/{workflow_id}
Workflows
Run a preset workflow — a jewelry hero shot, for example — with one call and get a finished set of images.
4 credits at 2K · 5 credits at 4K20–60 sec / image
See the endpoint
Languages
No SDK yet — and you don't need one.
Three ready-to-paste walkthroughs that match exactly what the Photta docs recommend today.
Quickstart
From signup to first image in five minutes.
Every capability follows the same pattern: authenticate, submit, poll. Learn it once.
Step 1: Sign up at ai.photta.app and generate a live API key from the Developers dashboard.
Step 2: POST the job with your key in the Authorization header — the API returns a generation ID immediately.
Step 3: Poll the same endpoint every 3 seconds until status flips to completed, then download the result URL.
Questions
Things developers ask before signing up
What is the Photta API?
Photta's API is a credit-based REST service that generates professional fashion photography from your product photos. It's the same pipeline that powers Photta's consumer apps — virtual apparel try-on, jewelry try-on, and ghost mannequin extraction, exposed as eight capabilities for developers to build their own tools on top of.
How do I get an API key?
Sign up at ai.photta.app, open the Developers section of the dashboard, click Generate API key. Your live key starts with `photta_live_` followed by 32 hex characters. Keep it in an environment variable — never commit it to source control, never ship it to the browser.
Is there a free tier?
New accounts receive trial credits you can spend on any capability. Once you're ready to ship, subscribe to a plan with a higher monthly credit balance. The rate limit is the same on every plan: 600 requests per minute per API key. No per-call minimums.
How fast is generation?
Try-on and ghost mannequin jobs typically complete within 1.5 to 4 minutes; eyewear shots, detail photos and workflow images in 20 to 60 seconds; mannequin generation in 30 to 60 seconds. Every generation endpoint is asynchronous: POST returns a generation ID at once, and you poll every 3 to 5 seconds until the job finishes. There is no long-held HTTP connection to manage.
Is there an official Photta SDK?
Not yet. The supported integration path is raw REST via cURL, Node's native fetch, or Python's requests library — all three are documented end-to-end on this site, for every capability.
Reference
The parts of the docs you will open more than once.
Reference
First Photta image in under five minutes.
Sign up, generate an API key, run your first cURL call, poll until it completes, persist the result. Five steps, documented end-to-end.
ReadReference
Photta API authentication
How to authenticate against the Photta API: the Authorization header, the key prefix, where keys are created, and how to rotate one safely.
ReadReference
Photta API pricing
What each Photta API endpoint costs in credits at 2K and 4K, how charging and refunds work, and which endpoints are free. No per-image money price.
ReadReference
Photta API rate limits
The Photta API rate limit, its window, the Retry-After header, the polling interval and the per-plan concurrency caps, all read from the API documentation.
ReadReference
Photta API errors
The full list of Photta API error types with their status codes, the shape of an error body, and which failures are worth retrying.
ReadReference
Photta API resource endpoints
List mannequins, poses, backgrounds, footwear and brand labels, upload your own, and read your credit balance. The lookups behind every generation.
ReadGuides
What is a virtual try-on API?
A virtual try-on API renders a garment on a model from one product photo. What it takes, what it returns, what it costs and how long it runs.
ReadGuides
What is a ghost mannequin API?
A ghost mannequin API removes the mannequin from a garment photo and reconstructs the interior. What it takes, what it returns and what it costs.
ReadGuides
Migrating from FASHN to Photta
What changes when you move a virtual try-on integration from FASHN to Photta: authentication, the request body, polling and how credits are charged.
ReadBuild
Build with the Photta API
Eight end-to-end recipes for the Photta API: a try-on app, a Shopify app, a WooCommerce plugin, a Django worker, batch catalogues and no-code automation.
ReadCompare
Best virtual try-on APIs
How five virtual try-on APIs work — Photta, FASHN, FitRoom, Pixazo and Ayna. What each publishes, what each does not, and where to read the details.
Read
Every figure on this page comes from the Photta API docs · checked
Try the API in five minutes
Generate a Photta API key, paste the cURL snippet above, and you'll have your first on-model image before the coffee finishes brewing.
- 8 capabilities
- 600 requests/min
- Bearer key
- async, polling