Démarrage rapide
Envoyez une photo, créez un produit, enregistrez un webhook et mettez votre premier rendu en file d'attente. Quatre appels, environ cinq minutes.
Ce parcours suit le chemin d’un produit unique afin que chaque étape soit visible. Si vous intégrez un catalogue entier, sautez les étapes 1 et 2 et commencez par les Imports, qui récupèrent les photos pour vous.
Vous avez besoin d’une clé API. Si l’équipe Veeton vous a donné accès à l’API, générez-en une dans le tableau de bord (votre photo de profil en haut à droite → Organisation → Clés API) et conservez-la dans VEETON_KEY ; consultez Authentification pour comprendre le comportement des clés.
-
Envoyez une photo.
Les images sont envoyées en
multipart/form-data. Le type est lu dans les octets, vous pouvez donc déclarer ce que vous voulez ; les formats JPEG, PNG et WebP jusqu’à 10 Mo sont acceptés. La réponse est un identifiant d’image que vous pouvez référencer par la suite.Terminal window IMG=$(curl -s https://api.veeton.com/v1/images \-H "Authorization: Bearer $VEETON_KEY" \-F "file=@./tee-front.jpg" | jq -r .id) -
Créez le produit.
Un produit se compose de votre
reference(le SKU dans votre propre système, unique au sein de votre organisation), d’unnameet d’une ou plusieurs images, chacune étiquetée avec la vue qu’elle montre.Terminal window PROD=$(curl -s https://api.veeton.com/v1/products \-H "Authorization: Bearer $VEETON_KEY" \-H "Content-Type: application/json" \-d "{\"name\":\"Crewneck Tee\",\"reference\":\"TEE-001\",\"images\":[{\"image_id\":\"$IMG\",\"orientation\":\"front\"}]}" \| jq -r .id) -
Enregistrez l’adresse où recevoir les résultats.
Un rendu prend une à deux minutes. Enregistrez un endpoint
https://une seule fois et chaque événement terminal y est livré, signé. Lesigning_secretde la réponse n’est affiché qu’une fois ; stockez-le.Terminal window curl https://api.veeton.com/v1/webhooks \-H "Authorization: Bearer $VEETON_KEY" \-H "Content-Type: application/json" \-d '{"url":"https://your.app/veeton","events":["task.completed","task.failed"]}' -
Mettez un rendu en file d’attente.
Choisissez la famille de tâches qui correspond à ce que vous souhaitez obtenir. Les deux renvoient immédiatement un
202avec l’idde la tâche.# Un rendu net du produit seul, sur un arrière-plan de votre choixcurl https://api.veeton.com/v1/tasks/beautifier \-H "Authorization: Bearer $VEETON_KEY" \-H "Content-Type: application/json" \-d "{\"subtype\":\"clothing\",\"inputs\":{\"product_id\":\"$PROD\",\"background\":\"#ffffff\",\"angle_shot\":\"front\",\"style\":\"ghost_mannequin\"}}"# Le produit porté par un mannequin issu de GET /v1/modelsMODEL=$(curl -s "https://api.veeton.com/v1/models?limit=1" \-H "Authorization: Bearer $VEETON_KEY" | jq -r .data[0].id)curl https://api.veeton.com/v1/tasks/tryon \-H "Authorization: Bearer $VEETON_KEY" \-H "Content-Type: application/json" \-d "{\"inputs\":[{\"product_id\":\"$PROD\",\"model_id\":\"$MODEL\",\"background\":\"park\",\"angle_shot\":\"full_body_relaxed_symmetric\"}]}"
Ce qui se passe ensuite
La tâche passe par les états queued → processing → completed | failed. Lorsqu’elle atteint un état terminal, votre webhook reçoit un événement task.completed ou task.failed contenant l’identifiant de la tâche ; récupérez la tâche pour obtenir le résultat.
curl https://api.veeton.com/v1/tasks/$TASK \ -H "Authorization: Bearer $VEETON_KEY"{ "id": "01HX5K2MZ7A3Q4FBNDC0EVDXY2", "type": "beautifier", "subtype": "clothing", "status": "completed", "product_id": "01HX5K2MZ7A3Q4FBNDC0EVDXY1", "output_image": { "id": "01HX5K2MZ7A3Q4FBNDC0EVDXYS", "mime_type": "image/webp", "width": 1536, "height": 2048, "url": "https://…signed…", "url_expires_at": "2026-09-03T15:32:00Z", "created_at": "2026-09-03T14:31:40Z" }, "failure_reason": null, "started_at": "2026-09-03T14:30:12Z", "finished_at": "2026-09-03T14:31:40Z", "created_at": "2026-09-03T14:30:09Z"}Les URL signées sont valables une heure. L’id de l’image est permanent : récupérez une nouvelle URL avec GET /v1/images/{id} plutôt que de relancer quoi que ce soit.
Pour aller plus loin
- Imports pour l’ingestion à l’échelle d’un catalogue.
- Tâches pour l’ensemble complet des entrées, arrière-plans et mannequins.
- Exports pour tout relire dans un PIM ou un DAM.
- La référence de l’API pour chaque champ.