Quickstart
Eerste Photta-afbeelding in minder dan vijf minuten.
In één zin
Registreer je op ai.photta.app, klik op Generate API key, exporteer deze als PHOTTA_API_KEY, POST naar /api/v1/tryon/apparel en poll het geretourneerde generation-ID elke 3 seconden totdat de status overgaat naar completed — doorgaans binnen 1.5 tot 4 minuten.
- Authenticatie: Bearer key
- Verwerking: async, polling
- Limieten: 600 requests/min
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/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')Hoe het werkt
Vijf commando's van nul naar de eerste afbeelding
Plak ze op volgorde in een terminal. Elk fragment is op zichzelf staand en gebruikt alleen curl + jq.
Stap 1
Genereer een API-sleutel
Registreer je op ai.photta.app en open het Developers-dashboard. Klik op Generate API key — live-sleutels beginnen met photta_live_. Exporteer deze zodat de rest van de handleiding hem vanuit je shell kan uitlezen.
# https://ai.photta.app → Developers → Generate API key export PHOTTA_API_KEY="photta_live_xxxxx" export PHOTTA_BASE_URL="https://api.photta.app/api/v1"Stap 2
POST je eerste try-on
Roep /api/v1/tryon/apparel aan met een URL van een productafbeelding en een mannequin ID. De API antwoordt onmiddellijk met 202 Accepted en retourneert een generation-ID in data.id.
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')Stap 3
Poll totdat het voltooid is
GET /api/v1/tryon/apparel/:id elke 3 seconden. Een typische verwerking duurt 1.5–4 minuten. Stel een limiet in op het aantal pogingen, zodat een vastgelopen taak je script niet oneindig blokkeert.
# $ID is data.id from the POST response. Poll every 3 seconds until status is "completed" or "failed". for i in $(seq 1 120); do RESULT=$(curl -s "https://api.photta.app/api/v1/tryon/apparel/$ID" -H "Authorization: Bearer $PHOTTA_API_KEY") STATUS=$(echo "$RESULT" | jq -r '.data.status') [ "$STATUS" = "completed" ] && break [ "$STATUS" = "failed" ] && echo "generation failed" && exit 1 sleep 3 done echo "$RESULT" | jq -r '.data.output_url'Stap 4
Sla de output persistent op
Wanneer status verandert in completed, bevat data.output_url de gegenereerde afbeelding. Download de bytes naar je eigen storage, zodat je product voor het renderen niet afhankelijk is van het CDN van Photta.
OUTPUT_URL=$(echo "$RESULT" | jq -r '.data.output_url') curl -sO "$OUTPUT_URL" echo "Saved $(basename "$OUTPUT_URL")"Stap 5
Handel foutmodi op de juiste manier af
Vertak op basis van de HTTP-statuscode: 402 voor onvoldoende credits, 429 voor rate limits (respecteer Retry-After), 5xx voor tijdelijke serverfouten. Elke error-body bevat een machineleesbare error.code waar je logica op kunt baseren.
case "$STATUS_CODE" in 402) echo "insufficient_credits_error — top up before retrying" ;; 429) echo "rate_limit_error — wait the Retry-After seconds (30 by default)" ;; 4??) echo "$BODY" | jq '.error.type, .error.message' ;; 5??) echo "api_error — retry with backoff" ;; esac
Veelgestelde vragen van developers
Vragen over aan de slag gaan
Hoe lang duurt de quickstart?
Vijf minuten voor registratie + key genereren + eerste cURL. De generatie zelf duurt 1.5 tot 4 minuten, dus reken op tien minuten totale tijd voordat je je eerste on-model afbeelding ziet.
Heb ik een creditcard nodig om het te proberen?
Nieuwe accounts worden geleverd met trial credits die je kunt gebruiken voordat je betaalt. Wanneer je klaar bent voor productie, neem je een abonnement voor een hoger maandelijks credits-saldo en ruimere rate limits.
Welk endpoint moet ik als eerste proberen?
Apparel try-on (/api/v1/tryon/apparel) — dit is het meest gebruikt, de documentatie is het compleetst, en het volgt het async + polling-patroon dat elk ander Photta-endpoint hergebruikt. Zodra je dat onder de knie hebt, werken jewelry en ghost mannequin op precies dezelfde manier.
Kan ik het aanroepen vanuit de browser?
Nee. Je API-key moet server-side blijven — als je deze naar een browser stuurt, lekt hij naar elke bezoeker. Leid calls via een thin proxy op je eigen backend (Next.js route handler, Express, Flask, Lambda) en laat de browser communiceren met jouw proxy.
Gerelateerde pagina's
Mogelijkheden
Virtual Try-On (Kleding)
Plaats een flat-lay kledingstuk op een AI-model met de door jou gekozen expressie en lichaamsbouw. Vier producttypen, vijf beeldverhoudingen.
LezenMogelijkheden
Jewelry Try-On
Strak uitgesneden close-ups van kettingen, ringen, armbanden en oorbellen op speciaal ontwikkelde sieradenmodellen — inclusief reflecties en minuscule oppervlakken.
LezenMogelijkheden
Ghost Mannequin
Verwijder de paspop uit een kledingfoto en behoud de binnenkant van het kledingstuk intact. 3D- of flat-lay-afwerking, geschikt voor batches.
LezenMogelijkheden
Eyewear Studio
Brillen en zonnebrillen gerenderd op close-up modellen, waarbij het montuur exact trouw blijft aan je productfoto.
LezenMogelijkheden
Detailfoto's
Close-ups van stiksel, stof, hardware en labels vanuit één productfoto; een analyzer suggereert welke delen gefotografeerd moeten worden.
LezenMogelijkheden
Modelgeneratie
Genereer je eigen kleding- of sieradenmodellen via opties en hergebruik hun ID's in elke try-on-call.
LezenMogelijkheden
Workflows
Voer met één call een vooraf geconfigureerde workflow uit — zoals een jewelry hero shot — en ontvang een voltooide set afbeeldingen.
LezenMogelijkheden
Batch Ghost Mannequin
Verstuur een heel kledingrek aan foto's in één call en poll één batch-ID; elke afbeelding wordt afzonderlijk geprijsd en gevolgd.
LezenAPI
Photta API
De Photta API is een op credits gebaseerde REST API: POST een productfoto naar een capability-endpoint, poll het status-endpoint elke paar seconden, download de voltooide afbeelding. Acht capabilities, één sleutel, één creditsaldo.
Lezen
Elk getal op deze pagina is afkomstig uit de Photta-API-documentatie · gecontroleerd
Binnen vijf minuten je eerste afbeelding
- Bearer key
- async, polling
- 600 requests/min