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 du texte et des images de référence pour développer des affiches, des mises en page produit ou des révisions précises, en équilibrant respect des instructions et 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 retouche d’images de Black Forest Labs spécialisée dans la typographie, le rendu du texte et la préservation des petits détails. Elle utilise des instructions de scène écrites et des images de référence pour produire une image. Sa commande distinctive est l’échantillonnage réglable : le profil documenté expose à la fois les étapes d’inférence et le guidage, permettant d’affiner un brief visuel par les réglages comme par les mots.
Caractères et détails fins
Une tâche typographique doit commencer par le texte réel. Citez chaque ligne, définissez sa place et distinguez titre, texte d’accompagnement et étiquette. Décrivez le style, la taille et la couleur des caractères par rapport à la scène. Un brief original d’affiche pourrait montrer un vélo bleu cobalt dans un studio clair, avec un grand titre au-dessus du cadre et une ligne de spécifications plus petite en dessous. L’image doit rendre ensemble le produit et l’ordre de lecture clairs.
Pour un visuel produit détaillé, identifiez les parties qui déterminent l’utilité du résultat : cadran, étiquette de commande, couture, bord de matière ou marquage d’emballage. Fournissez une référence lisible et expliquez la caractéristique qu’elle établit. Une scène globalement similaire peut encore modifier un caractère ou composant critique ; comparez donc le détail généré à sa taille d’affichage prévue. La spécialisation du modèle justifie des exigences précises ; elle ne garantit pas que la relecture ou l’inspection visuelle deviennent inutiles.
Les étapes et le guidage servent des objectifs différents
Le profil exact du fabricant accepte une à cinquante étapes d’inférence, avec cinquante par défaut. Sa description associe davantage d’étapes à plus de détail 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 assortie d’instructions de design exactes et une image visant un rendu photographique naturel peuvent donc nécessiter des choix différents dans ce profil.
Gardez le texte, les références et le format de sortie constants pour comparer un changement de réglage. Observez la caractéristique qui a motivé le changement : forme des lettres, placement de l’objet ou texture de matière. Changez un réglage pour une raison visuelle précise plutôt que de considérer automatiquement qu’un grand nombre est meilleur. Ce sont des commandes d’échantillonnage du producteur ; le profil [klein] distillé en quatre étapes et les commandes standard de [pro] ou [max] sont des choix de modèle différents.
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, lorsque c’est approprié, 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 les prompts structurés en JSON aux côtés des briefs en langage naturel. Utilisez la structure qui permet de préciser le plus facilement les relations requises.
Révisions guidées par des références
Le profil exact de requête contient huit emplacements d’images de référence. Le processus interactif du fabricant autorise séparément jusqu’à dix images ; ces nombres décrivent des interfaces différentes. Définissez si une image fournit la scène à retoucher, un produit, un personnage, un vêtement ou un style. Pour une révision, identifiez l’objet et le changement, puis nommez la composition environnante, les matières ou la lumière à conserver.
Une tâche originale d’emballage pourrait utiliser le carton de la première image et la finition d’une deuxième, remplacer l’étiquette avant par le texte approuvé et conserver les proportions du carton. Une composition de groupe peut attribuer une référence distincte à chaque sujet et maintenir ces attributions. Les exemples de la famille couvrent les changements d’objet et de fond, les compositions, les retouches textuelles et les transformations de style. Demandez une révision cohérente avec une cible claire, puis comparez la zone retouché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 multiples de 16 et une sortie jusqu’à 4 mégapixels, avec jusqu’à 2 mégapixels recommandés pour un usage ordinaire. La spécification exacte [flex] indique les sorties JPEG, PNG et WebP, avec JPEG par défaut. Elle propose aussi une graine aléatoire facultative. Conservez le modèle réel, la graine et les réglages d’échantillonnage avec les références sources pour comparer des 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 élément textuel nommé. Pour la composition, précisez le rapport de format souhaité au moyen des dimensions de l’image et laissez assez de place pour des caractères lisibles. Le guide partagé ne comporte pas de mécanisme de prompt négatif ; décrivez donc positivement l’apparence souhaitée : mise au point nette, fond épuré ou zone clairement vide pour le texte. Ses exemples multilingues permettent de rédiger un brief culturellement spécifique dans la langue appropriée sans établir une garantie de 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 ensemble l’image elle-même et le brief. Vérifiez la typographie, les détails fins, l’identité des références et le traitement visuel avant d’intégrer la ressource dans une mise en page. Le livrable final peut être une affiche, une image produit ou une composition retouchée sélectionnée, avec ses réglages exacts conservés pour la révision suivante.
Ailoot Ultra · Génération d’images POST /v1/images/generations black-forest-labs/flux.2-flex
black-forest-labs/flux.2-flexPremiers pas
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 du texte et des images de référence pour développer des affiches, des mises en page produit ou des révisions précises, en équilibrant respect des instructions et 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 · 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 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 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.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