Déployer et utiliser des modèles FLUX dans Microsoft Foundry

Les modèles FLUX Black Forest Labs (BFL) apportent une génération d’images de pointe à Microsoft Foundry, ce qui vous permet de générer et de modifier des images de haute qualité à partir d’invites de texte et d’images de référence. Dans cet article, vous allez apprendre à :

  • Déployer des modèles FLUX dans Microsoft Foundry
  • S’authentifier à l’aide de Microsoft Entra ID ou de clés API
  • Générer des images à l’aide de l’API spécifique au fournisseur BFL ou de l’API Image
  • Modifier des images en combinant des invites de texte avec des images de référence
  • Choisir le modèle FLUX approprié pour votre cas d’usage

Les modèles FLUX sont optimisés pour le photoréalisme, la fidélité rapide et le contrôle de composition, ce qui les rend bien adaptés aux applications créatives, e-commerce, médias et centrées sur la conception. Ils prennent en charge un éventail de fonctionnalités, y compris la génération d’images à partir de texte, l’édition d’images avec plusieurs références et la génération et l’édition dans le contexte.

Les modèles FLUX dans Foundry sont les suivants :

ID de modèle Nom du modèle Fonctionnalités clés
FLUX.2-flex FLUX.2 [flex] Génération de texte à image ; modification d’images à plusieurs références avec jusqu’à 10 images de référence
FLUX.2-pro FLUX.2 [pro] Génération de texte à image ; modification d’image multi-référence avec jusqu’à huit images de référence
FLUX.1-Kontext-pro FLUX.1 Contexte [pro] Génération et modification dans le contexte ; cohérence des caractères
FLUX-1.1-pro FLUX1.1 [pro] Génération rapide de texte à image

Pour en savoir plus sur chaque modèle, consultez Modèles FLUX disponibles.

Conditions préalables

  • Un abonnement Azure avec un mode de paiement valide. Si vous n'avez pas d'abonnement Azure, créez un compte de Azure payé.
  • Accès à Microsoft Foundry avec les autorisations appropriées pour créer et gérer des ressources.
  • Un projet Microsoft Foundry. Les modèles FLUX sont disponibles pour le déploiement standard global dans toutes les régions.
  • Rôle de contributeur Cognitive Services sur la ressource Azure AI Foundry pour déployer des modèles. Pour plus d’informations, consultez rôles RBAC Azure.

Déployer des modèles FLUX

Les modèles FLUX sont disponibles pour le déploiement standard global dans toutes les régions. Pour déployer un modèle FLUX, suivez les instructions de Deploy Microsoft Foundry Models dans le portail Foundry.

Après le déploiement, utilisez le terrain de jeu Foundry pour tester de manière interactive le modèle avec des invites de texte.

Note

La prise en charge de plusieurs images de référence est disponible pour FLUX.2 [pro] et FLUX.2 [flex] via l’API, mais pas dans le terrain de jeu.

Vue d’ensemble de la génération d’images avec des modèles FLUX

Après avoir déployé un modèle FLUX, utilisez l’API spécifique au fournisseur BFL ou l’API Image pour générer des images :

  • API spécifique au fournisseur BFL : prend en charge tous les modèles FLUX et fournit l’accès à des paramètres supplémentaires tels que guidance, , steps, seed, aspect_ratio, safety_toleranceet output_format. Utilisez cet itinéraire pour un contrôle précis sur la génération.
  • API d’image : point de terminaison compatible OpenAI disponible pour FLUX.1-Kontext-pro et FLUX-1.1-pro. Utilisez cet itinéraire si votre application utilise déjà l’API d’images OpenAI Azure.

Pour vous authentifier, vous avez besoin de votre point de terminaison resource et d’un jeton Microsoft Entra ID ou d’une clé API. Vous trouverez ces valeurs dans la section Keys et Endpoint de votre ressource dans le portail Azure, ou dans la page des détails du déploiement dans le portail Foundry.

Utiliser l’API BFL avec des modèles FLUX

Le point de terminaison d’API spécifique au fournisseur BFL a la forme suivante :

https://<resource-name>.api.cognitive.microsoft.com/providers/blackforestlabs/v1/<model-path>?api-version=preview

Pour chaque modèle, remplacez le chemin <model-path> du modèle dans le point de terminaison comme suit :

Important

L’ID de modèle et <model-path> ne sont pas identiques. Veillez à utiliser le chemin du modèle dans l’URL du point de terminaison.

Modèle Chemin du modèle
FLUX.2 [flex] flux-2-flex
FLUX.2 [pro] flux-2-pro
FLUX.1 Contexte [pro] flux-kontext-pro
FLUX1.1 [pro] flux-pro-1.1

Génération d’image (texte à image)

Les exemples suivants utilisent FLUX.2 [pro] pour générer une image à partir d’une invite de texte. Pour obtenir un exemple spécifique à FLUX.2 [flex]avec ses paramètres supplémentaires (guidance, steps), consultez FLUX.2 [flex].

Utiliser l’authentification par clé API

  1. Installez la requests bibliothèque :

    pip install requests
    
  2. Définissez des variables d’environnement :

    export AZURE_ENDPOINT="https://<resource-name>.api.cognitive.microsoft.com"
    export AZURE_API_KEY="<your-api-key>"
    
  3. Exécutez le code suivant :

    import os
    import requests
    
    endpoint = os.environ["AZURE_ENDPOINT"]
    api_key = os.environ["AZURE_API_KEY"]
    
    url = f"{endpoint}/providers/blackforestlabs/v1/flux-2-pro?api-version=preview"
    
    payload = {
        "model": "FLUX.2-pro",
        "prompt": "A photograph of a red fox in an autumn forest",
        "width": 1024,
        "height": 1024,
        "output_format": "jpeg",
        "num_images": 1,
    }
    
    response = requests.post(
        url,
        headers={
            "Content-Type": "application/json",
            "Authorization": f"Bearer {api_key}",
        },
        json=payload,
    )
    response.raise_for_status()
    
    result = response.json()
    print(result)
    

    Sortie attendue : Réponse JSON contenant une URL ou des données d’image encodées en base64 pour l’image générée.

    Référence :API texte à image BFL FLUX.2

Utiliser l’authentification Microsoft Entra ID

Pour utiliser Microsoft Entra ID au lieu d’une clé API, remplacez la valeur d’en-tête Authorization par un jeton du porteur obtenu à l’aide du DefaultAzureCredential :

  1. Installer la bibliothèque d’identités Azure :

    pip install azure-identity
    
  2. Mettez à jour l’en-tête d’autorisation dans le code précédent :

    from azure.identity import DefaultAzureCredential, get_bearer_token_provider
    
    token_provider = get_bearer_token_provider(
        DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
    )
    token = token_provider()
    
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {token}",
    }
    

    Reference :DefaultAzureCredential

Modification d’images avec des images de référence (modèles FLUX.2)

FLUX.2 [pro] et FLUX.2 [flex] prennent en charge l'édition d'images multi-références, ce qui vous permet de saisir plusieurs images encodées en base64 en même temps qu'une invite de texte. Le modèle applique des modifications stylistiques ou de contenu sur toutes les images de référence.

  • FLUX.2 [pro] : jusqu’à huit images de référence
  • FLUX.2 [flex] : jusqu’à 10 images de référence
import os
import base64
import requests

endpoint = os.environ["AZURE_ENDPOINT"]
api_key = os.environ["AZURE_API_KEY"]

url = f"{endpoint}/providers/blackforestlabs/v1/flux-2-pro?api-version=preview"

# Load and encode reference images
def encode_image(path: str) -> str:
    with open(path, "rb") as f:
        return base64.b64encode(f.read()).decode("utf-8")

payload = {
    "model": "FLUX.2-pro",
    "prompt": "Apply a cinematic, moody lighting effect to all photos. Make them look like scenes from a sci-fi noir film",
    "output_format": "jpeg",
    "input_image": encode_image("image1.jpg"),
    "input_image_2": encode_image("image2.jpg"),
}

response = requests.post(
    url,
    headers={
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}",
    },
    json=payload,
)
response.raise_for_status()

result = response.json()
print(result)

Sortie attendue : Réponse JSON contenant une URL ou une image encodée en base64 reflétant le style cinématique appliqué aux images d’entrée.

Référence :API texte à image BFL FLUX.2

Utiliser l’API Image avec des modèles FLUX

FLUX.1-Kontext-pro et FLUX-1.1-pro sont également disponibles via l’API Image, qui utilise le même format de point de terminaison que l’API d’images OpenAI Azure. Le point de terminaison de l’API Image a la forme suivante :

https://<resource-name>.services.ai.azure.com/openai/v1/images/generations?api-version=preview

Pour la modification d’image (génération dans le contexte), FLUX.1-Kontext-pro prend également en charge les éléments suivants :

https://<resource-name>.services.ai.azure.com/openai/v1/images/edits?api-version=preview

Génération d’image (texte à image)

  1. Installez la bibliothèque OpenAI :

    pip install openai
    
  2. Définissez des variables d’environnement :

    export AZURE_ENDPOINT="https://<resource-name>.services.ai.azure.com"
    export AZURE_API_KEY="<your-api-key>"
    export DEPLOYMENT_NAME="<your-deployment-name>"
    
  3. Exécutez le code suivant :

    import os
    from openai import OpenAI
    
    client = OpenAI(
        base_url=os.environ["AZURE_ENDPOINT"] + "/openai",
        api_key=os.environ["AZURE_API_KEY"],
        default_query={"api-version": "preview"},
    )
    
    result = client.images.generate(
        model=os.environ["DEPLOYMENT_NAME"],
        prompt="A photograph of a red fox in an autumn forest",
        n=1,
        size="1024x1024",
    )
    
    print(result.data[0].url)
    

    Sortie attendue : URL de l’image générée.

    Reference :Client Python OpenAI, Générations d'images - Créer

Modification d’image avec l’API Image (FLUX.1 Kontext [pro])

FLUX.1-Kontext-pro prend également en charge l'images/edits endpoint, qui vous permet de passer une image de référence en même temps qu’un texte de requête pour une édition contextuelle.

import os
from openai import OpenAI

client = OpenAI(
    base_url=os.environ["AZURE_ENDPOINT"] + "/openai",
    api_key=os.environ["AZURE_API_KEY"],
    default_query={"api-version": "preview"},
)

with open("reference.jpg", "rb") as image_file:
    result = client.images.edit(
        model=os.environ["DEPLOYMENT_NAME"],
        image=image_file,
        prompt="Change the background to a sunset over the ocean",
        n=1,
        size="1024x1024",
    )

print(result.data[0].url)

Sortie attendue : URL de l’image modifiée avec le nouvel arrière-plan.

Référence :Client Python OpenAI, Générations d'images - Éditer

Modèles FLUX disponibles

Consultez la collection de modèles Black Forest Labs dans le portail Foundry pour connaître les modèles disponibles.

Pour plus d’informations sur les fonctionnalités de modèle, consultez Foundry Models vendu par Azure.

FLUX.2 [flex]

FLUX.2 [flex] (FLUX.2-flex) offre un contrôle affiné avec un débit plus stable , le débit se dégrade de manière plus normale à mesure que la taille de l’image augmente. Il convient mieux aux dispositions et images lourdes de texte qui nécessitent une superposition de texte ou une conservation fine des détails. Il accepte l’entrée de texte et d’image (32 000 jetons et jusqu’à 10 images) et génère une image au format PNG ou JPG. La résolution maximale de sortie est de 4 MP.

Paramètres supplémentaires (API du fournisseur BFL uniquement) :

Paramètre Description
guidance Contrôle dans quelle mesure la sortie correspond à l'invite. Plage : 1,5 à 10, valeur par défaut : 4,5. Des valeurs plus élevées augmentent la fidélité au prompt.
steps Nombre d’étapes d’inférence. Maximum : 50, valeur par défaut : 50. Les valeurs plus élevées produisent plus de détails, mais sont plus lentes.

L’exemple suivant montre une demande spécifique à FLUX.2 [flex] pour la génération d’images à l’aide des paramètres guidance et steps.

curl -X POST https://<your-resource-name>.api.cognitive.microsoft.com/providers/blackforestlabs/v1/flux-2-flex?api-version=preview \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {API_KEY}" \
  -d '{
      "model": "FLUX.2-flex",
      "prompt": "A photograph of a red fox in an autumn forest",
      "width": 1024,
      "height": 1024,
      "seed": 42,
      "safety_tolerance": 2,
      "output_format": "jpeg",
      "guidance": 1.5,
      "steps": 10
    }'

Sortie attendue : Réponse JSON contenant une URL ou des données d’image encodées en base64 pour l’image générée.

FLUX.2 [pro]

FLUX.2 [pro] (FLUX.2-pro) fournit une qualité d’image de pointe à la vitesse maximale, ce qui en fait le meilleur choix pour les charges de travail de production à grande échelle. Notez qu’il présente des temps de réponse plus élevés par rapport à FLUX.1 Kontext [pro] et FLUX.2 [flex], et le débit diminue à des résolutions plus élevées. Il accepte l’entrée de texte et d’image (32 000 jetons et jusqu’à huit images) et génère une image au format PNG ou JPG. La résolution maximale de sortie est de 4 MP.

L’API du fournisseur BFL prend en charge tous les paramètres pour FLUX.2 [pro], y compris guidance, , stepsseed, aspect_ratio, safety_toleranceet output_format.

FLUX.1 Contexte [pro]

FLUX.1 Kontext [pro] (FLUX.1-Kontext-pro) se spécialise dans la génération et la modification en contexte avec une forte cohérence des personnages entre les modifications. Il accepte l’entrée de texte et d’image (5 000 jetons et 1 image) et génère une image au format PNG ou JPG. La résolution maximale de sortie est de 1 MP.

FLUX.1 Kontext [pro] est disponible via l’API du fournisseur BFL et l’API Image (images/generations et images/edits).

Paramètres supplémentaires (API du fournisseur BFL uniquement) :seed, , aspect_ratio, input_imageprompt_unsampling, safety_tolerance, output_format.

FLUX1.1 [pro]

FLUX1.1 [pro] (FLUX-1.1-pro) offre une génération rapide d’images à partir de texte avec une forte fidélité au prompt, des tarifs compétitifs et une génération évolutive. Il accepte l’entrée de texte (5 000 jetons) et génère une image au format PNG ou JPG. La résolution maximale de sortie est de 1,6 MP.

FLUX1.1 [pro] est disponible via l’API du fournisseur BFL et l’API Image (images/generations).

Paramètres supplémentaires (API du fournisseur BFL uniquement) :width, , height, prompt_unsamplingseed, safety_tolerance, output_format.

Quotas et limites d’API

Les modèles FLUX dans Foundry ont les limites de débit suivantes mesurées en demandes par minute (RPM). Le niveau disponible dépend de votre abonnement et de votre configuration de déploiement.

Modèle Niveau Demandes par minute (RPM)
FLUX.2 [pro] Faible 15
FLUX.2 [pro] Moyen 30
FLUX.2 [pro] Haute 100
FLUX.2 [flex] Faible 5
FLUX.2 [flex] Moyen 10
FLUX.2 [flex] Haute 25
FLUX.1 Contexte [pro] Par défaut 6
FLUX1.1 [pro] Par défaut 6

Pour demander une augmentation de quota, envoyez le formulaire de demande d’augmentation de quota. Les demandes sont traitées dans l’ordre dans lequel elles sont reçues et la priorité est accordée aux clients qui utilisent activement leur allocation de quota existante.

Considérations relatives à l’IA responsable

Lorsque vous utilisez des modèles FLUX dans Foundry, tenez compte des pratiques d’IA responsables suivantes :

  • Configurez la sécurité du contenu IA pendant l’inférence du modèle, car Foundry ne fournit pas de filtrage de contenu intégré pour les modèles FLUX au moment du déploiement.
  • Assurez-vous que votre utilisation d’images générées est conforme aux conditions d’utilisation des laboratoires de forêt noire et aux lois applicables en matière de droits d’auteur et de propriété intellectuelle.
  • Soyez transparent sur le contenu généré par l’IA lors du partage ou de la publication d’images.
  • Évitez de générer du contenu susceptible d’être dangereux, trompeur ou en violation de la vie privée.

Exemples de code et cahiers

Voir l’exemple GitHub pour la génération d’images avec les modèles FLUX dans Microsoft Foundry, ainsi que le Jupyter notebook associé, pour des exemples de bout en bout de création d’images de haute qualité à partir de prompts textuels.