Black Forest Labs: FLUX.2 Pro
FLUX.2 [pro] est le modèle d’image de Black Forest Labs destiné à la production, pour la création guidée par du texte et la retouche guidée par des références. Son profil documenté associe 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 retouche 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 modifier une scène à l’aide de références visuelles. Les capacités de sa famille comprennent les matières et éclairages photoréalistes, le texte lisible, les 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, ce qu’il fait 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 10 à 30 mots pour les concepts rapides et 30 à 80 pour les projets ordinaires, 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 original de catalogue pourrait montrer une lampe en acier brossé sur une table gris chaud, en vue de trois quarts révélant 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 ; citez le titre exact, indiquez sa position et nommez le style et la taille des caractères. Examinez 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 ceux 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 dans des champs distincts pour permettre de réviser clairement une exigence. Il prend également en charge les descriptions par couleurs hexadécimales : associez le code à l’objet ou au texte précis à colorer. Décrivez positivement l’apparence souhaitée, car le processus de prompts FLUX.2 documenté ne propose 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 dix en charge. Attribuez à chaque image un rôle, comme l’apparence du sujet, les vêtements, le design du produit, la pièce ou le style. Pour une scène existante, indiquez l’élément à modifier et la composition, l’environnement et les détails visuels à conserver. Les exemples publiés comprennent des compositions de mobilier, des changements de fond ou de météo, le remplacement d’objets et la révision de textes.
La capacité de références dépend aussi de la taille de sortie. Le guide [pro] du producteur définit un budget total de 9 mégapixels pour les entrées plus 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érences diminuant à mesure que le résultat demandé grandit. Planifiez ensemble les sources et la sortie, au lieu de considérer que le nombre maximal d’emplacements est disponible pour toute taille de sortie. Utilisez les références qui apportent les informations nécessaires et identifiez leur contribution prévue.
Pour une composition de produit, la première image pourrait fournir le produit, la deuxième une pièce et une troisième une finition de matière. Expliquez comment elles doivent former 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 au lieu de remplacer tout le brief. Le résultat pratique est l’image révisée, dont la fidélité aux références et le changement précis sont comparés 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 pour comparer les versions, car le 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 tous les détails demandés apparaissent correctement.
La documentation distingue le point d’accès [pro] simple, qui est un instantané fixe, de [pro] Preview, où sont introduites 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 sélectionné avec l’image et les références. Le libellé Preview distinct ne doit pas remplacer implicitement une sélection [pro] simple lorsqu’une révision dépend du même choix de 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 multiples de 16. Il recommande jusqu’à 2 mégapixels pour la plupart des usages. La largeur et la hauteur établissent le cadrage souhaité ; une image produit carrée, une mise en page portrait et une scène éditoriale large répartissent différemment l’espace. La requête exacte indique les sorties JPEG, PNG et WebP, avec JPEG par défaut, et une graine facultative.
Le profil [max] dispose d’une fonction distincte de recherche pour l’ancrage factuel, tandis que [flex] expose les étapes d’échantillonnage et le guidage et que [klein] possède un profil plus réduit à quatre références. Choisissez l’édition selon le travail requis au lieu 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 libellé du modèle. Les liens signés de résultat FLUX.2 du producteur expirent après dix minutes ; récupérez donc l’image au lieu de dépendre de son adresse temporaire. Vérifiez l’identité du sujet, les couleurs, le texte, la composition et les détails retouchés avant d’intégrer le résultat aux supports destinés 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’image de Black Forest Labs destiné à la production, pour la création guidée par du texte et la retouche guidée par des références. Son profil documenté associe 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 · 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 estimé de la génération | 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