Black Forest Labs: FLUX.2 Pro
FLUX.2 [pro] est le modèle d’images de production de Black Forest Labs pour la création à partir de texte et la retouche guidée par des références. Son profil documenté associe des détails photoréalistes, le contrôle du texte et des couleurs, un budget de pixels partagé entre références et sortie, et des images pouvant atteindre 4 mégapixels.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
FLUX.2 [pro] est le modèle de génération et de retouche d’images de Black Forest Labs destiné à la production. Son fabricant le présente comme le choix par défaut pour la plupart des tâches visuelles FLUX.2 : créer une image à partir de texte ou modifier une scène à l’aide de références visuelles. Les capacités de sa famille comprennent des matières et un éclairage photoréalistes, du texte lisible, des instructions de couleur exacte et la cohérence des sujets entre retouches liées. Le livrable renvoyé est une image utilisable dans une scène de produit, une composition éditoriale, un concept de design ou une communication visuelle.
Préparer un brief de production
Commencez par le sujet, son action ou sa disposition, le style et le décor ou la lumière. Le guide de rédaction du fabricant accorde plus d’importance aux premiers mots et recommande de placer le sujet et l’action essentiels avant les détails décoratifs. Il suggère 10–30 mots pour des concepts rapides et 30–80 pour des projets courants, avec des descriptions plus longues pour les scènes complexes. Ces plages sont des conseils de rédaction, pas une limite de contexte textuel.
Un exemple original de brief de catalogue peut montrer une lampe en acier brossé sur une table gris chaud, vue de trois quarts pour révéler l’interrupteur et l’abat-jour. Précisez la surface, l’éclairage et le point de vue qui rendent le produit reconnaissable. Pour une infographie ou une image marketing, fixez d’abord le texte visible et sa hiérarchie ; mettez le titre exact entre guillemets, indiquez sa position et nommez le style et la taille des lettres. Inspectez les libellés, les quantités et les détails du produit à la taille d’affichage finale.
Le guide de la famille documente les prompts en langage naturel et les prompts structurés en JSON. Un brief de scène structuré peut séparer le sujet, l’arrière-plan, la lumière et la composition en champs distincts afin de modifier clairement une exigence. Il prend également en charge les descriptions de couleurs hexadécimales : associez le code à l’objet ou au texte précis à colorer. Décrivez positivement l’apparence souhaitée, car le processus documenté de rédaction FLUX.2 ne prévoit pas de prompts négatifs.
Retoucher avec des références et un budget de pixels partagé
Le profil de requête exact [pro] propose huit emplacements d’images de référence ; l’interface interactive du fabricant en prend séparément en charge dix. Attribuez à chaque image un rôle, par exemple l’apparence du sujet, les vêtements, le design du produit, la pièce ou le style. Pour une scène existante, précisez l’élément à modifier ainsi que la composition, l’environnement et les détails visuels à conserver. Les exemples publiés comprennent des assemblages de mobilier, des changements d’arrière-plan ou de météo, des remplacements d’objets et des modifications de texte.
La capacité en références dépend également de la taille de sortie. Le guide [pro] du fournisseur précise un budget total de 9 mégapixels pour l’entrée et la sortie. Ses exemples autorisent huit références pour une sortie de 1 mégapixel et sept pour une sortie de 2 mégapixels, en réduisant la capacité en références lorsque le résultat demandé grandit. Planifiez ensemble les sources et la sortie au lieu de considérer le nombre maximal d’emplacements comme disponible pour toute taille de sortie. Utilisez les références qui apportent les informations nécessaires et indiquez leur contribution attendue.
Pour un assemblage de produit, la première image peut fournir le produit, la deuxième une pièce et une troisième une finition de matière. Expliquez comment les réunir dans une scène cohérente. Si le résultat modifie une forme, un marquage ou une identité à préserver, ciblez ce problème dans la demande suivante plutôt que de remplacer tout le brief. Le résultat pratique est l’image modifiée, dont la fidélité aux références et la modification précise sont comparées aux entrées.
Expansion du prompt et profils fixes ou Preview
La spécification exacte [pro] active par défaut l’expansion du prompt. Sa commande disable_pup arrête cette expansion lorsqu’une instruction soigneusement rédigée doit être utilisée telle quelle. Conservez le réglage choisi lors des comparaisons de versions, car un même concept bref et une description développée constituent des entrées de génération différentes. Il s’agit d’un réglage du profil fabricant, pas d’une garantie que chaque détail demandé apparaîtra correctement.
La documentation distingue le point d’accès [pro] simple, qui constitue un instantané fixe, de [pro] Preview, qui reçoit les améliorations ultérieures du modèle. Leurs structures de requête et de réponse sont identiques, tandis que leurs poids sous-jacents diffèrent. Conservez le profil exact choisi avec l’image et les références. L’étiquette Preview distincte ne doit pas remplacer silencieusement une sélection [pro] simple lorsqu’une révision dépend du même choix de modèle documenté.
Dimensions, formats et ressource retenue
Le guide de la famille documente une sortie jusqu’à 4 mégapixels, avec des dimensions explicites d’au moins 64×64 et multiples de 16. Il recommande jusqu’à 2 mégapixels pour la plupart des usages. La largeur et la hauteur déterminent le cadrage prévu ; une image carrée de produit, une composition portrait et une scène éditoriale large répartissent l’espace différemment. La requête exacte prévoit des sorties JPEG, PNG et WebP, avec JPEG par défaut, ainsi qu’une graine facultative.
Le profil [max] possède une fonction distincte de recherche d’ancrage, [flex] expose les étapes d’échantillonnage et le guidage, et [klein] propose un profil plus compact limité à quatre références. Choisissez l’édition selon le travail nécessaire plutôt que d’importer ces commandes dans [pro]. Pour la ressource retenue, conservez l’image elle-même, le prompt final, les références, les dimensions et le nom du modèle. Les liens signés de résultats FLUX.2 du fournisseur expirent après dix minutes : récupérez l’image au lieu de dépendre de son emplacement temporaire. Vérifiez l’identité du sujet, les couleurs, le texte, la composition et les détails retouchés avant d’utiliser le résultat dans un contenu destiné aux clients.
Ailoot Ultra · Génération d’images POST /v1/images/generations black-forest-labs/flux.2-pro
black-forest-labs/flux.2-proPremiers pas
FLUX.2 [pro] est le modèle d’images de production de Black Forest Labs pour la création à partir de texte et la retouche guidée par des références. Son profil documenté associe des détails photoréalistes, le contrôle du texte et des couleurs, un budget de pixels partagé entre références et sortie, et des images pouvant atteindre 4 mégapixels.
- Entrées acceptées
- Texte · Images
- Résultats
- Images
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Génération d’images POST /v1/images/generations
- Types d’entrée
text,image- Types de sortie
image
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites black-forest-labs/flux.2-pro | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 | Par défaut— |
Champaspect_ratio | Typestring | ExigenceFacultatif | Valeurs et limites 1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, auto | Par défaut— |
Champoutput_format | Typestring | ExigenceFacultatif | Valeurs et limites png, jpeg | Par défaut— |
Champn | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 1 Maximum: 1 | Par défaut— |
Champinput_references | Typearray | ExigenceFacultatif | Valeurs et limites Nombre minimal d’éléments: 0 Nombre maximal d’éléments: 8 | Par défaut— |
Champprovider | Typeobject | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, prompt |
Paramètrematerial_types | Contrattext, image |
Cycle de vie : synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tarifs
Calcul du coût final
Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs estimés à des fins de comparaison
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Quantité prévisionnelle | Unité de facturation | Coût |
|---|---|---|---|---|
| ConfigurationTarifs de base par jeton | Barème tarifaireTarif de base | Quantité prévisionnelle— | Unité de facturation— | Coût Entrée · Tokens en entrée · Estimation à des fins de comparaison uniquement — / 1K tokens Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K tokens |
| Configurationmégapixel d’image en sortie | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar mégapixel d’image en sortie | Coût Sortie · mégapixel d’image en sortie · Estimation à des fins de comparaison uniquement $0.06 par mégapixel d’image en sortie |
| ConfigurationCoût de génération estimé | Barème tarifaire— | Quantité prévisionnelleEstimation pour une génération | Unité de facturation— | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.06 estimation avant génération Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée. |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
Ailoot Ultra · Génération d’images
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'black-forest-labs/flux.2-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Recevoir et enregistrer les résultats
Ailoot Ultra · Génération d’images
Téléchargez chaque image renvoyée ou enregistrez son contenu Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Autres lectures de contenu
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Conserver tous les résultats terminés
Enregistrez chaque image terminée ; récupérez chaque URL renvoyée ou décodez son contenu Base64.
Conservez la réponse complète et les en-têtes, chaque sortie effective, les identifiants initialement renvoyés et tous les champs d’utilisation. Récupérez l’opération d’origine sans soumettre à nouveau sa création.
Si la réponse d’origine doit être vérifiée
Conservez le X-Client-Request-ID renvoyé pour le rapprochement. Consultez uniquement les valeurs task_id/asset_id effectivement renvoyées ou votre bibliothèque multimédia ; ne construisez jamais une URL de tâche à partir de l’identifiant de l’opération et ne soumettez jamais à nouveau la création.
Champs de la réponse
| Champ | Type |
|---|---|
Champcreated | Type |
Champdata[].url | Type |
Champdata[].b64_json | Type |
Champusage | Type |
Alias
Alias du modèle
Ailoot Ultra black-forest-labs/flux.2-pro
Alias des chemins de méthode
/v1/images
ID d’appel associés
FAQ · Black Forest Labs: FLUX.2 Pro
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/images/generations·black-forest-labs/flux.2-pro:text,image→image- Quels champs la requête utilise-t-elle ?
POST /v1/images/generations·black-forest-labs/flux.2-pro:model,prompt,aspect_ratio,output_format,n,input_references,provider- Quelles limites s’appliquent ?
POST /v1/images/generations·black-forest-labs/flux.2-pro:n.minimum:1;n.maximum:1