Black Forest Labs: FLUX.2 Pro
FLUX.2 [pro] est le modèle d’image de production de Black Forest Labs pour la création guidée par texte et le montage guidé par références. Son profil documenté combine détails photoréalistes, contrôle du texte et des couleurs, budget de pixels partagé entre références et sortie, et images jusqu’à 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 montage d’images de Black Forest Labs axé sur la production. Le fabricant le présente comme le choix par défaut pour la plupart des tâches visuelles FLUX.2 : créer une nouvelle image à partir de texte ou réviser une scène au moyen 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 des sujets cohérents entre les montages liés. Le résultat renvoyé est une image à utiliser 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 prompts du fabricant accorde plus d’attention aux premiers mots et recommande de placer le sujet et l’action essentiels avant les détails décoratifs. Il suggère de 10 à 30 mots pour les concepts rapides et de 30 à 80 pour les projets courants, avec des descriptions plus longues pour les scènes complexes. Ces plages sont des conseils de rédaction de prompts, et non une limite de contexte textuel.
Un brief de catalogue original pourrait montrer une lampe en acier brossé sur une table gris chaud, dans une vue de trois quarts qui révèle 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, établissez d’abord le texte visible et la hiérarchie; citez le titre exact, indiquez son emplacement et nommez le style et la taille des caractères. Inspectez les étiquettes, 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 garder le sujet, l’arrière-plan, la lumière et la composition dans des champs distincts afin qu’une exigence puisse être révisée clairement. Il prend aussi en charge les descriptions de couleurs hexadécimales : associez le code à l’objet ou au texte précis à colorer. Décrivez positivement l’apparence voulue, car le processus de prompts FLUX.2 documenté ne prévoit pas de prompts négatifs.
Monter avec des références et un budget de pixels partagé
Le profil de requête exact [pro] offre huit emplacements d’images de référence; l’interface interactive du fabricant en prend séparément en charge dix. Attribuez un rôle à chaque image, 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 et la composition, l’environnement et les détails visuels à conserver. Les exemples publiés comprennent les compositions de meubles, les changements d’arrière-plan ou de météo, les remplacements d’objets et les révisions de texte.
La capacité de référence dépend aussi de la taille de sortie. Le guide [pro] du producteur précise un budget total de 9 mégapixels pour les entrées et la sortie. Ses exemples autorisent huit références avec une sortie de 1 mégapixel et sept avec une sortie de 2 mégapixels, la capacité de référence diminuant à mesure que le résultat demandé grandit. Planifiez ensemble l’ensemble de 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 établissent l’information nécessaire et précisez leur contribution attendue.
Pour une composition de produit, la première image pourrait fournir le produit et la deuxième une pièce, tandis qu’une troisième établit une finition de matière. Expliquez comment elles doivent devenir une scène cohérente. Si le résultat change une forme, une marque ou une identité à conserver, ciblez ce problème dans le suivi plutôt que de remplacer tout le brief. Le résultat pratique est l’image révisée, dont la fidélité aux références et la modification précise sont comparées aux entrées.
Enrichissement du prompt et profils fixes ou Preview
La spécification exacte [pro] active par défaut l’enrichissement du prompt. Sa commande disable_pup arrête cet enrichissement 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 court et une description enrichie constituent des entrées de génération différentes. Il s’agit d’une commande du profil du fabricant, et non d’une garantie que chaque détail demandé apparaît correctement.
La documentation présente le point de terminaison [pro] sans suffixe comme une version figée, par opposition à [pro] Preview, qui reçoit les améliorations ultérieures du modèle. Les structures de requête et de réponse sont identiques, tandis que les poids sous-jacents diffèrent. Conservez le profil exact sélectionné avec l’image et les références. L’étiquette Preview distincte ne doit pas remplacer silencieusement un choix [pro] simple lorsqu’une révision dépend du même modèle documenté.
Dimensions, formats et ressource sélectionnée
Le guide de la famille documente une sortie jusqu’à 4 mégapixels, avec des dimensions explicites d’au moins 64×64 et en multiples de 16. Il recommande jusqu’à 2 mégapixels pour la plupart des usages. La largeur et la hauteur établissent le cadrage prévu; une image de produit carrée, une mise en page en portrait et une scène éditoriale large répartissent l’espace différemment. La requête exacte indique les sorties JPEG, PNG et WebP, avec JPEG par défaut, ainsi qu’un seed facultatif.
Le profil [max] possède une fonction distincte de recherche pour ancrer la génération dans des informations, tandis que [flex] expose les étapes d’échantillonnage et le guidage et que [klein] a un profil plus petit à quatre références. Choisissez l’édition selon le travail requis au lieu d’importer ces contrôles dans [pro]. Pour la ressource retenue, conservez l’image, le prompt final, les références, les dimensions et l’étiquette du modèle. Les liens de résultats signés FLUX.2 du producteur expirent après dix minutes : récupérez donc l’image au lieu de compter sur son emplacement temporaire. Vérifiez l’identité du sujet, les couleurs, le texte, la composition et les détails modifiés avant de placer le résultat dans le 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-proPour commencer
FLUX.2 [pro] est le modèle d’image de production de Black Forest Labs pour la création guidée par texte et le montage guidé par références. Son profil documenté combine détails photoréalistes, contrôle du texte et des couleurs, budget de pixels partagé entre références et sortie, et images jusqu’à 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
- Entrée
text,image- 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 des jetons | Barème tarifaireTarif de base | Quantité prévisionnelle— | Unité de facturation— | Coût Entrée · Jetons en entrée · Estimation à des fins de comparaison uniquement — / 1K jetons Sortie · Jetons en sortie · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K jetons |
| 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