Bria
BRIA Product Shot
bria-product-shot
Modèle d'édition d'images destiné aux visuels produits e-commerce, capable d'intégrer naturellement un produit dans un décor généré à partir d'un texte ou d'une image de référence, tout en préservant les textures et les détails de la marque
Tarifs
bria-product-shot per image
| Prix unitaire | $0.0575 |
|---|
Présentation
bria-product-shot est un modèle d'édition d'images destiné à la visualisation de produits e-commerce : il reçoit une image de produit accompagnée d'une description de scène ou d'une image de référence de scène, place automatiquement le produit dans un nouveau décor, préserve la texture, le logo et les détails de marque, et produit une image de produit exploitable pour la présentation commerciale. Il convient aux développeurs et aux équipes e-commerce qui doivent générer en lot des visuels de produits en situation, en réduisant les prises de vue physiques et les compositions manuelles.
Points clés
- Entraîné spécifiquement pour le placement de produits, éclairage naturel — optimisé pour la cohérence de l'éclairage, des ombres et de l'échelle entre le produit et la scène, le résultat composite se rapproche d'une prise de vue réelle.
- Préservation des détails du produit et des éléments de marque — lors de la composition de la scène, les détails essentiels tels que la texture du produit, le logo et les signes de marque sont conservés.
- Deux modes de guidage de scène : texte ou image de référence — le nouveau décor peut être spécifié par une description de scène en anglais ou par une image de référence de scène, au choix, pour un contrôle flexible du résultat.
- Position prédéfinie et dimensions d'origine au choix — possibilité de spécifier manuellement une position prédéfinie du produit dans l'image, ou de conserver les dimensions et la position d'origine en sortie.
Fonctionnalités
Génération de scène par description textuelle : fournissez une description de scène en anglais (1 000 caractères maximum) ; le modèle génère automatiquement le décor et y place le produit, avec prise en charge de l'expansion automatique de la description pour enrichir les détails de la scène.
Style de scène guidé par image de référence : téléversez une image de référence de scène ; le modèle compose l'image de produit en suivant le style de son arrière-plan, idéal pour une production en lot à l'esthétique visuelle homogène.
Contrôle de la position et des dimensions du produit : le mode placement manuel permet de choisir parmi dix positions prédéfinies pour l'emplacement du produit ; le mode original conserve les dimensions et la position d'entrée, avec la possibilité de ne pas redimensionner à environ 1 MP.
Bascule rapide de mode : le mode rapide est activé par défaut pour accélérer la génération ; une fois désactivé, le modèle standard est utilisé, permettant d'arbitrer selon les besoins entre vitesse et qualité.
Cas d'usage
- Opérations e-commerce : mise en scène en lot des images principales de produits — à partir d'une image de produit et d'une description de scène, générer en lot des images de produit sur plusieurs arrière-plans, pour les pages de détail produit et les supports publicitaires.
- Équipes marketing : création de variantes multi-styles — utiliser des images de référence pour guider différents styles d'arrière-plan et produire rapidement des visuels marketing multi-styles d'un même produit, pour les réseaux sociaux et les pages d'événements.
- Marques : composition rapide des visuels de lancement — dans le processus de lancement de nouveaux produits, placer les images de produit dans des scènes de vie, réduire les prises de vue physiques et accélérer la mise en ligne des supports visuels.
- Développeurs : intégration dans des workflows automatisés — via l'API unifiée HiAPI.ai, intégrer la composition de scènes de produits dans les pipelines de production de contenu pour un traitement automatisé à grande échelle.
Limites et conseils de sélection
Ce modèle offre une capacité d'édition image-vers-image : une image de produit est obligatoire en entrée et la génération d'images à partir de texte seul n'est pas prise en charge ; la sortie est une image statique, sans contenu vidéo ni 3D. Son positionnement est centré sur la composition de scènes de produits e-commerce ; la génération d'images créatives génériques n'est pas son usage visé. L'usage commercial est soumis aux conditions d'autorisation et de conformité applicables. Pour générer une image créative à partir de zéro ou réaliser une édition non liée à un produit, il convient de choisir un modèle de génération d'images généraliste.
Nouveautés
Voir le journal des modifications →- Nouveau modèle Nouveau modèle bria-product-shot pour les visuels de produits en situation
Questions fréquentes
Voir toutes les questions →-
Peut-on utiliser la description de scène et l'image de référence de scène ensemble ?
Non, choisissez l'un ou l'autre. Lorsque vous rédigez une description de scène (prompt) en anglais, ne transmettez pas d'image de référence ; lorsque vous générez à partir d'une image de référence, n'écrivez pas de description. Dans Playground, changer de mode efface automatiquement le contenu de l'autre.
-
La description du scénario doit-elle être en anglais ?
Oui. Veuillez décrire le nouveau scénario ou le contexte en anglais dans le prompt, avec un maximum de 1000 caractères ; si le Playground détecte du chinois, il vous invitera à le reformuler.
-
Qu'est-ce que l'optimisation de la description ?
Une fois activée, votre description de scène sera automatiquement enrichie ; activée par défaut ; ne s'applique qu'au mode description de scène, elle n'est pas envoyée en mode image de référence.
-
Quelles sont les méthodes de placement des produits ?
La position prédéfinie (manual_placement, par défaut ; description de scène ou image de référence acceptée) place le produit à un emplacement spécifié du canevas, par défaut centré en bas, avec une sortie mesurée de 1024×1024 pour une entrée carrée ; le maintien en position d'origine (original) conserve la position et l'échelle du produit dans l'image d'origine.
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 : bria-product-shot
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour bria-product-shot et la route default — voir le tableau des paramètres ci-dessous.
fastbooleanOptionnelDéfaut: trueFaster generation; turn off for the standard model.
promptstringOptionnelminLength 1maxLength 1000English description of the new scene or background. Use either prompt or reference_image_url, not both.
image_urlstringRequisminLength 1pattern ^https?://Public URL of the product photo (JPEG, PNG or WEBP, up to 12 MB).
placement_typestringOptionnelDéfaut: "manual_placement"manual_placement puts the product at a preset position (with a scene description or a scene reference; measured 1024×1024 for square input); original keeps its position and the input size.
manual_placementoriginaloriginal_qualitybooleanOptionnelDéfaut: falseKeep the input size instead of scaling to about 1 MP. Applies to original only.
reference_image_urlstringOptionnelminLength 1pattern ^https?://Image whose scene or background style to follow. Use either prompt or reference_image_url, not both.
optimize_descriptionbooleanOptionnelDéfaut: trueExpand the scene description automatically. Applies to prompt only.
manual_placement_selectionstringOptionnelDéfaut: "bottom_center"Preset product position. Applies to manual_placement only.
bottom_centerupper_leftupper_rightbottom_leftbottom_rightright_centerleft_centerupper_centerTout afficher (2)
center_verticalcenter_horizontalcallbackobjectOptionnel
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": "bria-product-shot",
"input": {
"fast": true,
"image_url": "…",
"placement_type": "manual_placement",
"original_quality": false,
"optimize_description": true,
"manual_placement_selection": "bottom_center"
}
}' 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: "bria-product-shot",
input: {
"fast": true,
"image_url": "…",
"placement_type": "manual_placement",
"original_quality": false,
"optimize_description": true,
"manual_placement_selection": "bottom_center"
}
}),
});
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": "bria-product-shot",
"input": {
"fast": True,
"image_url": "…",
"placement_type": "manual_placement",
"original_quality": False,
"optimize_description": True,
"manual_placement_selection": "bottom_center"
}
},
)
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
-
Comparatif et évaluation
Comparatif horizontal de Recraft v4.1 Flash en génération d'images à partir de texte : guide de sélection et de migration pour les développeurs
Avec un coût de 0,01 $ par image et ses capacités de génération pure à partir de texte, déterminez s'il convient à votre pipeline de génération d'images
-
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
recraft-v4.1-flash génération d'images texte-à-image en pratique : 5 scénarios métier à forte valeur et points d'intégration clés
À partir d'un coût de 0,01 $ par image, planifier le déploiement de la génération d'images dans de vrais contextes métier
-
Comparatif et évaluation
Comparatif transversal de hailuo-2.3-fast/image-to-video : comment choisir un modèle image-to-video et les points clés de migration
-
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 kling-4.0/image-to-video sur HiAPI : curl, Python et interrogation périodique
-
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
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
-
851 Labs Background Remover 851 Labs $0.002 /image -
FASHN Tryon v1.6 FASHN $0.107 /image -
GPT Image 2.5 OpenAI $0.017 /image -
Nano Banana 2 Lite Google $0.033 /image -
Z-Image Alibaba $0.008 /image -
Wan 2.7 Image Alibaba $0.035 /image -
Nano Banana Google $0.021 /image -
Grok Imagine Quality xAI $0.070 /image -
FLUX.2 Black Forest Labs $0.035 /image -
Qwen Image 2.0 Alibaba $0.042 /image -
Nano Banana 2 Google $0.036 /image -
Seedream 4.5 ByteDance $0.045 /image