Functionaliteit · Sieraden
Sieraden try-on API voor kettingen, ringen, armbanden en oorbellen
In één zin
Photta's sieraden try-on API accepteert een sieradenfoto, een jewelry_type (ketting, ring, armband of oorbellen) en een mannequin-ID en levert een close-up foto op een model op. POST, poll elke 3 seconden, download zodra de status completed is.
- Typische duur: 1.5–4 min
- Credits: 5 credits bij 2K · 6 credits bij 4K
- Verwerking: async, polling
- Limieten: 600 requests/min
- Authenticatie: Bearer key
Elk getal op deze pagina is afkomstig uit de Photta-API-documentatie · gecontroleerd
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/jewelry \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/tryon/jewelry", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/tryon/jewelry",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
},
)
data = res.json()["data"] # data["id"], data["status"]
In één oogopslag
In één oogopslag
- Endpoint
- POST /api/v1/tryon/jewelry
- Authenticatie
- Bearer API key
- Verwerking
- Asynchroon — poll het status-endpoint
- Typische duur
- 1.5–4 min
- Credits
- 5 credits bij 2K · 6 credits bij 4K
- Beeldverhoudingen
- 3:4 · 1:1 · 4:3 · 9:16 · 16:9
- Invoerlimieten
- Tot 10 MB per afbeelding; JPEG, PNG, WebP
- Idempotent
- Nee
Request en response
Request
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/jewelry \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/tryon/jewelry", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/tryon/jewelry",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
},
)
data = res.json()["data"] # data["id"], data["status"]202 Accepted / Completed
{
"data": {
"id": "jwl_a1b2c3",
"status": "processing",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"resolution": "2K",
"aspect_ratio": "3:4",
"credits_used": 5,
"created_at": "2026-04-10T14:00:00Z"
},
"request_id": "req_jwl001"
}{
"data": {
"id": "jwl_a1b2c3",
"status": "completed",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_url": "https://cdn.photta.app/generated/jwl_a1b2c3.jpg",
"thumbnail_url": "https://cdn.photta.app/generated/jwl_a1b2c3-thumb.jpg",
"credits_used": 5,
"created_at": "2026-04-10T14:00:00Z",
"completed_at": "2026-04-10T14:01:10Z",
"duration_ms": 70000
},
"request_id": "req_jwl002"
}Request-parameters
jewelry_imageType: stringVereist
URL or base64 data URI of the jewelry product image.
jewelry_typeType: stringVereist
Type of jewelry.
Waarden:necklaceearringsbraceletringmannequin_idType: stringVereist
ID of the mannequin. Must be jewelry-compatible and have a matching close-up view for the given jewelry_type. Use GET /api/v1/mannequins?jewelry_type=necklace to find compatible mannequins.
backgroundType: string
Optional. Pass a URL or base64 data URI to use a reference photo as the scene; pass any other string to use it as a free-form text description (e.g. "soft window light on dark velvet"). When omitted, the original mannequin backdrop is preserved.
resolutionType: string
Output resolution. "2K" costs 5 credits per image; "4K" costs 6 credits per image. 4K is produced natively in a single generation — pick it upfront; the resolution cannot be changed after creation. 4K cannot be combined with aspect_ratio 1:1 (returns 400).
= 2K
Waarden:2K4Kaspect_ratioType: string
Output aspect ratio. 1:1 is not available at 4K resolution — that combination returns 400.
= 3:4
Waarden:3:41:14:39:1616:9user_instructionType: string
Free-form refinement, e.g. "make the pendant 10% smaller", "keep the clasp visible at the back of the neck". Capped at 400 characters server-side; longer strings are silently truncated. Requests to change the jewelry's size, scale, or proportions are honored and take priority; any other instruction applies only where it does not conflict with reproducing the jewelry exactly from the reference image. Not a determinism or seed control.
Errors
- 400
invalid_request_error - The request is malformed or contains invalid parameters.
- 401
authentication_error - The API key is missing, invalid, or expired.
- 402
insufficient_credits_error - Your account does not have enough credits.
- 404
not_found_error - The requested resource does not exist.
- 409
conflict_error - The request conflicts with current state — e.g. your concurrent-batch cap is reached.
- 429
rate_limit_error - Too many requests. Slow down and retry.Retry-After: 30
- 500
api_error - An internal server error occurred. Retry later.
Limieten
- 600 verzoeken per minuut per API key (Vast venster; de limiet is identiek op elk abonnement)
- Een 429 bevat Retry-After: 30 seconden
- Tot 10 MB per afbeelding
- Formaten: JPEG, PNG, WebP
- Gelijktijdige batches per abonnement: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
- Uitsluitend polling — de API stuurt geen webhooks.
De kledingflow, opnieuw afgesteld voor kleine sterk reflecterende items
Kies een close-up mannequin, verzend, poll, download.
Stap 1
Genereer een API-sleutel
Zelfde flow als kleding — ai.photta.app → Developers → Generate API key. Eén sleutel werkt op elk endpoint; één creditsaldo dekt elke functionaliteit.
Stap 2
Kies een close-up mannequin
Vraag de sieradenmannequins op of upload uw eigen met `POST /api/v1/mannequins/jewelry` — Photta onderhoudt een speciaal gebouwde set close-up mannequins met huidtexturen die zijn afgestemd op piepklein metaal en steen.
Stap 3
POST de sieradenjob
POST naar `/api/v1/tryon/jewelry` met `jewelry_image`, `jewelry_type`, `mannequin_id` en optioneel `background`, `resolution` en `aspect_ratio`. De service schaalt de plaatsing automatisch voor de sieradencategorie.
Stap 4
Poll totdat de job is voltooid
GET `/api/v1/tryon/jewelry/:id` elke 3 seconden. Response-structuur is identiek aan kleding — `data.status`, `data.output_url`, `data.thumbnail_url`.
Stap 5
Download en bewaar
Strak bijgesneden 1:1 werkt het best voor PDP-thumbnails; bredere beeldverhoudingen voor editorial. Sla de bytes zelf op in plaats van het hotlinken van het CDN.
Hetzelfde endpoint in Node.js, Python en cURL
Node.js
Sieraden try-on API in Node.js
Roep Photta's sieraden try-on API aan vanuit een Node.js-backend met native fetch. Geen SDK vereist: sla je sleutel op, verzend de taak, poll voor het resultaat.
LezenPython
Sieraden try-on API in Python
Roep Photta's sieraden try-on API aan in Python met de requests-bibliotheek. Een wrapper van dertig regels, async-vriendelijk via httpx, werkt in Django, FastAPI en Celery.
LezencURL
Sieraden try-on API met cURL
Roep Photta's sieraden try-on API direct aan vanuit de shell met cURL. Verzenden, pollen, downloaden — elk fragment werkt naadloos samen met jq voor gescripte pipelines.
Lezen
Vragen die developers stellen voor het implementeren van sieraden-try-on
Welke sieradentypes worden ondersteund?
Vier expliciete categorieën: necklace, ring, bracelet, earrings. Elke categorie heeft zijn eigen set speciaal gebouwde close-up mannequins en een plaatsingsheuristiek afgestemd op die vormfactor. Ringen en oorbellen profiteren het meest van een 1:1-beeldverhouding; kettingen komen goed tot hun recht op 3:4.
Hoeveel kost een sieraden-try-on?
Hetzelfde als kleding: 5 credits bij 2K, 6 credits bij 4K. Mislukte jobs worden automatisch terugbetaald. Geen toeslag voor de bibliotheek met close-up mannequins.
Waarin verschilt het sieraden-endpoint van kleding?
Zelfde authenticatie, zelfde polling-patroon, zelfde response-structuur — de verschillen zitten in de request-body. U verstuurt `jewelry_type` en `jewelry_image` in plaats van `product_type` en `product_images`, en u kiest mannequins gefilterd op sieradencategorie. Al het andere (2K/4K, beeldverhoudingen, credits) wordt gedeeld.
Kan ik mijn eigen sieradenmodel uploaden?
Ja — `POST /api/v1/mannequins/jewelry` accepteert een aangepaste close-up referentie, `POST /api/v1/mannequins/jewelry/generate` genereert een nieuwe op basis van opties. Beide retourneren een ID die u weer invoert in de try-on-request.
Hoe gaat het om met reflecterende metalen en edelstenen?
De close-up pipeline bevat metadata over spiegelende reflecties en microgeometrie. Goud, zilver en spiegelgepolijst platina renderen correct zonder de ghosting of chromatische vegen die generieke try-on pipelines produceren. Ultrastrakke studio-achtergronden worden aanbevolen voor de beste resultaten.
Hoe poll ik voor het resultaat?
GET `/api/v1/tryon/jewelry/:id` elke 3 tot 5 seconden. Zelfde status-lifecycle als kleding: `processing` → `completed` of `failed`. Een venster van 1.5 tot 4 minuten dekt de overgrote meerderheid van de jobs.
Gerelateerde functionaliteiten
Mogelijkheden
Virtual try-on API voor kleding
REST API die kleding op AI-mannequins plaatst. Asynchroon, generatie in 1.5–4 minuten, 5 credits bij 2K, 6 bij 4K. Voorbeelden in cURL, Node.js en Python.
Bekijk het endpointMogelijkheden
Ghost mannequin API voor hollow-man-productfoto's
AI ghost mannequin endpoint. Verwijder de paspop uit een kledingfoto en behoud interne details. 3D of flat-lay, batchverwerking, 4 credits bij 2K.
Bekijk het endpointBouwen
Bouw een AI-dienst voor productfotografie
Een playbook voor founders om de virtuele try-on API van Photta door te verkopen als een white-label SaaS: tenant-sleutels, batch-distributie, facturatie per credit en de realiteit rond SLA's.
Bekijk het endpointVergelijken
Photta vs FASHN — AI-mode-API, zij aan zij
Photta en FASHN vergeleken: endpoints, creditprijzen, abonnementsniveaus, concurrency-limieten. Afkomstig van de officiële prijzenpagina van elk bedrijf op 2026-04-19. Geen verzonnen cijfers.
Bekijk het endpointVergelijken
Photta vs Ayna — developer-API of Shopify-first studio
Photta vs Ayna vergeleken: drie REST endpoints vs een Shopify-first studio + API. Beide hebben sterke punten. Afkomstig van elke site op 2026-04-19.
Bekijk het endpointSnelstartgids
Eerste Photta-afbeelding in minder dan vijf minuten.
Registreer je, genereer een API-sleutel, voer je eerste cURL-call uit, poll totdat deze is voltooid, sla het resultaat op. Vijf stappen, end-to-end gedocumenteerd.
Bekijk het endpointReferentie
Photta API-fouten
De volledige lijst van Photta API-fouttypen met hun statuscodes, de structuur van een foutbody, en welke fouten het waard zijn om opnieuw te proberen.
Bekijk het endpointReferentie
Photta API rate limits
De Photta API rate limit, het bijbehorende venster, de Retry-After-header, het polling-interval en de gelijktijdigheidslimieten per abonnement, rechtstreeks uit de API-documentatie.
Bekijk het endpoint
Elk getal op deze pagina is afkomstig uit de Photta-API-documentatie · gecontroleerd
Probeer de API in vijf minuten
Genereer een Photta API-sleutel, plak het bovenstaande cURL-fragment en je hebt je eerste afbeelding op een model voordat de koffie klaar is.
- 1.5–4 min
- 5 credits bij 2K · 6 credits bij 4K
- async, polling
- 600 requests/min
- Bearer key