Black Forest Labs
FLUX.1 Fill Pro
flux-1-fill-pro
Modèle professionnel de repeinture locale et d'extension d'image : remplace, supprime ou prolonge des zones précises selon un masque binaire, tout en préservant la cohérence de l'éclairage et de la perspective ; nécessite un masque en entrée, adapté au retouchage fin plutôt qu'à la génération d'images complètes
Essayer flux-1-fill-pro
Entrée
Créations
Voir toutes les créationsSortie
imageTarifs
flux-1-fill-pro per image
| Prix unitaire | $0.0715 |
|---|
Présentation
flux-1-fill-pro est un modèle d'inpainting destiné à l'édition ciblée : il prend en entrée une image source et un masque en noir et blanc, accompagnés d'un prompt textuel, et ne repeint que la zone blanche du masque, la zone noire restant inchangée. Il convient aux retouches fines de photos produit, au remplacement local d'éléments sur des visuels e-commerce, à l'ajustement de rendus et à l'extension de cadre, bref à tous les cas nécessitant une modification chirurgicale d'une composition existante. Les développeurs y accèdent via l'interface unifiée de HiAPI.ai, avec une facturation à l'image, sans avoir à construire leur propre pipeline d'édition d'image.
Points clés
- Piloté par masque, repeinture ciblée — seule la zone blanche du masque est modifiée, les autres pixels restent intacts, ce qui convient aux retouches précises de remplacement, suppression ou ajout d'éléments.
- Une même interface pour l'inpainting et l'outpainting — retouche locale sans changer la structure, ou extension du canevas pour ajuster le cadrage : les deux besoins partagent un même jeu de paramètres d'entrée.
- Contrôle de génération reproductible — seed, steps, guidance et prompt_upsampling contrôlent l'aléatoire et la fidélité au prompt, facilitant la génération par lots et la validation par régression.
Capacités
Repeinture locale par masque : en fournissant l'image source, un masque noir et blanc de même taille et un prompt, il est possible de remplacer ou d'ajouter le contenu d'une zone désignée, la zone noire étant conservée telle quelle, ce qui convient au remplacement local d'éléments et à la correction de défauts.
Extension de cadre et complétion de composition : les zones situées au-delà des bords de l'image peuvent être étendues de façon générative, afin d'ajuster le rapport largeur-hauteur ou de compléter le canevas selon les exigences de dimensions des différents canaux de diffusion.
Contrôle qualité paramétrique : le nombre d'étapes de diffusion (15–50) et l'intensité de guidage (1,5–100) se règlent selon les besoins ; plus le nombre d'étapes est élevé, plus les détails sont fins mais plus le traitement est long, et plus l'intensité de guidage est élevée, plus le résultat est proche du prompt.
Résultats reproductibles et choix du format : un seed fixe permet de reproduire des résultats proches, utile pour les tâches par lots et la comparaison d'effets ; la sortie peut être en jpg ou png, directement intégrée au flux de production des assets.
Option de réécriture automatique du prompt : prompt_upsampling est désactivé par défaut ; une fois activé, le prompt est automatiquement réécrit pour favoriser la créativité ; laissez-le désactivé pour une génération strictement conforme au texte d'origine.
Cas d'usage
- E-commerce : remplacement local d'éléments et correction de défauts sur les visuels produit — délimitez au masque les pièces du produit ou les taches à remplacer, saisissez une nouvelle description et obtenez une image principale prête à la mise en ligne, ce qui réduit les reprises de shooting et la régénération d'images complètes.
- Équipes de design : ajustement local de rendus et extension de canevas — modifiez des zones précises de rendus d'architecture ou d'intérieur, ou étendez le canevas vers l'extérieur, pour produire des visuels adaptés à différentes mises en page tout en conservant la cohérence de l'éclairage et de la perspective.
- Traitement d'assets : suppression d'éléments gênants et remplissage naturel — marquez au masque les objets indésirables sur l'image source, décrivez dans le prompt le contenu de remplacement et obtenez une image propre pour la mise en page et la diffusion ultérieures.
Limites et conseils de sélection
Il est indispensable de préparer un masque noir et blanc de même taille que l'image source, ce qui ajoute une étape d'annotation ou de segmentation de zone. Il s'agit d'un modèle d'édition et non d'un modèle texte-image généraliste : il ne convient pas à la génération d'une image complète à partir de zéro ; le résultat dépend de la qualité du masque et de la description du prompt, et les textes complexes comme les structures fines peuvent nécessiter plusieurs ajustements. Les retouches sur de grandes surfaces ou en haute résolution augmentent nettement le temps de traitement et le coût des appels ; les cas sensibles au budget ou nécessitant un déploiement autonome des poids doivent être évalués séparément.
Nouveautés
Voir le journal des modifications →- Nouveau modèle Ajout de la documentation pour le repaint local par masque flux-1-fill-pro
Questions fréquentes
Voir toutes les questions →-
Qu'est-ce que FLUX.1 Fill Pro ?
FLUX.1 Fill Pro est un modèle d'édition d'image destiné au retouche locale par masque : téléchargez l'image d'origine, un masque noir et blanc de même taille et un prompt ; seule la zone blanche est redessinée, la zone noire reste inchangée.
-
Que représentent le noir et le blanc dans le masque ?
Les zones noires conservent l'image d'origine, les zones blanches sont repeintes à partir du prompt ; le masque doit avoir les mêmes dimensions que l'image d'origine.
-
Faut-il téléverser à la fois l'image et le masque ?
Oui. L'interface publique actuelle exige de fournir à la fois l'image originale et le masque en noir et blanc ; les deux sont indispensables.
-
Que faut-il écrire dans le prompt ?
Décrivez uniquement le nouveau contenu qui doit apparaître dans la zone blanche du masque, et précisez les éléments à conserver impérativement ; ne décrivez pas à nouveau l'image située en dehors du masque.
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 : flux-1-fill-pro
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour flux-1-fill-pro et la route default — voir le tableau des paramètres ci-dessous.
maskstringRequisImage de masque en noir et blanc servant à délimiter la zone à repeindre : les zones noires restent inchangées, les zones blanches sont repeintes selon le prompt. Formats pris en charge : JPEG, PNG, GIF, WebP ; les dimensions doivent être identiques à celles de l'image d'origine.
seedintegerOptionnelGraine aléatoire ; en fixant cette valeur, des résultats similaires peuvent être reproduits ; si elle n'est pas fournie, elle est générée aléatoirement.
imagestringRequisImage d'origine à modifier, formats pris en charge : JPEG, PNG, GIF, WebP, peut contenir un masque alpha. Si vous utilisez un masque séparé, assurez-vous que ses dimensions correspondent à celles de l'image d'origine.
stepsintegerOptionnelDéfaut: 50min 15max 50Nombre d'étapes de diffusion, plage de valeurs 15–50, valeur par défaut 50 ; plus la valeur est élevée, plus les détails sont fins, mais plus le traitement est long.
promptstringRequisminLength 1maxLength 4000Décrit le contenu à générer ou à remplacer dans la zone blanche du masque, 4000 caractères maximum.
guidancenumberOptionnelDéfaut: 60min 1.5max 100Force de guidage du prompt, plage de valeurs 1,5–100, valeur par défaut 60 ; plus la valeur est élevée, plus le résultat est fidèle au prompt, mais cela peut réduire le naturel de l'image.
output_formatstringOptionnelDéfaut: "jpg"Format de l'image de sortie, valeur jpg ou png, valeur par défaut jpg.
jpgpngprompt_upsamplingbooleanOptionnelDéfaut: falseIndique si le prompt doit être automatiquement réécrit pour accroître la créativité, valeur par défaut false ; à désactiver pour générer strictement selon le texte d'origine.
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": "flux-1-fill-pro",
"input": {
"mask": "…",
"image": "…",
"steps": 50,
"prompt": "…",
"guidance": 60,
"output_format": "jpg",
"prompt_upsampling": 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: "flux-1-fill-pro",
input: {
"mask": "…",
"image": "…",
"steps": 50,
"prompt": "…",
"guidance": 60,
"output_format": "jpg",
"prompt_upsampling": 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": "flux-1-fill-pro",
"input": {
"mask": "…",
"image": "…",
"steps": 50,
"prompt": "…",
"guidance": 60,
"output_format": "jpg",
"prompt_upsampling": 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
Comment appeler hailuo-2.3/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
-
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
-
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
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
-
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
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
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
-
Tutoriel
Comment appeler kling-4.0/image-to-video sur HiAPI : curl, Python et interrogation périodique
Modèles associés
Voir tous les modèles →Même type
-
Nano Banana Google $0.021 /image -
Qwen Image 2.0 Alibaba $0.042 /image -
FASHN Tryon v1.6 FASHN $0.107 /image -
Muse Image 1.0 Meta $0.015 per task -
GPT Image 2.5 OpenAI $0.017 /image -
FLUX.2 Klein 4B Black Forest Labs $0.0004 /image -
Ideogram V4.5 Ideogram $0.011 /image -
Ideogram V3 Character Ideogram $0.090 /image -
Ideogram V4 Ideogram $0.050 /image -
FLUX.2 Klein 9B Black Forest Labs $0.0086 /image -
851 Labs Background Remover 851 Labs $0.002 /image -
Imagen 4 Google $0.030 /image
Même fournisseur
-
FLUX.2 Klein 4B Black Forest Labs $0.0004 /image -
FLUX.1 Schnell Black Forest Labs $0.005 /image -
FLUX 3 Max Black Forest Labs $0.061 /seconde -
FLUX.1 Kontext Max Black Forest Labs $0.071 /image -
FLUX.2 Klein 9B Black Forest Labs $0.0086 /image -
FLUX 3 Image Black Forest Labs $0.041 /image -
FLUX.2 Black Forest Labs $0.035 /image -
FLUX 1.1 Pro Black Forest Labs $0.050 /image -
FLUX 3 Video Black Forest Labs $0.090 /seconde

![FLUX.1 Fill [pro] Image conceptuelle de scène d'univers : prolongement d'une crête lointaine](https://static.hiapi.ai/_i/v1/FFXyuyR-n_cY3KSvjHMQfw/7SbeuZdKdHydTU940SQckw.webp)









