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 requete | Modele ou chemin BFL amont | Endpoint recommande | Usage |
|---|---|---|---|
flux2_text_to_image | flux-2-pro-preview | POST /v1/images/generations | Texte vers image FLUX.2 |
flux2_image_editing | flux-2-pro-preview | POST /v1/images/edits | Edition FLUX.2 avec une ou plusieurs references |
flux-2-pro-preview | flux-2-pro-preview | POST /v1/images/generations ou /v1/images/edits | Nom natif du modele FLUX.2 preview |
flux-pro-1.1 | flux-pro-1.1 | POST /v1/images/generations | Texte vers image FLUX.1.1 |
flux_1_fill | flux-pro-1.0-fill | POST /v1/images/edits | Inpainting masque, outpainting et editions locales |
flux-erase | flux-tools/erase-v1 | POST /v1/images/edits | Suppression d objet par masque |
Authentification et reponse
Utilisez un token Magick API pour appeler le gateway :
Authorization: Bearer YOUR_API_KEYLa 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
| Champ | Type | Description |
|---|---|---|
model | string | Obligatoire. Utilisez l un des noms de modele ci-dessus |
prompt | string | Obligatoire pour texte vers image et edition FLUX.2 ; instruction facultative pour flux_1_fill ; inutile pour flux-erase |
size | string | Taille compatible OpenAI comme 1024x1024, convertie en width et height BFL |
output_format | string | Format de sortie BFL : jpeg, png ou webp |
response_format | string | Format de reponse Magick API : url ou b64_json |
quality | string | Champ compatible. hd ou high active prompt_upsampling: true chez BFL |
extra_fields | object | Champs 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.
| Champ | Type | Defaut / plage | Description |
|---|---|---|---|
prompt | string | Obligatoire | Prompt de generation ou d edition |
input_image | string | Facultatif | Champ officiel BFL pour image de reference, URL ou Base64 |
input_image_2 ... input_image_8 | string | Facultatif | Edition multi-reference, jusqu a 8 images |
image / images | string / array | Facultatif | Champs de reference compatibles OpenAI, mappes vers input_image* |
width | integer | >= 64 | Largeur de sortie |
height | integer | >= 64 | Hauteur de sortie |
seed | integer | Facultatif | Seed de reproductibilite |
safety_tolerance | integer | 0 ~ 5, defaut 2 | Tolerance de moderation. 0 est le plus strict |
output_format | string | Defaut jpeg | jpeg, png ou webp |
webhook_url | string | Facultatif | Transmis a BFL |
webhook_secret | string | Facultatif | Transmis 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.
| Champ | Type | Defaut / plage | Description |
|---|---|---|---|
prompt | string | Facultatif | Prompt texte vers image |
image_prompt | string | Facultatif | Image prompt Base64 pour le guidage Flux Redux |
width | integer | 256 ~ 1440, multiple de 32, defaut 1024 | Largeur de sortie |
height | integer | 256 ~ 1440, multiple de 32, defaut 768 | Hauteur de sortie |
prompt_upsampling | boolean | Defaut false | Demande a BFL d enrichir le prompt |
seed | integer | Facultatif | Seed de reproductibilite |
safety_tolerance | integer | 0 ~ 6, defaut 2 | Tolerance de moderation |
output_format | string | Defaut jpeg | jpeg, 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]
imageetmaskpeuvent inclure le prefixedata:image/...;base64,ou etre du Base64 brut. N envoyez pas d URL d image, sinon le gateway renverra “requires base64 image data”.maskdoit avoir exactement les memes dimensions queimage. Une erreur frontend courante consiste a exporter le mask a la taille de preview, par exempleimage=1152x896maismask=720x560; BFL renvoie alors 422 et le gateway peut seulement exposeropenai_error / bad_response_status_code.- Envoyez explicitement
response_format: "url"etoutput_format: "png"pour une reponse image compatible OpenAI previsible. :::
| Champ | Type | Defaut / plage | Description |
|---|---|---|---|
image | base64 string | Obligatoire | Image source |
mask | base64 string | Obligatoire | Masque aux memes dimensions que l image source |
prompt | string | Obligatoire | Instruction pour la zone masquee |
response_format | string | Recommande url | Format de reponse Magick API, recommande explicitement |
steps | integer | 15 ~ 50, defaut 50 | Etapes de generation |
guidance | number | 1.5 ~ 100, defaut 60 | Force de guidage |
prompt_upsampling | boolean | Defaut false | Demande a BFL d enrichir le prompt |
seed | integer | Facultatif | Seed de reproductibilite |
safety_tolerance | integer | 0 ~ 6, defaut 2 | Tolerance de moderation |
output_format | string | Defaut jpeg | jpeg, png ou webp |
Parametres FLUX Erase
S applique a flux-erase. Le chemin amont officiel est flux-tools/erase-v1.
| Champ | Type | Defaut / plage | Description |
|---|---|---|---|
image | base64 string | Obligatoire | Image source |
mask | base64 string | Obligatoire | Masque noir/blanc. Le blanc est supprime, le noir est conserve |
dilate_pixels | integer | 0 ~ 100, defaut 10 | Elargit les bords du masque avant suppression |
seed | integer | Facultatif | Seed de reproductibilite |
safety_tolerance | integer | 0 ~ 5, defaut 2 | Tolerance de moderation |
output_format | string | Defaut png | jpeg, 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
GPT Image 2 Official
Décrit l'état d'intégration de `gpt-image-2-official` dans le projet actuel, ainsi que les champs de requête et la structure de réponse de l'interface d'image unifiée.
Seedream 4 Génération d'images
Visible dans la liste des modèles publics du projet actuel `doubao-seedream-4-0-250828` / `seedream-4-0-250828` ; appelle l'interface d'image unifiée et renvoie le résultat de manière synchrone.