Bria
BRIA Eraser
bria-eraser
Modèle d'édition d'image spécialisé dans l'effacement par masque et la reconstruction de zones : il supprime les objets ciblés selon un masque noir et blanc et complète l'image ; entraîné sur des données sous licence, il convient au nettoyage par lots de visuels e-commerce et marketing.
Tarifs
bria-eraser per image
| Prix unitaire | $0.0575 |
|---|
Présentation
BRIA Eraser est un modèle d'édition d'image spécialisé dans l'effacement : il prend en entrée une image originale et un masque en noir et blanc, où le blanc indique la zone à supprimer ; le modèle retire l'objet ciblé et reconstruit les pixels occultés, puis produit une image propre conservant la résolution d'origine. Il convient aux développeurs qui doivent intégrer le retrait d'éléments indésirables ou d'éléments temporaires dans des pipelines de contenu à grande échelle, en particulier aux équipes e-commerce, publicité et design conceptuel qui sont sensibles à la provenance licite des ressources et exigent des résultats directement commercialisables ou intégrables dans un flux de post-production.
Points clés
- Effacement et reconstruction de zone ciblés — une seule fonction : supprimer la cible selon le masque et compléter l'arrière-plan ; le processus est simple, ce qui facilite l'intégration dans un pipeline de traitement d'image existant.
- Résolution d'origine préservée — le résultat conserve la taille de l'image d'entrée, sans remise à l'échelle, et peut passer directement dans les étapes de mise en page ou de publication.
- Contraintes d'entrée orientées usage — prend en charge les images JPEG, PNG, WEBP accessibles publiquement et un masque en noir et blanc au même ratio, avec conservation possible du canal alpha via un paramètre.
Capacités
Effacement d'objet piloté par masque : un masque en noir et blanc au même ratio que l'image localise l'élément à supprimer ; le blanc correspond à la zone effacée, le noir à la zone conservée, ce qui permet de retirer précisément un élément donné de l'image.
Reconstruction des pixels de la zone effacée : la zone supprimée est complétée par génération de contenu, la structure de l'arrière-plan est reconstruite afin que l'image ne présente pas de trou visible après le retrait de l'objet, ce qui réduit les retouches manuelles.
Alignement sur la résolution d'entrée : la sortie reprend la résolution de l'image d'entrée ; le résultat renvoyé peut remplacer directement la ressource d'origine, sans étape de redimensionnement ni d'alignement secondaire.
Conservation du canal alpha : avec preserve_alpha activé, une entrée dotée d'un canal alpha conserve sa transparence dans le résultat, ce qui convient au nettoyage de ressources en calques.
Adaptation à la source du masque : mask_type distingue les masques dessinés à la main de ceux produits par des outils de segmentation, ce qui permet d'intégrer directement des résultats de segmentation automatique dans le flux d'effacement.
Cas d'usage
- Nettoyage d'images produit pour l'e-commerce — fournir une image principale de produit et un masque marquant les éléments indésirables ou temporaires pour obtenir une image produit propre, directement utilisable en page de détail et pour la mise en rayon.
- Nettoyage d'images pour la post-production publicitaire — effacer localement les objets non désirés d'une ressource publicitaire afin d'obtenir une image finale prête pour la mise en page et la diffusion, en réduisant les allers-retours de retouche manuelle.
- Retouche locale en design conceptuel — fournir l'illustration d'un personnage ou un croquis de scène avec un masque local pour supprimer les traits ou éléments superflus et produire une base sur laquelle poursuivre le dessin.
- Pipeline de traitement de contenu à grande échelle — envoyer par lots les masques issus de la segmentation automatique à l'étape d'effacement pour obtenir des ressources nettoyées de spécifications uniformes, intégrables au flux existant de revue et d'itération.
Limites et conseils de sélection
La qualité dépend fortement du masque : son ratio doit correspondre à celui de l'image et ses bords doivent dépasser légèrement l'objet cible, sinon des résidus ou des suppressions erronées sont fréquents. Le modèle couvre uniquement l'effacement et la complétion de zone ; il n'offre pas de génération d'image générale, et les scénarios nécessitant une création d'image à partir de zéro doivent choisir un autre modèle. En outre, seules les URL d'images accessibles publiquement sont acceptées, le résultat conserve la résolution d'origine, et le modèle ne convient pas aux appels exigeant une forte interactivité en temps réel.
Nouveautés
Voir le journal des modifications →- Nouveau modèle Nouveau modèle bria-eraser : effacement par masque
Questions fréquentes
Voir toutes les questions →-
Comment dessiner un masque ?
Un masque est une image en noir et blanc : les zones blanches sont effacées et complétées par l'arrière-plan, tandis que les zones noires restent inchangées. Il est préférable que la zone blanche dépasse légèrement le contour de l'objet, afin que les ombres et les résidus de bord soient également supprimés.
-
Le masque doit-il avoir la même taille que l'image d'origine ?
Le rapport largeur/hauteur du masque doit être identique à celui de l'image d'origine ; il est recommandé d'exporter directement aux dimensions de l'image d'origine afin d'éviter tout décalage de la position d'effacement.
-
Faut-il écrire un prompt ?
Non. Bria Eraser fonctionne uniquement à partir de l'image d'origine et du masque ; le champ prompt ne doit pas être inclus dans la requête.
-
mask_type : choisir manual ou automatic ?
Choisissez manual (par défaut) pour un masque peint à la main avec un pinceau ou un logiciel de retouche ; choisissez automatic pour un masque généré automatiquement par un outil de segmentation.
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-eraser
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour bria-eraser et la route default — voir le tableau des paramètres ci-dessous.
mask_urlstringRequisminLength 1pattern ^https?://Black-and-white mask with the same aspect ratio as the image: white marks what to erase, black is kept. Paint slightly beyond the object edge.
image_urlstringRequisminLength 1pattern ^https?://Public URL of the image to clean up (JPEG, PNG or WEBP). The result keeps the original resolution.
mask_typestringOptionnelDéfaut: "manual"manual for brush-drawn masks; automatic for masks produced by a segmentation tool.
manualautomaticpreserve_alphabooleanOptionnelDéfaut: falseIf the input has an alpha channel, keep its transparency in the result.
callbackobjectOptionnel
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-eraser",
"input": {
"mask_url": "…",
"image_url": "…",
"mask_type": "manual",
"preserve_alpha": false
}
}' 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-eraser",
input: {
"mask_url": "…",
"image_url": "…",
"mask_type": "manual",
"preserve_alpha": false
}
}),
});
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-eraser",
"input": {
"mask_url": "…",
"image_url": "…",
"mask_type": "manual",
"preserve_alpha": False
}
},
)
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 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
-
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
Comment appeler kling-4.0/image-to-video sur HiAPI : curl, Python et interrogation périodique
-
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 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
-
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
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
Modèles associés
Voir tous les modèles →Même type
-
Muse Image 1.0 Meta $0.015 per task -
BRIA Product Shot Bria $0.058 /image -
Ideogram V4 Ideogram $0.050 /image -
GPT Image 2 OpenAI $0.007 /image -
Grok Imagine xAI $0.011 /seconde -
Qwen Image 3.0 Alibaba $0.036 /image -
FIBO 1.5 Bria $0.058 /image -
851 Labs Background Remover 851 Labs $0.002 /image -
FLUX.2 Black Forest Labs $0.035 /image -
Nano Banana 2 Lite Google $0.033 /image -
Krea 2 Medium Turbo Krea $0.021 /image -
Recraft V4.1 Recraft $0.010 /image