Déployer et utiliser des modèles MAI dans Microsoft Foundry (préversion)

MAI-Image-2 et MAI-Image-2e sont des modèles de génération de texte à image qui créent des images de haute qualité et visuellement enrichies à partir d’invites en langage naturel.

Dans cet article, vous allez apprendre à :

  • Déployer des modèles de génération d’images MAI 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 de génération d’images MAI

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. MAI-Image-2 et MAI-Image-2e sont disponibles pour le déploiement standard global (USA Centre-Ouest, USA Est, USA Ouest, Europe Ouest, Suède Centre et Inde Sud).
  • 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 de génération d’images MAI

MAI-Image-2 et MAI-Image-2e sont disponibles pour le déploiement standard mondial dans le Centre-Ouest des États-Unis, l'Est des États-Unis, l'Ouest des États-Unis, l'Europe de l'Ouest, le Centre de la Suède et le Sud de l'Inde. Pour déployer un modèle, suivez les instructions de Deploy Microsoft Foundry Models dans le portail Foundry.

Vous pouvez également déployer un modèle à l’aide de la Azure CLI. Le code suivant montre le déploiement de MAI-Image-2e. Pour déployer MAI-Image-2 à la place, remplacez --model-name MAI-Image-2e par --model-name MAI-Image-2 et --model-version 2026-04-09 par --model-version 2026-02-20.

az cognitiveservices account deployment create \
  --name <ACCOUNT_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --deployment-name <DEPLOYMENT_NAME> \
  --model-name MAI-Image-2e \
  --model-format Microsoft \
  --model-version 2026-04-09 \
  --sku-name GlobalStandard \
  --sku-capacity 1

Référence :az cognitiveservices account deployment create

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.

Modèles de génération d’images MAI disponibles

Foundry prend en charge l’utilisation de MAI-Image-2 (préversion) et MAI-Image-2e (préversion). Chacun de ces modèles possède des fonctionnalités clés qui incluent :

  • Génération de texte à image : Générez des images de haute qualité à partir d’invites en langage naturel, ce qui permet aux utilisateurs de traduire des descriptions textuelles en sorties visuellement cohérentes adaptées à un large éventail de cas d’usage créatifs et de conception.
  • Synthèse d’images photoréalistes : Capable de générer des images réalistes avec une structure visuelle cohérente, ce qui le rend adapté aux scénarios de visualisation de concept et de création de contenu.
  • Produit, personnalisation et conception commerciale : Adapté aux images de produits, aux visuels marketing, aux ressources de marque et aux flux de travail créatifs commerciaux.

Pour plus d’informations sur les fonctionnalités du modèle, consultez les fonctionnalités des modèles Microsoft dans Foundry Models vendus directement par Azure.

MAI-Image-2 (préversion)

MAI-Image-2 (aperçu) est un modèle de génération de texte à image conçu pour créer des images de haute qualité et visuellement riches à partir d’instructions en langage naturel. Il utilise une approche générative basée sur la diffusion pour affiner progressivement les images, ce qui permet un alignement fort entre le texte d’entrée et la sortie générée. Le modèle est optimisé pour produire des images variées et cohérentes dans un large éventail de scénarios créatifs et de conception, ce qui le rend bien adapté aux tâches telles que la visualisation de concept, la génération de contenu créatif et les flux de travail de conception d’images.

MAI-Image-2e (préversion)

MAI-Image-2e (préversion) fournit une génération d’image de haute qualité, tout comme MAI-Image-2, mais jusqu’à 22% plus rapide et quatre fois plus efficace que MAI-Image-2, ce qui en fait le choix le plus intelligent pour les développeurs qui créent à grande échelle. MAI-Image-2e est mieux adapté aux scénarios à haut volume et à exécution rapide , par exemple, l’imagerie produit à grande échelle, les variantes marketing, les ressources de marque ou tout flux de travail où l’efficacité et le coût par image sont clés.

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

Après avoir déployé un modèle de génération d’images MAI, utilisez l’API de génération d’images MAI pour générer des images. Il s’agit d’un point de terminaison géré par Microsoft qui accepte une invite de texte et retourne une image PNG.

Point de terminaison d’API

Le point de terminaison d’API a la forme suivante :

https://<resource-name>.services.ai.azure.com/mai/v1/images/generations

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.

Fonctionnalités de modèle

Les deux modèles acceptent l’entrée de texte (32 000 jetons) et génèrent une image PNG. Les deux width et height doivent être au moins 768 pixels chacun. Le nombre total de pixels (width × height) ne doit pas dépasser 1 048 576 (équivalent à 1024×1024). Étant donné que la contrainte est sur le nombre total de pixels plutôt que sur chaque dimension individuellement, une dimension peut dépasser 1024 tant que le total reste dans la limite. Par exemple, une image 768×1365 a 1 048 320 pixels totaux, qui se trouve dans le nombre maximal autorisé de pixels.

Le tableau suivant répertorie les paramètres de requête :

Paramètre Type Description
model string Nom de déploiement que vous avez affecté lorsque vous avez déployé le modèle.
prompt string Le texte d'invite décrivant l'image à générer. Longueur maximale du contexte : 32 000 jetons.
width Entier Largeur de l’image de sortie en pixels. Minimum : 768. Le produit de width × height ne doit pas dépasser 1 048 576.
height Entier Hauteur de l’image de sortie en pixels. Minimum : 768. Le produit de width × height ne doit pas dépasser 1 048 576.

Note

Le format de sortie est toujours PNG. Le nombre maximal de pixels est de 1 048 576 (équivalent à 1024×1024). Les deux width et height doivent être au moins 768 pixels chacun. L’une ou l’autre dimension peut dépasser 1024 tant que le nombre total de pixels reste dans la limite.

Générer des images

Les exemples suivants montrent comment générer une image à partir d’une invite de texte à l’aide de modèles de génération d’images MAI avec l’API de génération d’images MAI.

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>.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
    import base64
    import requests
    
    endpoint = os.environ["AZURE_ENDPOINT"]
    api_key = os.environ["AZURE_API_KEY"]
    deployment_name = os.environ["DEPLOYMENT_NAME"]
    
    width = 1024
    height = 1024
    
    url = f"{endpoint}/mai/v1/images/generations"
    
    payload = {
        "model": deployment_name,
        "prompt": "A photorealistic image of a mountain lake at sunrise",
        "width": width,
        "height": height
    }
    
    response = requests.post(
        url,
        headers={
            "Content-Type": "application/json",
            "api-key": api_key,
        },
        json=payload,
    )
    response.raise_for_status()
    
    result = response.json()
    print(result)
    
    image_data = [
        output
        for output in result.get("data", [])
        if "b64_json" in output
    ]
    
    if image_data:
        image_base64 = image_data[0]["b64_json"]
        output_path = "output.png"
        with open(output_path, "wb") as f:
            f.write(base64.b64decode(image_base64))
        print(f"Image saved to {output_path}")
    else:
        print("Unexpected response format:", result)
    

    Sortie attendue : Réponse JSON contenant les données d’image générées au format base64. L’image est décodée et enregistrée comme output.png dans le répertoire actif.

Utiliser l’authentification Microsoft Entra ID

Pour utiliser Microsoft Entra ID au lieu d’une clé API, remplacez l’en-tête api-key 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 les en-têtes de requête 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

Quotas et limites d’API

Les modèles de génération d’images MAI 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.

Type de déploiement Niveau MAI-Image-2e RPM MAI-Image-2 RPM
Standard global 1 18 9
Standard global 2 30 15
Standard global 3 60 30
Standard global 4 90 45
Standard global 5 120 60
Standard global 6 180 90

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.

Dépanner

Utilisez le tableau suivant pour résoudre les erreurs courantes lors de l’utilisation des modèles de génération d’images MAI :

Erreur Cause Correction
401 Unauthorized Clé API non valide ou jeton expiré Régénérez la clé dans le portail Azure. Pour l’authentification Entra ID, vérifiez que l’étendue du jeton est https://cognitiveservices.azure.com/.default.
404 Not Found Nom de déploiement ou URL de point de terminaison incorrects Vérifiez le nom et le point de terminaison du déploiement dans le portail Foundry sous Déploiements.
400 Bad Request width ou height au-dessous du nombre de pixels minimal ou total dépasse le nombre maximal Assurez-vous que width et height soient chacun d’au moins 768, et que width × height ≤ 1 048 576.
429 Too Many Requests Limite de débit dépassée Attendez et réessayez ou demandez une augmentation du quota.

Considérations relatives à l’IA responsable

Lorsque vous utilisez des modèles de génération d’images MAI dans Foundry, tenez compte des pratiques d’IA responsables suivantes :

  • Tenez compte des limitations connues : malgré les atténuations techniques telles que le filtrage des données et les classifieurs de contenu appliqués au niveau du système, les modèles de génération d’images peuvent produire du contenu dangereux ou inattendu en fonction des demandes des utilisateurs. Les zones à risque courantes incluent le contenu violent ou gory, le contenu sexuel ou la nudité, les représentations des personnalités publiques et la réplication de marques déposées ou d’autres documents protégés.
  • Configurez la sécurité du contenu : appliquez des atténuations supplémentaires appropriées à votre cas d’usage, car aucun modèle dégénératif n’est immunitaire aux invites contradictoires.
  • Conformez-vous aux conditions applicables : Assurez-vous que votre utilisation d'images générées est conforme aux conditions d'utilisation de Microsoft et aux lois applicables en matière de droits d'auteur et de propriété intellectuelle.
  • Soyez transparent : divulguer que le contenu est généré par l’IA lors du partage ou de la publication d’images.
  • Évitez le contenu dangereux : ne générez pas de contenu susceptible d’être dangereux, trompeur ou en violation de la vie privée.