Black Forest Labs: FLUX.2 Flex
FLUX.2 [flex] se spécialise dans la typographie d’image et les petits détails visuels, avec des étapes d’échantillonnage et un guidage réglables. Utilisez le texte et les références d’image pour concevoir des affiches, des mises en page de produits ou des révisions précises en équilibrant le respect des instructions et le réalisme.
À 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 [flex] est l’édition de génération et de montage d’images de Black Forest Labs spécialisée en typographie, en rendu de texte et en conservation des petits détails. Elle utilise des instructions de scène écrites et des références d’image pour produire une image. Sa commande distinctive est l’échantillonnage réglable : le profil documenté expose les étapes d’inférence et le guidage, ce qui permet d’affiner un brief visuel au moyen de réglages et de mots.
Caractères et détails fins
Une tâche de typographie doit commencer par le texte réel. Citez chaque ligne, définissez son emplacement et distinguez le titre, le texte complémentaire et l’étiquette. Décrivez le style, l’échelle et la couleur des caractères par rapport à la scène. Un brief d’affiche original pourrait montrer un vélo bleu cobalt dans un studio clair, avec un grand titre au-dessus du cadre et une petite ligne de spécifications en dessous. L’image doit clarifier ensemble le produit et l’ordre de lecture.
Pour un visuel de produit détaillé, identifiez les parties qui déterminent l’utilité du résultat : un cadran, une étiquette de commande, une couture, le bord d’une matière ou une marque d’emballage. Fournissez une référence lisible et expliquez quelle caractéristique elle établit. Une scène d’apparence globalement semblable peut quand même changer un caractère ou un composant essentiel : comparez donc le détail généré à sa taille d’affichage prévue. La spécialisation du modèle justifie de donner des exigences exactes, sans garantir que la relecture ou l’inspection visuelle deviennent inutiles.
Les étapes et le guidage ont des fonctions différentes
Le profil exact du fabricant accepte d’une à cinquante étapes d’inférence, cinquante étant la valeur par défaut. Sa description associe un plus grand nombre d’étapes à davantage de détails et de réalisme. Le guidage va de 1,5 à 10, avec une valeur par défaut de 5. Un guidage plus élevé renforce le respect du prompt, mais peut réduire le réalisme. Une image avec des instructions de design exactes et une autre recherchant une apparence photographique naturelle peuvent donc nécessiter des choix différents dans ce profil.
Gardez la formulation, les références et le format de sortie constants lorsque vous comparez un changement de réglage. Regardez la caractéristique qui a motivé le changement : formes des caractères, placement des objets ou texture de matière. Changez un réglage pour une raison visuelle précise au lieu de considérer automatiquement un nombre élevé comme meilleur. Ce sont des commandes d’échantillonnage du producteur; le profil [klein] distillé en quatre étapes et les commandes standard de [pro] ou de [max] constituent d’autres choix de modèle.
L’enrichissement du prompt est activé par défaut dans la spécification [flex] et peut être désactivé par sa propre commande prompt_upsampling. Cela permet, au besoin, de conserver un brief détaillé tel qu’il a été fourni. Le guide partagé du fabricant recommande de placer le sujet principal et l’action importante avant la décoration secondaire, et décrit des prompts structurés en JSON aux côtés des briefs en langage naturel. Utilisez la structure qui facilite le plus la spécification des relations requises.
Révisions guidées par références
Le profil exact de requête contient huit emplacements d’images de référence. Le processus interactif du fabricant permet séparément jusqu’à dix images; ces nombres décrivent des interfaces différentes. Définissez si une image fournit la scène à monter, un produit, un personnage, des vêtements ou un style. Pour une révision, identifiez l’objet et la modification, puis nommez la composition environnante, les matières ou la lumière à conserver.
Une tâche d’emballage originale pourrait utiliser la boîte de la première image et la finition d’une deuxième, remplacer l’étiquette avant par la formulation approuvée et préserver les proportions de la boîte. Une composition de groupe peut attribuer une référence distincte à chaque sujet et conserver ces attributions. Les exemples de la famille couvrent les changements d’objets et d’arrière-plan, la composition, les modifications de texte et les transformations de style. Demandez une révision cohérente avec une cible claire, puis comparez la zone modifiée et les parties censées rester stables.
Taille, couleur et image renvoyée
Le guide FLUX.2 documente un minimum de 64×64 pixels, des dimensions en multiples de 16 et une sortie jusqu’à 4 mégapixels, avec jusqu’à 2 mégapixels recommandés pour les usages courants. La spécification exacte [flex] indique les sorties JPEG, PNG et WebP, avec JPEG par défaut. Elle fournit aussi un seed aléatoire facultatif. Conservez le modèle réel, le seed et les réglages d’échantillonnage avec les références sources lorsque vous comparez les versions; le seul nom d’une famille n’identifie pas toute la configuration de génération.
Pour un travail sensible aux couleurs, associez chaque code hexadécimal à un objet ou à un élément textuel nommé. Pour la composition, précisez le ratio voulu au moyen des dimensions de l’image et prévoyez assez d’espace pour des caractères lisibles. Le guide partagé n’a pas de mécanisme de prompt négatif : décrivez donc positivement l’apparence voulue, comme une mise au point nette, un arrière-plan épuré ou une zone clairement vide pour le texte. Ses exemples multilingues permettent de rédiger un brief culturellement précis dans la langue appropriée sans établir de garantie d’un nombre fixe de langues.
Le processus FLUX.2 du producteur renvoie une image après traitement et utilise des liens signés temporaires avec une fenêtre de récupération de dix minutes. Conservez l’image réelle et le brief ensemble. Vérifiez la typographie, les détails fins, l’identité des références et le traitement visuel avant de placer la ressource dans une mise en page. Le livrable final peut être une affiche sélectionnée, une image de produit ou une composition montée dont les réglages exacts sont conservés pour la prochaine révision.
Ailoot Ultra · Génération d’images POST /v1/images/generations black-forest-labs/flux.2-flex
black-forest-labs/flux.2-flexPour commencer
FLUX.2 [flex] se spécialise dans la typographie d’image et les petits détails visuels, avec des étapes d’échantillonnage et un guidage réglables. Utilisez le texte et les références d’image pour concevoir des affiches, des mises en page de produits ou des révisions précises en équilibrant le respect des instructions et le réalisme.
- 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-flex | 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 entrée | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar mégapixel d’image en entrée | Coût Entrée · mégapixel d’image en entrée · Estimation à des fins de comparaison uniquement $0.12 par mégapixel d’image en entrée |
| 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.12 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.12 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-flex', '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-flex
Alias des chemins de méthode
/v1/images
ID d’appel associés
FAQ · Black Forest Labs: FLUX.2 Flex
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/images/generations·black-forest-labs/flux.2-flex:text,image→image- Quels champs la requête utilise-t-elle ?
POST /v1/images/generations·black-forest-labs/flux.2-flex:model,prompt,aspect_ratio,output_format,n,input_references,provider- Quelles limites s’appliquent ?
POST /v1/images/generations·black-forest-labs/flux.2-flex:n.minimum:1;n.maximum:1