Guide utilisateur
modèle de génération d'images

Modeles officiels BFL FLUX

Routes, parametres et exemples pour appeler les modeles officiels BFL FLUX de generation d images, edition, Fill et Erase via Magick API.

Cette page decrit l integration des modeles officiels BFL FLUX dans Magick API. Les clients appellent les points d entree image compatibles OpenAI. Le gateway convertit la requete vers l API asynchrone BFL, interroge le resultat, puis renvoie un ImageResponse synchrone.

Modeles pris en charge

Modele de requeteModele ou chemin BFL amontEndpoint recommandeUsage
flux2_text_to_imageflux-2-pro-previewPOST /v1/images/generationsTexte vers image FLUX.2
flux2_image_editingflux-2-pro-previewPOST /v1/images/editsEdition FLUX.2 avec une ou plusieurs references
flux-2-pro-previewflux-2-pro-previewPOST /v1/images/generations ou /v1/images/editsNom natif du modele FLUX.2 preview
flux-pro-1.1flux-pro-1.1POST /v1/images/generationsTexte vers image FLUX.1.1
flux_1_fillflux-pro-1.0-fillPOST /v1/images/editsInpainting masque, outpainting et editions locales
flux-eraseflux-tools/erase-v1POST /v1/images/editsSuppression d objet par masque

Authentification et reponse

Utilisez un token Magick API pour appeler le gateway :

Authorization: Bearer YOUR_API_KEY

La cle officielle BFL est configuree dans le canal BFL du tableau de bord. Ne transmettez pas la cle amont BFL directement depuis les clients.

Les reponses reussies utilisent le format image compatible OpenAI :

{
  "created": 1712345678,
  "data": [
    {
      "url": "https://signed-result-url.example/image.png"
    }
  ],
  "metadata": {
    "id": "bfl-task-id",
    "status": "Ready",
    "cost": 3,
    "input_mp": 0,
    "output_mp": 1
  }
}

Definissez "response_format": "b64_json" si vous voulez que le gateway telecharge l image BFL et renvoie data[0].b64_json.

Champs compatibles communs

ChampTypeDescription
modelstringObligatoire. Utilisez l un des noms de modele ci-dessus
promptstringObligatoire pour texte vers image et edition FLUX.2 ; instruction facultative pour flux_1_fill ; inutile pour flux-erase
sizestringTaille compatible OpenAI comme 1024x1024, convertie en width et height BFL
output_formatstringFormat de sortie BFL : jpeg, png ou webp
response_formatstringFormat de reponse Magick API : url ou b64_json
qualitystringChamp compatible. hd ou high active prompt_upsampling: true chez BFL
extra_fieldsobjectChamps officiels BFL a transmettre. Les champs BFL peuvent aussi etre places au niveau racine

Parametres FLUX.2

S applique a flux2_text_to_image, flux2_image_editing et flux-2-pro-preview.

ChampTypeDefaut / plageDescription
promptstringObligatoirePrompt de generation ou d edition
input_imagestringFacultatifChamp officiel BFL pour image de reference, URL ou Base64
input_image_2 ... input_image_8stringFacultatifEdition multi-reference, jusqu a 8 images
image / imagesstring / arrayFacultatifChamps de reference compatibles OpenAI, mappes vers input_image*
widthinteger>= 64Largeur de sortie
heightinteger>= 64Hauteur de sortie
seedintegerFacultatifSeed de reproductibilite
safety_toleranceinteger0 ~ 5, defaut 2Tolerance de moderation. 0 est le plus strict
output_formatstringDefaut jpegjpeg, png ou webp
webhook_urlstringFacultatifTransmis a BFL
webhook_secretstringFacultatifTransmis a BFL pour verifier le webhook
curl --request POST \
  --url https://api.magickapi.com/v1/images/generations \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "flux2_text_to_image",
    "prompt": "A precise product photo of a matte black espresso machine on a white counter",
    "size": "1024x1024",
    "output_format": "png",
    "safety_tolerance": 2,
    "seed": 42,
    "response_format": "url"
  }'
curl --request POST \
  --url https://api.magickapi.com/v1/images/edits \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "flux2_image_editing",
    "prompt": "Use the chair from image 2 in the room from image 1, keep natural shadows",
    "images": [
      "https://example.com/room.png",
      "https://example.com/chair.png"
    ],
    "size": "1024x1024",
    "output_format": "jpeg",
    "safety_tolerance": 2
  }'

Parametres FLUX.1.1 Pro

S applique a flux-pro-1.1.

ChampTypeDefaut / plageDescription
promptstringFacultatifPrompt texte vers image
image_promptstringFacultatifImage prompt Base64 pour le guidage Flux Redux
widthinteger256 ~ 1440, multiple de 32, defaut 1024Largeur de sortie
heightinteger256 ~ 1440, multiple de 32, defaut 768Hauteur de sortie
prompt_upsamplingbooleanDefaut falseDemande a BFL d enrichir le prompt
seedintegerFacultatifSeed de reproductibilite
safety_toleranceinteger0 ~ 6, defaut 2Tolerance de moderation
output_formatstringDefaut jpegjpeg, png ou webp

Parametres FLUX.1 Fill

S applique a flux_1_fill. Pour les appels Magick API FLUX.1 Fill, les clients aval appellent toujours l endpoint compatible OpenAI POST /v1/images/edits. N appelez pas directement le chemin officiel BFL /v1/flux-pro-1.0-fill ; le gateway convertit en interne model: "flux_1_fill" vers le modele BFL amont. Fournissez image, mask et prompt ensemble. image et mask doivent etre des images Base64. Le noir est conserve et le blanc est repeint.

:::warning[Debogage]

  • image et mask peuvent inclure le prefixe data:image/...;base64, ou etre du Base64 brut. N envoyez pas d URL d image, sinon le gateway renverra “requires base64 image data”.
  • mask doit avoir exactement les memes dimensions que image. Une erreur frontend courante consiste a exporter le mask a la taille de preview, par exemple image=1152x896 mais mask=720x560 ; BFL renvoie alors 422 et le gateway peut seulement exposer openai_error / bad_response_status_code.
  • Envoyez explicitement response_format: "url" et output_format: "png" pour une reponse image compatible OpenAI previsible. :::
ChampTypeDefaut / plageDescription
imagebase64 stringObligatoireImage source
maskbase64 stringObligatoireMasque aux memes dimensions que l image source
promptstringObligatoireInstruction pour la zone masquee
response_formatstringRecommande urlFormat de reponse Magick API, recommande explicitement
stepsinteger15 ~ 50, defaut 50Etapes de generation
guidancenumber1.5 ~ 100, defaut 60Force de guidage
prompt_upsamplingbooleanDefaut falseDemande a BFL d enrichir le prompt
seedintegerFacultatifSeed de reproductibilite
safety_toleranceinteger0 ~ 6, defaut 2Tolerance de moderation
output_formatstringDefaut jpegjpeg, png ou webp

Parametres FLUX Erase

S applique a flux-erase. Le chemin amont officiel est flux-tools/erase-v1.

ChampTypeDefaut / plageDescription
imagebase64 stringObligatoireImage source
maskbase64 stringObligatoireMasque noir/blanc. Le blanc est supprime, le noir est conserve
dilate_pixelsinteger0 ~ 100, defaut 10Elargit les bords du masque avant suppression
seedintegerFacultatifSeed de reproductibilite
safety_toleranceinteger0 ~ 5, defaut 2Tolerance de moderation
output_formatstringDefaut pngjpeg, png ou webp

Facturation

BFL peut renvoyer cost, input_mp et output_mp dans la reponse de soumission. Magick API utilise cost pour le reglement final lorsqu il est present. Si BFL ne renvoie pas de cout dynamique, le prix fixe du modele configure dans le backend est utilise. Un credit BFL vaut $0.01.

Dernière mise à jour

Sommaire