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 références d’images pour créer des affiches, des compositions de produit ou des retouches 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 produit une image à partir d’instructions de scène écrites et de références d’images. Sa commande caractéristique est l’échantillonnage réglable : le profil documenté expose à la fois les étapes d’inférence et le guidage, ce qui permet d’affiner un brief visuel par les réglages comme par les mots.
Lettrage et détails fins
Une tâche typographique doit commencer par le texte réel. Mettez chaque ligne entre guillemets, définissez son emplacement et distinguez titre, texte d’accompagnement et libellé. Décrivez le style des lettres, leur taille et leur couleur par rapport à la scène. Un exemple original de brief d’affiche peut montrer un vélo bleu cobalt dans un studio clair, avec un grand titre au-dessus du cadre et une ligne de caractéristiques plus petite en dessous. L’image doit rendre clairs à la fois 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 : cadran, libellé 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 ressemblante peut tout de même modifier 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 des exigences précises, sans garantir que la relecture ou l’inspection visuelle deviennent inutiles.
Étapes et guidage ont des fonctions différentes
Le profil exact du fabricant accepte une à cinquante étapes d’inférence, avec cinquante par défaut. Sa description associe un nombre plus élevé 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 soumise à des instructions de design exactes et une image recherchant une apparence photographique naturelle peuvent donc appeler des choix différents dans ce profil.
Gardez le texte, les références et le format de sortie constants lorsque vous comparez un changement de réglage. Examinez la caractéristique à l’origine du changement : forme des lettres, position des objets ou texture de matière. Modifiez un réglage pour une raison visuelle précise plutôt que de supposer qu’une grande valeur est automatiquement meilleure. Ce sont des commandes d’échantillonnage du fournisseur ; le profil [klein] distillé en quatre étapes et les commandes standard de [pro] ou [max] correspondent à d’autres choix de modèle.
L’expansion du prompt est activée par défaut dans la spécification [flex] et peut être désactivée avec sa commande propre prompt_upsampling. Un brief détaillé peut ainsi conserver le texte fourni lorsque cela convient. Le guide commun du fabricant recommande de placer le sujet principal et l’action importante avant les éléments décoratifs secondaires et décrit les prompts structurés en JSON aux côtés des briefs en langage naturel. Utilisez la structure qui rend les relations nécessaires les plus faciles à préciser.
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, 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 originale d’emballage peut utiliser le carton de la première image et la finition d’une deuxième, remplacer l’étiquette avant par le texte approuvé et préserver les proportions du carton. 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, les assemblages, les retouches de texte et les transformations de style. Demandez une révision cohérente visant 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, en recommandant jusqu’à 2 mégapixels pour un usage courant. La spécification exacte [flex] propose JPEG, PNG et WebP, avec JPEG par défaut. Elle fournit également 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 lors des comparaisons de 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, définissez le rapport d’aspect voulu par les dimensions de l’image et laissez suffisamment d’espace pour un lettrage lisible. Le guide commun ne prévoit pas de mécanisme de prompt négatif : décrivez positivement l’apparence souhaitée, par exemple une mise au point nette, un arrière-plan propre 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 sur un nombre fixe de langues.
Le processus FLUX.2 du fournisseur 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é issue des références et le traitement visuel avant d’intégrer la ressource à une mise en page. Le livrable final peut être une affiche, une image de produit ou une composition retouchée retenue, 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 références d’images pour créer des affiches, des compositions de produit ou des retouches 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
- 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-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 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 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