Black Forest Labs
FLUX.2
flux-2/image-to-image
La famille de génération et d'édition d'images de Black Forest Labs, prenant en charge le transfert de style à partir d'images de référence et la fusion de plusieurs images de référence, tout en préservant autant que possible la composition d'origine et la position du sujet lors de l'édition
Essayer flux-2/image-to-image
Entrée
Créations
Voir toutes les créationsSortie
imageTarifs
flux-2/image-to-image per image
| Spécifications | Prix unitaire |
|---|---|
| 1K | $0.035 |
| 2K | $0.050 |
Présentation
La ligne d'édition d'image FLUX.2 reçoit de 1 à 8 images de référence ainsi qu'une instruction d'édition, et réalise un remplacement de style et des ajustements de détails en préservant autant que possible la composition et la position du sujet de l'image d'origine. Elle convient aux développeurs qui doivent transformer des ressources existantes en un nouveau visuel, par exemple pour le transfert de style, la fusion multi-images et l'itération de prototypes créatifs. Via l'interface unifiée de HiAPI.ai, la résolution de l'image de sortie peut être choisie entre 1K et 2K, et le rapport d'aspect prend en charge les proportions courantes ainsi qu'un mode auto qui suit la première image.
Points clés
- Priorité à la composition et à la position du sujet lors de l'édition — modifiez le style et les détails selon l'instruction au lieu de régénérer une image totalement différente, ce qui réduit les coûts de réalignement en aval.
- Association de 1 à 8 images de référence en une seule fois — le prompt peut référencer les images dans l'ordre, permettant le remplacement de ressources et la fusion d'éléments issus de plusieurs images.
- Rapport et résolution de sortie contrôlables — spécifiez 1K ou 2K ainsi que divers rapports d'aspect ; le mode auto reprend directement la composition de la première image d'entrée.
Description des capacités
Édition d'image pilotée par instruction : transmettez une image de référence et une instruction d'édition pour obtenir l'image modifiée ; idéal pour des ajustements ciblés sur des ressources existantes plutôt que pour une génération à partir de zéro.
Référence multi-images et combinaison d'éléments : jusqu'à 8 images d'entrée ; le prompt peut référencer chaque image par son numéro, ce qui facilite l'insertion d'éléments d'une image dans la scène d'une autre.
Conservation de la composition et du rapport : lorsque le rapport d'aspect est défini sur auto, il correspond à la première image d'entrée, préservant la mise en page d'origine tout en modifiant le contenu, ce qui facilite le remplacement par lots de ressources de même taille.
Résolution de sortie au choix : deux niveaux de résolution de sortie, 1K et 2K, à sélectionner selon les besoins d'affichage final, pour un usage aussi bien en prévisualisation qu'en produit fini.
Cas d'usage
- Transfert de style sur des photos existantes par les designers — saisissez une photo originale et une description de style pour obtenir une version stylisée conservant la position du sujet, destinée aux moodboards et aux premières ébauches de proposition.
- Remplacement d'éléments dans des supports marketing — transmettez une image de produit et une image de scène, remplacez le contenu de l'image selon l'instruction et produisez des visuels publicitaires de taille uniforme pour une diffusion multicanale.
- Uniformisation du style à partir de plusieurs références — saisissez plusieurs ressources visuelles existantes pour générer des images dérivées au style cohérent, destinées à l'extension sérielle d'un visuel d'événement.
Limites et conseils de sélection
Seule l'édition image-vers-image est prise en charge : au moins une image de référence est requise, aucune génération purement textuelle n'est possible ; le prompt est limité à 3 à 5000 caractères, les images d'entrée doivent être au format jpeg/png/webp et ne pas dépasser 10 Mo chacune, le format SVG n'est pas pris en charge. La résolution se limite aux deux niveaux 1K et 2K. Pour concevoir une image à partir de zéro, utilisez plutôt la ligne texte-vers-image de la même famille ; pour les cas exigeant une licence non commerciale ou un déploiement local, vérifiez séparément les conditions d'autorisation et de déploiement.
Nouveautés
Voir le journal des modifications →- Nouveau modèle Nouveau modèle : flux-2-klein-4b/text-to-image, génération d'images à partir de texte à haut rapport qualité-prix avec des paliers de 0,25 à 4 MP ; avec…
- Nouveau modèle Nouveau modèle d'édition d'image : flux-2-klein-4b/image-to-image prend en charge une seule image de référence et des sorties de 0,25 à 4 MP…
Questions fréquentes
Voir toutes les questions →-
Combien d'images de référence l'édition d'images FLUX.2 prend-elle en charge ?
Elle prend en charge de 1 à 8 images de référence JPEG, PNG ou WebP, chacune ne dépassant pas 10 Mo. Lors d'une composition multi-images, il convient de préciser dans le Prompt le rôle de chaque image, dans l'ordre.
-
À quoi sert le format auto ?
auto suit le rapport largeur-hauteur de la première image de référence ; pour une sortie fixe en paysage, portrait ou carré, choisissez un format explicite.
-
Comment la facturation s'effectue-t-elle pour 1K et 2K ?
1K et 2K utilisent des tarifs unitaires différents par image, le nombre d'images de référence n'entraîne pas de surcoût ; les montants exacts sont ceux du tarif en temps réel indiqué sur cette page.
-
Comment réduire la dérive du sujet et du logo ?
Indiquez explicitement l'usage de chaque image de référence et énumérez à la fois les éléments du sujet, du texte, de la matière, de la position et de la lumière à modifier et ceux à conserver impérativement.
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-2/image-to-image
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour flux-2/image-to-image et la route default — voir le tableau des paramètres ci-dessous.
promptstringRequisminLength 3maxLength 5000Instruction d'édition décrivant l'effet de sortie attendu, longueur de 3 à 5000 caractères. Il faut référencer les images d'entrée dans l'ordre, par exemple « placer le pot de l'image 1 dans la gélule de l'image 2 ».
image_urlsarrayRequisminItems 1maxItems 8Tableau d'images de référence en entrée, contenant de 1 à 8 images, chacune étant une URL accessible publiquement, formats jpeg/png/webp pris en charge, 10 Mo maximum par image ; SVG non pris en charge.
Array [ string ]
resolutionstringRequisDéfaut: "1K"Résolution de l'image de sortie, 1K par défaut.
1K2Kaspect_ratiostringRequisDéfaut: "1:1"Rapport largeur/hauteur de l'image générée, 1:1 par défaut ; lorsqu'il est défini sur auto, il correspond au rapport largeur/hauteur de la première image d'entrée.
1:14:33:416:99:163:22:3autocallbackobjectOptionnel
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-2/image-to-image",
"input": {
"prompt": "…",
"image_urls": "…",
"resolution": "1K",
"aspect_ratio": "1:1"
}
}' 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-2/image-to-image",
input: {
"prompt": "…",
"image_urls": "…",
"resolution": "1K",
"aspect_ratio": "1:1"
}
}),
});
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-2/image-to-image",
"input": {
"prompt": "…",
"image_urls": "…",
"resolution": "1K",
"aspect_ratio": "1:1"
}
},
)
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
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
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
-
Recraft V4.1 Recraft $0.010 /image -
Seedream 5.0 ByteDance $0.025 /image -
GPT Image 2.5 OpenAI $0.017 /image -
Google Virtual Try-On Google $0.107 /image -
Ideogram V4.5 Ideogram $0.011 /image -
BRIA Product Shot Bria $0.058 /image -
Recraft Creative Upscale Recraft $0.357 /image -
Recraft Crisp Upscale Recraft $0.004 /image -
BRIA Eraser Bria $0.058 /image -
Nano Banana 2 Lite Google $0.033 /image -
Seedream 4.5 ByteDance $0.045 /image -
Nano Banana Pro Google $0.057 /image
Même fournisseur
-
FLUX.2 Klein 9B Black Forest Labs $0.0086 /image -
FLUX 3 Image Black Forest Labs $0.041 /image -
FLUX 3 Video Black Forest Labs $0.090 /seconde -
FLUX.2 Klein 4B Black Forest Labs $0.0004 /image -
FLUX.1 Kontext Max Black Forest Labs $0.071 /image -
FLUX.1 Schnell Black Forest Labs $0.005 /image -
FLUX 1.1 Pro Black Forest Labs $0.050 /image -
FLUX 3 Max Black Forest Labs $0.061 /seconde -
FLUX.1 Fill Pro Black Forest Labs $0.071 /image







