Black Forest Labs
FLUX.2 Klein 4B
flux-2-klein-4b/image-to-image
Petit modèle distillé de 4 milliards de paramètres, unifiant la génération d'images à partir de texte et l'édition d'images, avec une inférence de bout en bout pouvant descendre sous 1 seconde, exécutable avec environ 13 Go de mémoire GPU
Essayer flux-2-klein-4b/image-to-image
Entrée
Créations
Voir toutes les créationsSortie
imageTarifs
flux-2-klein-4b/image-to-image per image
| Spécifications | Prix unitaire |
|---|---|
| 0.25 MP | $0.00608 |
| 0.5 MP | $0.00643 |
| 1 MP | $0.00715 |
| 2 MP | $0.00858 |
| 4 MP | $0.01143 |
Présentation
FLUX.2 klein 4B est un modèle d'édition d'image de 4 milliards de paramètres lancé par Black Forest Labs, qui accepte une seule image de référence en entrée et permet de modifier l'image d'origine de manière contrôlée par instruction. Les développeurs peuvent spécifier la résolution de sortie (0,25–4 MP), le rapport largeur-hauteur, le format et la qualité de compression, ainsi que fixer une graine aléatoire pour reproduire les résultats. Il convient aux développeurs qui souhaitent valider rapidement un pipeline d'édition d'image, ainsi qu'aux équipes qui intègrent la retouche d'images de référence dans des prototypes d'application.
Points clés
- Édition par instruction sur une seule image de référence — il suffit de fournir une image de référence et un prompt d'édition pour effectuer une modification ciblée de l'image d'origine, sans avoir à construire de pipeline d'édition supplémentaire.
- Contrôle fin des paramètres de sortie — prise en charge de la résolution (0,25–4 MP), du rapport largeur-hauteur, du format de sortie et de la qualité de compression, avec la possibilité de reproduire un même résultat grâce à une graine.
- Modèle distillé compact — distillation à 4 milliards de paramètres à partir d'un socle FLUX.2 plus grand, qui abaisse le seuil de déploiement tout en conservant la compréhension de l'éclairage et des matériaux.
Description des capacités
Édition d'image par instruction : avec une image de référence et un prompt en entrée, le modèle applique les modifications décrites à l'image de référence et produit un résultat édité directement exploitable dans les processus en aval.
Contrôle de la résolution et du ratio de sortie : la résolution peut être choisie entre 0,25 MP et 4 MP, et le rapport largeur-hauteur peut correspondre à l'image d'origine ou à des ratios courants spécifiés, pour répondre aux exigences des différents emplacements d'affichage.
Format et qualité réglables : prise en charge des sorties webp, jpg et png, avec possibilité de définir la qualité de compression (0–100), pour arbitrer entre qualité d'image et taille de fichier.
Résultats reproductibles : en définissant le paramètre seed, il est possible de reproduire un même résultat d'édition avec les mêmes entrées, ce qui facilite le débogage et la vérification de la cohérence des tâches par lots.
Cas d'usage
- Validation rapide d'un pipeline d'édition d'image par les développeurs — tester les effets d'édition avec une seule image de référence et un prompt, produire des exemples reproductibles pour évaluer l'intégration éventuelle en production.
- Retouche cohérente du style des images produit — à partir d'une image produit de référence, ajuster le style ou les détails selon les instructions et générer des images de spécifications uniformes pour l'affichage ou la banque d'assets.
- Prototype d'édition interactive en temps réel — intégrer la capacité de retouche d'images de référence dans des outils interactifs et produire des aperçus jusqu'à 0,25 MP pour un retour immédiat.
Limites et conseils de sélection
Seule une image de référence est acceptée ; il n'est pas possible de contraindre plusieurs images simultanément. Les images d'entrée dépassant 4 MP sont compressées à 4 MP et le format SVG n'est pas pris en charge. En tant que petit modèle distillé de 4 milliards de paramètres, ses capacités maximales sont limitées par sa taille ; pour des scénarios d'édition complexe ou exigeant une restauration fine des détails, il est recommandé d'évaluer des modèles plus grands. Il manque actuellement des données de référence comparatives indépendantes ; avant un usage commercial, il convient de vérifier la licence complète et les conditions d'utilisation.
Questions fréquentes
Voir toutes les questions →-
À quelles tâches FLUX.2 [klein] 4B est-il adapté ?
Adapté aux brouillons en masse, aux concepts de produits, aux contenus pour les réseaux sociaux et aux itérations visuelles sensibles aux coûts. Lorsqu'un plus grand réalisme, du texte et des détails sont nécessaires, passez au 9B.
-
Comment choisir entre 0,25 MP et 4 MP ?
Pour les brouillons et les miniatures, utilisez d'abord 0,25 ou 0,5 MP ; pour les ressources web courantes, utilisez 1 MP ; lorsque vous avez besoin d'un rendu plus grand, choisissez 2 ou 4 MP. Le prix varie selon le palier de pixels.
-
Quels formats d'image sont pris en charge ?
Prise en charge des formats 1:1, 16:9, 9:16, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 21:9 et 9:21.
-
Comment reproduire la même direction de composition ?
Fixez le Seed, le Prompt, le format, le palier de pixels et les paramètres de sortie ; ne modifiez qu'une seule variable pour comparer.
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-klein-4b/image-to-image
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour flux-2-klein-4b/image-to-image et la route default — voir le tableau des paramètres ci-dessous.
seedintegerOptionnelGraine aléatoire servant à contrôler la reproductibilité des résultats de génération ; valeur entière, une même graine avec la même entrée produit des résultats identiques.
promptstringRequisInvite (prompt) décrivant les modifications à appliquer à l'image de référence ; valeur de type chaîne de caractères.
image_urlsarrayRequisminItems 1maxItems 1Tableau d'images de référence, chaque élément étant l'URL d'une image de référence ; les formats jpeg, png et webp sont pris en charge, svg ne l'est pas ; les images dépassant 4 MP sont compressées à 4 MP.
Array [ string ]
resolutionstringOptionnelDéfaut: "1 MP"Résolution de l'image de sortie, la taille de sortie étant spécifiée en millions de pixels ; valeur par défaut 1 MP.
0.25 MP0.5 MP1 MP2 MP4 MPaspect_ratiostringOptionnelDéfaut: "match_input_image"Rapport largeur-hauteur de l'image de sortie ; défini sur match_input_image, il conserve le rapport d'origine de l'image de référence ; valeur par défaut match_input_image.
match_input_image1:116:99:163:22:34:33:4Tout afficher (4)
5:44:521:99:21output_formatstringOptionnelDéfaut: "jpg"Format de sortie de l'image générée ; valeur par défaut jpg.
webpjpgpngoutput_qualityintegerOptionnelDéfaut: 95min 0max 100Qualité de compression de l'image de sortie, effective uniquement pour les formats jpg et webp ; valeur entière, valeur par défaut 95.
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-2-klein-4b/image-to-image",
"input": {
"prompt": "…",
"image_urls": "…",
"resolution": "1 MP",
"aspect_ratio": "match_input_image",
"output_format": "jpg",
"output_quality": 95
}
}' 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-klein-4b/image-to-image",
input: {
"prompt": "…",
"image_urls": "…",
"resolution": "1 MP",
"aspect_ratio": "match_input_image",
"output_format": "jpg",
"output_quality": 95
}
}),
});
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-klein-4b/image-to-image",
"input": {
"prompt": "…",
"image_urls": "…",
"resolution": "1 MP",
"aspect_ratio": "match_input_image",
"output_format": "jpg",
"output_quality": 95
}
},
)
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/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
-
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
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 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
-
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
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
-
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
Modèles associés
Voir tous les modèles →Même type
-
Google Virtual Try-On Google $0.107 /image -
Grok Imagine Image 2.0 xAI $0.052 /image -
FIBO 1.5 Bria $0.058 /image -
Nano Banana 2 Google $0.036 /image -
Z-Image Alibaba $0.008 /image -
Recraft Crisp Upscale Recraft $0.004 /image -
GPT Image 2.5 OpenAI $0.017 /image -
BRIA Eraser Bria $0.058 /image -
FLUX.1 Schnell Black Forest Labs $0.005 /image -
Qwen Image 2.1 Alibaba $0.020 /image -
Seedream 4.5 ByteDance $0.045 /image -
Krea 3 Krea $0.036 /image
Même fournisseur
-
FLUX.2 Klein 9B Black Forest Labs $0.0086 /image -
FLUX.1 Kontext Max Black Forest Labs $0.071 /image -
FLUX 3 Image Black Forest Labs $0.041 /image -
FLUX.1 Fill Pro Black Forest Labs $0.071 /image -
FLUX 3 Max Black Forest Labs $0.061 /seconde -
FLUX 3 Video Black Forest Labs $0.090 /seconde -
FLUX 1.1 Pro Black Forest Labs $0.050 /image -
FLUX.1 Schnell Black Forest Labs $0.005 /image -
FLUX.2 Black Forest Labs $0.035 /image







