Aller au contenu principal

FLUX.1 Dev LoRA : un brief de style qui garde la scène utile

FLUX.1 Dev LoRA sans perdre le sujet : un témoin sans adaptateur, les valeurs de départ pour l'échelle et la guidance, et quand passer à l'édition masquée.

Auteur
Lydia
Publié
Lecture
13 min de lecture
Mis à jour
Deux adultes à une table d'atelier de céramique regardent un pichet en cobalt posé sur du lin crème

Pour exécuter un LoRA FLUX.1 Dev via l'API, envoyez l'URL de ses poids et une échelle dans la liste loras. Pour garder le sujet intact, exécutez la scène une fois sans adaptateur, puis ajoutez le fichier avec la même graine, la même guidance et les mêmes étapes, en ne modifiant que l'échelle du LoRA. Un point de départ exploitable est une échelle de 1, une guidance de 3.5, 28 étapes et un cadrage carré. Les fichiers de réalisme conviennent souvent mieux à une guidance de 2.5 à 3. Un témoin plus trois paliers d'échelle donnent quatre images à $0.018, soit $0.072. Gardez le résultat dont les objets restent utilisables, pas celui dont le rendu est le plus marqué.

La scène étudiée est un pichet fictif en cobalt mat, avec une seule anse en forme de croissant, sur du lin crème.

Décidez ce que l'adaptateur doit apporter

La scène demande un pichet lisible, un bec court, une anse ouverte et un contact avec le lin, éclairé en douceur avec une texture céramique contenue. Si l'adaptateur ajoute un éclat dramatique ou un décor très travaillé, il peut fonctionner et rester néanmoins inadapté à ce brief.

Pour une version avec un personnage adulte, remplacez le pichet par un adulte fictif âgé de 35 ans, en chemise bleu marine boutonnée, devant un mur de studio uni, et gardez la pose et la tenue identiques d'une condition à l'autre.

Pichet en céramique cobalt avec une ouverture d'anse visible sur du lin crème

Illustration, et non un résultat FLUX : le sujet visé, avec un corps, une ouverture d'anse et un bec court.

Choisissez un fichier adapté à FLUX.1 Dev

Un fichier compatible indique FLUX.1 Dev comme base d'entraînement. Un LoRA destiné à une autre version de FLUX, à une architecture propre à l'édition, à SDXL, à Z-Image ou à Qwen-Image se chargera puis changera peu ; vérifiez donc d'abord la base. Indiquez dans path un lien direct vers le fichier de poids, pas la page web qui le décrit : une URL de page est rejetée à l'envoi, et un dépôt privé qui exige une connexion l'est aussi.

Par exemple, la fiche du modèle photoréaliste de XLabs indique FLUX.1 Dev comme base, et le lien direct vers le fichier utilisé dans le code ci-dessous se termine par /resolve/main/lora.safetensors (environ 22 Mo). La fiche applique la licence non commerciale de FLUX.1 Dev au fichier lui-même ; lisez ses conditions avant d'utiliser les résultats dans un travail client.

Si la fiche documente une phrase de déclenchement, mettez-la en tout premier dans le prompt, exactement telle qu'elle est écrite (la fiche XLabs n'en documente aucune). Si elle donne une intensité recommandée, partez de là ; sinon utilisez l'échelle ci-dessous.

Essayez d'abord dans le Playground

Ouvrez FLUX.1 Dev LoRA texte vers image dans l'onglet Playground, en vue Form, et connectez-vous avec un compte crédité pour lancer une génération. Commencez par le témoin, une exécution sans poids :

  1. Collez le prompt ci-dessous dans Prompt. FLUX suit des prompts longs et précis, écrivez donc des phrases complètes. Il n'y a pas de champ de prompt négatif : dites ce que vous voulez (« one handle », « no lettering ») au lieu de lister des exclusions.
  2. Réglez Aspect ratio sur 1:1.
  3. Sous Style LoRAs, appuyez sur Remove item jusqu'à ce que la liste soit vide.
  4. Ouvrez Advanced parameters et réglez Prompt adherence sur 3.5, Sampling steps sur 28, Output format sur PNG et Seed sur 17231.
  5. Lancez le modèle et enregistrez l'image.

One matte cobalt ceramic pitcher with a rounded body, short spout and one crescent handle on cream linen. Whole vessel visible, open handle against a quiet cream wall, oak stool behind without overlap. Soft daylight from the left, natural ceramic texture, contact shadow. Square composition, no lettering or extra vessels.

Si ce témoin présente deux anses ou une base flottante, corrigez d'abord la scène : éloignez le tabouret de l'ouverture de l'anse, demandez une vue à trois quarts plus nette, ou retirez le tabouret. Un prompt modifié change l'image même à graine identique : gardez donc le texte strictement identique lors de toutes les exécutions suivantes.

Ajoutez ensuite un seul adaptateur. Appuyez sur Add item, collez le lien direct vers les poids dans LoRA file (un fichier accessible que vous êtes autorisé à utiliser) et réglez Strength sur 1. Ne modifiez rien d'autre et relancez. Une intensité de 1 applique le fichier tel que son auteur l'a entraîné, et le champ accepte de 0 à 4. Exécutez 0.8, 1.0 et 1.2 comme paliers (ajoutez 0.5 si 0.8 est encore trop fort) : descendez vers 0.8 si le rendu est lourd ; les styles d'illustration appuyés peuvent demander un peu plus de 1. N'empilez pas trois fichiers avant qu'un seul ne se soit démontré. Si le fichier exige un déclencheur, exécutez aussi le déclencheur seul, sans LoRA ; le texte seul peut déjà décaler l'image de base.

Si un fichier de réalisme paraît cireux ou trop accentué, relancez la meilleure intensité avec Prompt adherence à 2.5 et la même graine. Prompt adherence règle le degré de respect du prompt par l'image ; ce n'est pas l'intensité de l'adaptateur.

Exécutez ensuite depuis le code

Le même témoin et les trois paliers d'intensité, en gardant la graine et tous les autres champs constants. Installez le SDK Python (pip install spicyapi), définissez SPICY_API_KEY dans l'environnement de votre serveur, puis lancez :

python
import uuid
from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

PROMPT = ("One matte cobalt ceramic pitcher with a rounded body, short spout and one crescent handle "
          "on cream linen. Whole vessel visible, open handle against a quiet cream wall, oak stool "
          "behind without overlap. Soft daylight from the left, natural ceramic texture, contact "
          "shadow. Square composition, no lettering or extra vessels.")
WEIGHTS = "https://huggingface.co/XLabs-AI/flux-RealismLora/resolve/main/lora.safetensors"  # XLabs realism, FLUX.1 Dev; swap in your own file
# 4 images x $0.018 = $0.072

for scale in (None, 0.8, 1.0, 1.2):  # None = control with no adapter
    task = client.create_task(
        model="black-forest-labs/flux-1-dev-lora/text-to-image",
        input_data={
            "prompt": PROMPT,
            "aspect_ratio": "1:1",
            "loras": [] if scale is None else [{"path": WEIGHTS, "scale": scale}],
            "guidance_scale": 3.5,
            "steps": 28,
            "seed": 17231,
            "output_format": "png",
        },
        idempotency_key=str(uuid.uuid4()),
    )
    final = client.wait_for_terminal(task["taskId"])
    if final["state"] != "succeeded":
        raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
    assets = output_assets(final)
    if not assets or any(a.get("pending") or a.get("unavailable") or not a.get("url") for a in assets):
        raise RuntimeError(f"Task {task['taskId']} has no ready output; check this task before running more images")
    print(scale, assets[0]["url"])  # copy the image to your own storage now

La création, l'attente, le téléchargement, les reprises et les codes d'erreur sont traités dans le guide des tâches et dans la référence du SDK Python. Les poids sont récupérés à chaque tâche : un premier appel avec un gros fichier est donc plus lent qu'une exécution simple (voir Exécutez votre propre LoRA sur une API hébergée).

Ou laissez un agent s'en charger

Quand un assistant doit exécuter la comparaison, les trois outils officiels affichent le prix et vous demandent une confirmation avant un appel payant.

  • CLI. Mettez l'objet input d'une condition dans input.json, puis :

``bash spicyapi tasks create --model black-forest-labs/flux-1-dev-lora/text-to-image --input-file input.json --wait ``

Voir la doc de la CLI ; npx @spicyapi/cli fonctionne sans installation.

  • Serveur MCP. Ajoutez le serveur MCP à votre assistant, puis demandez : « Run FLUX.1 Dev LoRA with this prompt, seed 17231, no LoRA, then again with this weights link at strength 0.8, 1 and 1.2. » Il appelle spicyapi_task_create, qui s'arrête pour votre confirmation de prix, puis spicyapi_task_wait.
  • Skill. npx skills add spicyapi-ai/spicy-skill installe l'Agent Skill, qui fait lire le schéma du modèle en direct par un assistant de code plutôt que de deviner les champs.

Ne confondez pas les réglages

RéglagePlage sur la tâche texte vers imageUsage dans cette comparaison
loras (Style LoRAs)Jusqu'à 3, chacun avec path et scaleCommencez par un seul ; le témoin sans fichier utilise []
Échelle du LoRA (Strength)0–4, 1 applique le fichier tel qu'il a été entraînéFaites varier cette valeur en gardant les autres réglages fixes
guidance_scale (Prompt adherence)0–20, 3.5 par défautLaissez 3.5 ; essayez 2.5 pour un réalisme cireux
steps (Sampling steps)1–50, 28 par défautLaissez 28 pour éviter une autre condition variable
seed0–2147483647Gardez 17231 pour que les exécutions restent comparables
FormatsJPEG (par défaut), PNG, WebPPNG

La tâche propose neuf rapports d'aspect (de 21:9 à 9:21, tous autour d'un mégapixel et d'un même prix) mais ni résolution ni champs de largeur et de hauteur séparés, pas d'image en entrée et pas de masque. Une entrée avec scale: 0 peut tout de même récupérer le fichier : elle ne remplace donc pas le témoin à liste vide.

Réparez une expérience d'adaptateur ratée

ProblèmeÉtape suivante concrète
Requête rejetée ou échec plus tardVérifiez que path renvoie le fichier .safetensors sans connexion et non une page de fiche. Un hôte mal saisi ou un fichier qui disparaît ensuite est accepté à l'envoi puis échoue après coup.
L'image change à peineVérifiez que la base du fichier est FLUX.1 Dev et que tout déclencheur requis est en tête du prompt ; puis augmentez l'échelle de 0.2.
Le style submerge l'objetRéduisez l'échelle vers 0.8 ou 0.6.
Le réalisme paraît cireuxBaissez la guidance à 2.5 avec la même graine.
L'anse devient pleine ou se dédoubleBaissez l'échelle ou rejetez ce fichier pour ce sujet.
Le déclencheur seul produit le renduLe rendu vient des mots, pas du fichier ; jugez le fichier uniquement sur ce qu'il ajoute par rapport à l'image sans LoRA.
Le style est utile mais la forme du produit changeUtilisez l'éditeur masqué (section suivante) ou compositez le calque produit.

Comparez le récipient, le bord de l'anse et le mur au même format d'affichage, et choisissez selon le traitement et la structure utilisable, pas selon l'ampleur des changements.

Utilisez l'éditeur quand une source doit guider l'image

FLUX.1 Dev LoRA édition est une seconde tâche sur le même modèle, également à $0.018 par image. Elle exige image_url et prompt et accepte la même liste loras, la même guidance et les mêmes étapes. Deux réglages sont nouveaux : strength (de 0 à 1, 0.8 par défaut), qui détermine à quel point le résultat s'éloigne de la source, et un mask_url facultatif, une image en noir et blanc de même taille où le blanc est redessiné et le noir conservé. La source et le masque sont limités à 10 Mo chacun, et l'un comme l'autre peut être un lien public vers le fichier.

Au réglage par défaut de 0.8, la pose et la composition tiennent ; vers 0.95, le modèle redessine presque tout. Partez de 0.8 et avancez par pas de 0.05, en ne modifiant qu'un seul élément entre la force et l'échelle du LoRA à chaque exécution : si la source transparaît, augmentez ; si la forme dérive, baissez. Avec un masque, utilisez de 0.9 à 1 pour que la zone blanche change vraiment, et ne décrivez que ce qui appartient à cette zone blanche.

Un usage pratique de ce brief : gardez le pichet que vous avez approuvé et changez le style de tout ce qui l'entoure. Dans le Playground, ouvrez la tâche d'édition, déposez l'image témoin dans Input image, peignez le mur et le lin en blanc et le pichet en noir dans une image de même taille, et ajoutez-la sous Advanced parameters comme Mask, puis réglez Transformation strength sur 0.95, ajoutez vos poids sous Style LoRAs et n'utilisez un prompt que pour le nouveau traitement : « Cream linen with deep folds and a quiet plaster wall, soft daylight from the left, restrained film grain. » Gardez la graine, Prompt adherence à 3.5 et Sampling steps à 28 du témoin. Dans les requêtes API, les mêmes champs sont image_url, mask_url, strength et loras sur le modèle black-forest-labs/flux-1-dev-lora/edit.

Adoucissez le bord du masque ou suivez le contour de l'objet ; un rectangle net laisse une couture visible. L'édition suit la forme de la source : il n'y a donc pas de champ aspect_ratio, et le résultat revient à environ 0.7 mégapixel (une source en 1024 x 1536 revient en 672 x 1008), plus petit qu'un cadre texte vers image. Quand les pixels exacts du produit sont obligatoires, gardez le calque produit d'origine sur un fond préparé séparément et considérez ce compositing comme une finition.

Des mains disposant une photographie d'un pichet en cobalt, un dessin au crayon et un échantillon d'émail sur une table d'atelier

Matériaux de référence pour le brief : une photographie, un dessin et des échantillons d'émail.

Contenu adulte : ce que le LoRA change et ce qu'il ne change pas

FLUX.1 Dev LoRA est une voie sans censure : SpicyAPI n'ajoute aucun filtre de contenu de plateforme, et les LoRA orientés adultes se chargent et s'affichent. Charger un LoRA ne définit pas la portée du contenu ; le modèle de base continue de décider ce qui revient. D'après nos tests de septembre 2026, le modèle seul a produit des images NSFW suggestives et en buste à partir de texte, et a adouci les demandes de silhouette entière et de deux personnes. Avec un LoRA adulte chargé, le test le plus fort a produit des images NSFW avancées, mais jamais la scène d'intensité maximale. En édition, une demande de buste sur un portrait habillé est revenue telle que demandée à une force de 0.95 (avec ou sans LoRA) et à 1 avec un masque, mais adoucie à 0.85 : augmentez donc la force avant de changer de modèle. FLUX est-il sans censure ? donne les résultats niveau par niveau.

Un LoRA de style photographique change le rendu, pas la portée du contenu. N'utilisez que des adultes fictifs ou des personnes ayant donné un consentement documenté.

Pour aller plus loin

Retirez le LoRA si l'exécution simple répond déjà au brief. Pour vérifier un nouveau fichier sur toute une bibliothèque, liens erronés et poids inertes compris, voir Exécutez votre propre LoRA sur une API hébergée. Pour la même méthode « témoin d'abord » sur une autre base, voir le test Z-Image Turbo LoRA à graine identique.

Aussi en English · 日本語 · 한국어 · Deutsch · Español · Português (Brasil) · Русский · Italiano · Polski

Passez de la lecture à la pratique