Démarrage rapide
Première image Photta en moins de cinq minutes.
En une phrase
Inscrivez-vous sur ai.photta.app, cliquez sur Generate API key, exportez-la dans PHOTTA_API_KEY, envoyez un POST à /api/v1/tryon/apparel et interrogez l'ID de génération retourné toutes les 3 secondes jusqu'à ce que le statut passe à completed — généralement en 1.5 à 4 minutes.
- Authentification: Clé Bearer
- Traitement: asynchrone, polling
- Limites: 600 requêtes/min
Chaque chiffre sur cette page provient de la documentation de l'API Photta · vérifié
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')Comment ça fonctionne
Cinq commandes pour passer de zéro à la première image
Collez-les dans un terminal dans l'ordre. Chaque extrait est autonome et repose uniquement sur curl + jq.
Étape 1
Générer une clé d'API
Inscrivez-vous sur ai.photta.app et ouvrez le tableau de bord Développeurs. Cliquez sur Generate API key — les clés live commencent par photta_live_. Exportez-la pour que la suite du guide puisse la lire depuis votre shell.
# 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"Étape 2
Effectuer votre premier POST de try-on
Appelez /api/v1/tryon/apparel avec une URL d'image produit et un identifiant de mannequin. L'API répond immédiatement 202 Accepted et renvoie un identifiant de génération dans 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')Étape 3
Effectuer le polling jusqu'à complétion
GET /api/v1/tryon/apparel/:id toutes les 3 secondes. Le délai typique d'exécution est de 1.5–4 minutes. Définissez une limite maximale de tentatives pour qu'un job bloqué n'interrompe pas indéfiniment votre script.
# $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'Étape 4
Persister le rendu
Lorsque le status passe à completed, data.output_url contient l'image générée. Téléchargez les octets dans votre propre stockage pour que votre produit ne dépende pas du CDN de Photta pour l'affichage.
OUTPUT_URL=$(echo "$RESULT" | jq -r '.data.output_url') curl -sO "$OUTPUT_URL" echo "Saved $(basename "$OUTPUT_URL")"Étape 5
Gérer les modes d'échec de manière robuste
Gérez les cas selon le code de statut HTTP : 402 pour crédits insuffisants, 429 pour le rate limit (respectez le Retry-After), 5xx pour les erreurs serveur temporaires. Chaque corps d'erreur contient un error.code lisible par une machine que vous pouvez exploiter.
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
Questions fréquentes des développeurs
Questions fréquentes sur la prise en main
Combien de temps prend le quickstart ?
Cinq minutes pour l'inscription + la génération de la clé + le premier cURL. La génération en elle-même prend 1.5 à 4 minutes, comptez donc dix minutes au total avant de voir votre première image sur modèle.
Faut-il une carte de crédit pour essayer ?
Les nouveaux comptes sont dotés de crédits d'essai utilisables immédiatement avant de payer. Quand vous serez prêt à passer en production, souscrivez à un plan pour un solde de crédits mensuel plus important et des limites de débit (rate limits) plus élevées.
Quel endpoint tester en premier ?
Le try-on de vêtements (/api/v1/tryon/apparel) — c'est le plus répandu, la documentation est la plus exhaustive, et il utilise le pattern async + polling repris par tous les autres endpoints Photta. Une fois maîtrisé, les bijoux et le mannequin fantôme fonctionnent exactement de la même manière.
Puis-je l'exécuter depuis le navigateur ?
Non. Votre clé d'API doit rester côté serveur — l'envoyer au navigateur la divulgue à chaque visiteur. Faites transiter les requêtes via un proxy léger sur votre propre backend (route handler Next.js, Express, Flask, Lambda) et faites communiquer le navigateur avec ce proxy.
Pages associées
Fonctionnalités
Try-on virtuel (Vêtements)
Appliquez un vêtement à plat (flat-lay) sur un mannequin IA avec l'expression et la morphologie de votre choix. Quatre types de produits, cinq ratios d'aspect.
LireFonctionnalités
Try-on de bijoux
Gros plans serrés de colliers, bagues, bracelets et boucles d'oreilles sur des mannequins dédiés aux bijoux — reflets et surfaces minuscules gérés.
LireFonctionnalités
Mannequin invisible (Ghost Mannequin)
Supprimez le mannequin d'une photo de vêtement tout en préservant la structure intérieure intacte. Rendu 3D ou à plat (flat-lay), adapté au traitement par lot.
LireFonctionnalités
Studio Lunettes
Lunettes de vue et lunettes de soleil générées sur des modèles en gros plan, avec une monture fidèle à votre photo produit.
LireFonctionnalités
Photos de détails
Gros plans sur les coutures, le tissu, les ferrures et les étiquettes à partir d'une seule photo produit ; un analyseur suggère les zones à photographier.
LireFonctionnalités
Génération de mannequins
Générez vos propres mannequins de vêtements ou de bijoux à partir d'options, puis réutilisez leurs identifiants dans chaque appel de try-on.
LireFonctionnalités
Workflows
Exécutez un workflow prédéfini — un plan principal (hero shot) pour un bijou, par exemple — en un seul appel et obtenez un ensemble d'images finalisées.
LireFonctionnalités
Ghost Mannequin par lot
Soumettez une série complète de photos de vêtements en un seul appel et effectuez le polling sur un seul identifiant de lot ; chaque image est tarifiée et suivie individuellement.
LireAPI
Photta API
L'API Photta est une API REST basée sur des crédits : envoyez une photo de produit en POST à l'endpoint d'une fonctionnalité, interrogez son statusEndpoint toutes les quelques secondes, téléchargez l'image finale. Huit fonctionnalités, une seule clé, un seul solde de crédits.
Lire
Chaque chiffre sur cette page provient de la documentation de l'API Photta · vérifié
Votre première image est à cinq minutes d'ici
- Clé Bearer
- asynchrone, polling
- 600 requêtes/min