FASHN
FASHN Tryon v1.6
fashn-tryon-v1.6
Modèle d'essayage virtuel : il suffit de fournir une photo de la personne et une image du vêtement pour générer le rendu porté par le mannequin, avec une sortie native en 864x1296, la prise en charge des images à plat et trois modes de qualité
Essayer fashn-tryon-v1.6
Entrée
Créations
Voir toutes les créationsSortie
imageTarifs
fashn-tryon-v1.6 per image
| Prix unitaire | $0.1072 |
|---|
Présentation
fashn-tryon-v1.6 est un modèle d'image d'essayage virtuel destiné au e-commerce de vêtements et à la production de contenus visuels : il prend en entrée une photo de personne et une photo de vêtement produit, et produit une image composite du mannequin portant ce vêtement. Par rapport à la génération précédente, la résolution de sortie native passe à 864x1296, avec une restitution plus nette des détails tels que la texture des tissus, les motifs et les textes, et un rendu de l'éclairage plus naturel. Il convient aux développeurs et aux équipes e-commerce qui doivent produire en masse des visuels de porté pour les fiches produit, les supports marketing ou la validation de design.
Points clés
- Sortie native en 864x1296 — environ 50 % de plus que la génération précédente ; la texture des tissus, les motifs et les détails textuels restent nets et exploitables à la taille d'une fiche produit.
- Compatible avec les photos de mannequin et les photos à plat — garment_photo_type permet de spécifier model, flat-lay ou auto pour la détection automatique, afin de s'adapter à différentes conditions de prise de vue.
- Trois niveaux de qualité au choix — performance, balanced et quality permettent d'arbitrer entre vitesse de génération et précision de rendu, pour des appels différenciés en environnement de production.
- Résultats reproductibles grâce à une graine fixe — transmettre la même seed avec les mêmes entrées permet d'obtenir une sortie identique, ce qui facilite la reproduction des résultats et le diagnostic en production par lots.
Description des capacités
Synthèse d'essayage à partir d'une personne et d'un vêtement : il suffit de fournir deux URL, celle de la photo de la personne et celle du vêtement, pour obtenir un visuel de porté, en sortie png ou jpeg, directement intégrables au flux de fiches produit ou de supports.
Adaptation à la catégorie de vêtement et au format de prise de vue : category prend en charge tops, bottoms, one-pieces ainsi que auto pour la détection automatique ; garment_photo_type distingue les photos portées par un mannequin des photos à plat, ce qui réduit le travail de prétraitement.
Contrôle de la qualité de sortie : mode privilégie la vitesse ou la précision, moderation_level permet de filtrer les contenus explicites selon les exigences métier, et le niveau conservative bloque en outre les vêtements de type lingerie et maillots de bain.
Génération par lots reproductible : avec une seed fixe, les mêmes entrées reproduisent le même résultat, ce qui facilite le diagnostic et la relance des échantillons en échec dans une chaîne de production.
Cas d'usage
- Production en masse de visuels de porté pour les équipes e-commerce — générer par lots des visuels de porté à partir de photos de produits à plat et de photos de mannequins, pour les images principales des fiches boutique et la présentation des modèles.
- Validation visuelle lors de l'échantillonnage de design vestimentaire — associer rapidement des croquis de design ou des photos de prototypes à des photos de mannequins pour vérifier le rendu de la coupe et des motifs avant d'investir dans une séance photo réelle.
- Production rapide de supports marketing multi-modèles — faire poser au même mannequin plusieurs modèles générés séparément, pour créer des supports à variantes multiples destinés aux pages d'événements, aux diffusions sur les réseaux sociaux, etc.
- Transformation de photos produit à plat en présentation portée — convertir des visuels existants pris à plat ou sur cintre invisible en rendus portés par un mannequin, afin de valoriser le catalogue de photos produit existant.
Limites et conseils de choix
Ce modèle est conçu pour la présentation de vêtements en pied à une résolution fixe ; la taille de sortie n'est pas ajustable librement. Le mode quality offre une précision de rendu supérieure mais prend plus de temps ; pour les tâches par lots, il faut répartir les niveaux entre vitesse et qualité. Générer plusieurs résultats par requête est une pratique courante pour améliorer le taux d'exploitabilité, mais augmente d'autant la facturation. Le niveau de modération conservative bloque les vêtements de type lingerie et maillots de bain ; dans ce cas, il convient de choisir un niveau plus permissif. Si l'activité privilégie la stabilité de production sur le long terme plutôt que la précision, il faut évaluer l'opportunité d'utiliser une génération précédente plus mature.
Nouveautés
Voir le journal des modifications →- Nouveau modèle Nouveau modèle fashn-tryon-v1.6 d'essayage virtuel
Questions fréquentes
Voir toutes les questions →-
Qu'est-ce que FASHN Try-On v1.6 ?
Il s'agit d'un modèle spécialisé d'essayage virtuel. Téléchargez une photo d'une personne et une image d'un vêtement : le modèle habille la personne avec le vêtement et produit une image d'essayage au format portrait ; aucun prompt n'est requis et aucune description textuelle n'est acceptée. La sortie est directement adaptée à une page de détail produit, à des supports pour les réseaux sociaux ou à un aperçu de campagne publicitaire.
-
Faut-il écrire un prompt ?
Non. Il suffit de fournir une photo de personne et une image de vêtement ; le rendu de l'essayage est déterminé par ces deux images ainsi que par les paramètres facultatifs de catégorie, de mode et de type d'image de vêtement. N'ajoutez pas de champ prompt dans la requête, le backend le rejetterait comme champ inconnu.
-
Dois-je téléverser deux images en même temps ?
Oui. La photo de la personne et l'image du vêtement sont toutes deux obligatoires ; si l'une d'elles manque, Playground et l'API bloquent avant la soumission. Le bouton d'exécution ne s'active qu'après le téléversement des deux images, et l'API renvoie une erreur de validation des paramètres.
-
Quelles catégories de vêtements sont prises en charge ?
Sont pris en charge les hauts (tops), les bas (bottoms) et les pièces d'une seule pièce (one-pieces) ; vous pouvez également choisir la reconnaissance automatique. En cas de doute sur la catégorie, utilisez d'abord l'automatique ; si la reconnaissance est imprécise, spécifiez-la explicitement. Pour les catalogues de catégories mixtes, il est recommandé de soumettre les articles groupés par catégorie afin de réduire les biais liés à la reconnaissance automatique.
Créer une tâche de génération
https://api.hiapi.ai/v1/tasks En-têtes
AuthorizationstringRequisClé API du compte. Requise sur chaque requête. Exemple : Bearer YOUR_HIAPI_API_KEY. Obtenir une clé API
Content-TypestringOptionnelLe corps de la requête est toujours analysé en JSON ; s'il est envoyé, seul application/json (charset facultatif) est accepté — toute autre valeur renvoie 415. Exemple : application/json.
Idempotency-KeystringOptionnelClé d'idempotence, jusqu'à 255 octets. Les reprises avec la même clé du même compte ne créent la tâche qu'une seule fois ; les rejeux renvoient le taskId d'origine.
En cas de timeout réseau ou de relance automatique du client, la même clé ne crée la tâche qu'une seule fois, sans double facturation (portée = le compte de la clé API). Utilisez un identifiant métier unique (ex. "order-42") ; les rejeux renvoient le taskId d'origine et les clés expirent 24 h après la première requête. La matrice complète des scénarios est dans la présentation de l'API asynchrone unifiée.
Corps
modelstringRequisValeur fixe actuelle : fashn-tryon-v1.6
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour fashn-tryon-v1.6 et la route default — voir le tableau des paramètres ci-dessous.
modestringOptionnelDéfaut: "balanced"Mode de compromis entre contrôle de la qualité et vitesse de génération, prend une valeur d'énumération de chaîne, par défaut balanced ; performance est plus rapide, le mode qualité est plus lent mais plus riche en détails.
performancebalancedqualityseedintegerOptionnelGraine aléatoire, prend un entier ; une même graine avec les mêmes entrées permet de reproduire le résultat.
categorystringOptionnelDéfaut: "auto"Catégorie de vêtement, prend une chaîne, par défaut auto, c'est-à-dire que la catégorie est détectée automatiquement à partir de l'image du vêtement.
topsbottomsone-piecesautomodel_imagestringRequisminLength 1pattern ^https?://Photo d'une personne portant le vêtement, prend une URL http(s).
garment_imagestringRequisminLength 1pattern ^https?://Image produit du vêtement à essayer, prend une URL http(s).
output_formatstringOptionnelDéfaut: "png"Format de l'image de sortie, prend une chaîne, par défaut png ; png offre la meilleure qualité, jpeg est plus rapide.
pngjpegmoderation_levelstringOptionnelDéfaut: "permissive"Niveau de modération du contenu, prend une chaîne, par défaut permissive ; permissive bloque les contenus explicites, conservative bloque en outre les contenus de type lingerie et maillot de bain.
nonepermissiveconservativesegmentation_freebooleanOptionnelDéfaut: trueInterrupteur booléen, par défaut true ; une fois activé, désactive l'analyse du corps humain (human parsing) sur l'image de la personne.
garment_photo_typestringOptionnelDéfaut: "auto"Type d'image du vêtement, prend une chaîne, par défaut auto ; model indique une image de mannequin portant le vêtement, flat-lay indique une image à plat ou sur mannequin invisible, auto indique une détection automatique.
automodelflat-laycallbackobjectOptionnel
Configuration de notification d'état terminal. Sans elle, aucun callback — interrogez la tâche vous-même.
Fournissez callback.url à la création et HiAPI envoie un POST à votre service à l'état terminal — plus besoin de polling. Le corps du rappel reprend la structure du détail de tâche ; vérification de signature, relances et idempotence sont décrits dans la présentation de l'API asynchrone unifiée.
urlstringRequisObligatoire si callback est présent. Un POST est envoyé vers cette URL à l'état terminal ; doit être une URL http(s) valide.
whenstringOptionnelDéfaut: "final"Seul final est pris en charge pour l'instant — notifié sur success et fail.
finalstoragestringOptionnelDéfaut: "temp"Niveau de stockage des artefacts : temp (par défaut, ~7 jours) ou persistent (long terme, facturé au volume). Solde insuffisant ou dépassement de limite ⇒ rétrogradation silencieuse en temp ; le niveau effectif figure dans la réponse de détail.
temppersistentExemples de requête
# Soumet une tâche asynchrone ; renvoie immédiatement un taskId (n'attend pas la génération)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "fashn-tryon-v1.6",
"input": {
"mode": "balanced",
"category": "auto",
"model_image": "…",
"garment_image": "…",
"output_format": "png",
"moderation_level": "permissive",
"segmentation_free": true,
"garment_photo_type": "auto"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "fashn-tryon-v1.6",
input: {
"mode": "balanced",
"category": "auto",
"model_image": "…",
"garment_image": "…",
"output_format": "png",
"moderation_level": "permissive",
"segmentation_free": true,
"garment_photo_type": "auto"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "fashn-tryon-v1.6",
"input": {
"mode": "balanced",
"category": "auto",
"model_image": "…",
"garment_image": "…",
"output_format": "png",
"moderation_level": "permissive",
"segmentation_free": True,
"garment_photo_type": "auto"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obtenir le détail de la tâche
https://api.hiapi.ai/v1/tasks/:id Champs de réponse
taskIdstringRequisIdentifiant de tâche, toujours préfixé tk-hiapi-.
modelstringRequisNom complet résolu du modèle. Les tâches envoyées avec le paramètre route renvoient base@route (ex. gpt-image-2/text-to-image@ext) ; sinon identique au nom fourni.
routestringOptionnelPrésent uniquement si le paramètre route explicite a été utilisé ; renvoie la valeur soumise.
statusstringRequisStatut de la tâche.
queued En file, pas encore démarrée.
handling En cours de traitement.
archiving Traitement terminé, préparation des artefacts.
success Terminal : terminé, artefacts disponibles (output renvoyé).
fail Terminal : échec (error renvoyé).
Après soumission, suivez status : success et fail sont terminaux, le reste non terminal. Interrogez toutes les 1–3 s jusqu'à l'état terminal. En cas de succès, téléchargez les artefacts via output[].url et transférez-les avant expireAt ; pour une conservation longue durée, indiquez storage: "persistent" à la création.
creatednumberRequisDate de création de la tâche (secondes Unix).
completednumberRequisSecondes Unix de l'état terminal ; 0 tant que non terminal.
outputarrayOptionnel
Présent uniquement si status == success. Liste d'artefacts — toujours un tableau ; une tâche peut renvoyer plusieurs types à la fois (ex. video + first_frame).
Array [ object ]
Éléments du tableau
urlstringRequisURL de l'artefact, téléchargeable directement.
typestringRequisValeurs possibles actuelles : video, image, audio, first_frame, last_frame, thumbnail ; d'autres pourront s'ajouter.
expireAtnumberRequisSecondes Unix de disponibilité de l'artefact ; téléchargez ou transférez avant l'expiration.
errorobjectOptionnel
Présent uniquement si status == fail.
codestringRequisCode d'erreur métier.
messagestringRequisDescription de l'erreur.
Exemples de réponse
Succès
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} En cours (non terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Échec
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
Voir tous les articles →-
Tutoriel
Comment utiliser kling-4.0/text-to-video via l'API HiAPI : curl, Python et un exemple de requête fonctionnel
Guide pratique pour les développeurs : prompts cinématographiques, audio synchronisé, interrogation asynchrone et téléchargement des sorties
-
Tutoriel
Comment appeler kling-4.0/image-to-video sur HiAPI : curl, Python et interrogation périodique
-
Tutoriel
Comment appeler hailuo-2.3/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
-
Tutoriel
Comment appeler hailuo-2.3-fast/image-to-video via l'API HiAPI : curl et Python en pratique
La première requête exploitable du palier image-vers-vidéo rapide et économique — de l'ID du modèle au téléchargement du MP4
-
Tutoriel
Utiliser Kandinsky 6.0 Pro texte-vers-vidéo sur HiAPI : tutoriel curl et Python
Démonstration pratique axée sur la requête : construire l'appel du prompt au clip vidéo, soumettre la requête, interroger l'état d'achèvement et télécharger le résultat
-
Tutoriel
Tutoriel pour kandinsky-6.0-pro/image-to-video sur HiAPI : curl + Python
Lancer une requête image-vers-vidéo exploitable sur HiAPI : de l'envoi de la première image à l'interrogation asynchrone jusqu'au téléchargement final
Modèles associés
Voir tous les modèles →Même type
-
Krea 2 Medium Turbo Krea $0.021 /image -
GPT Image 2.5 OpenAI $0.017 /image -
Nano Banana 2 Lite Google $0.033 /image -
Nano Banana 2 Google $0.036 /image -
Seedream 5.0 ByteDance $0.025 /image -
BRIA Product Shot Bria $0.058 /image -
Qwen Image 3.0 Alibaba $0.036 /image -
Grok Imagine xAI $0.011 /seconde -
Nano Banana Pro Google $0.057 /image -
Qwen Image 2.0 Alibaba $0.042 /image -
FLUX.2 Black Forest Labs $0.035 /image -
Nano Banana Google $0.021 /image











