0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft MAI-Image-2e入門 — 41%コスト削減・4倍高速な画像生成APIをPythonで実装する

0
Posted at

はじめに

2026年4月14日、Microsoftは画像生成AIモデル「MAI-Image-2e(MAI-Image-2-Efficient)」をパブリックプレビューとして公開しました。MAI-Image-2 のアーキテクチャを継承しながら、GPU効率を4倍・速度を最大22%向上させ、価格を41%削減した本番向けモデルです。

この記事では、公式ドキュメントをもとに MAI-Image-2e の主要機能・APIの使い方・Pythonによる実装方法を解説します。

この記事で学べること

  • MAI-Image-2 / MAI-Image-2e の違いと選び方
  • Microsoft Foundry へのデプロイ手順
  • Python による画像生成の実装方法(APIキー認証・Entra ID認証)
  • 料金・レート制限・トラブルシューティング

対象読者

  • Azure を使った AI アプリケーションを開発しているエンジニア
  • OpenAI の画像生成 API からの移行を検討している方
  • 低コスト・高スループットな画像生成 API を探している方

前提条件

  • Azure サブスクリプション(従量課金制)
  • Microsoft Foundry プロジェクト作成権限
  • Python 3.8 以上

TL;DR

  • MAI-Image-2e は MAI-Image-2 の高効率版。最大22%高速・4倍スループット・41%安価
  • APIエンドポイント: https://<resource>.services.ai.azure.com/mai/v1/images/generations
  • 入力最大 32,000 トークン、出力は PNG(width × height ≤ 1,048,576px)
  • Python の requests ライブラリだけで実装可能

MAI-Image-2 シリーズとは

MAI-Image-2 は、Microsoft の MAI(Microsoft AI Infrastructure)チームが開発した独自の画像生成モデルです。2026年4月2日に Microsoft Foundry でのパブリックプレビューが開始され、Arena.ai 画像モデルランキングで Top-3 を獲得しました1

同日リリースされた MAI-Transcribe-1(音声認識)・MAI-Voice-1(音声合成)と合わせて、Microsoft 独自のマルチメディア AI スタックを構成します。

MAI-Image-2 vs MAI-Image-2e の違い

項目 MAI-Image-2 MAI-Image-2e
生成速度 ベースライン 最大22%高速
GPU スループット(H100) ベースライン 4倍
テキスト入力料金 $5 / 1M トークン $5 / 1M トークン
画像出力料金 $33 / 1M トークン $19.50 / 1M トークン(41%削減)
リリース日 2026-04-02 2026-04-14(プレビュー)
画質傾向 スムーズ・奥行き感重視 シャープ・ライン定義が明確
主な用途 写真リアリズム・クリエイティブ 高ボリューム・本番運用

公式ドキュメントによれば2、MAI-Image-2e は「高品質な画像生成を維持しつつ、スケールで構築する開発者に最適な選択肢」と位置付けられています。

主な特徴

  • テキストから画像生成(Text-to-Image): 最大 32,000 トークンのプロンプトから高品質な PNG 画像を生成
  • 写真リアリズム: 一貫した視覚構造でリアルな画像を合成
  • 商用・ブランドデザイン: 商品画像・マーケティングビジュアル・ブランドアセット向けに最適化

Microsoft Foundry へのデプロイ

MAI-Image-2e は グローバルスタンダードデプロイ として以下のリージョンで利用可能です3

  • West Central US / East US / West US
  • West Europe / Sweden Central / South India

Azure CLI によるデプロイ

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

MAI-Image-2(フラッグシップ)を使う場合は --model-name MAI-Image-2--model-version 2026-02-20 に変更します。

デプロイ後は Foundry ポータルKeys and Endpoint セクションから以下を取得します:

  • リソースエンドポイント: https://<resource-name>.services.ai.azure.com
  • API キー(または Microsoft Entra ID 認証)

Python による実装

環境変数の設定

export AZURE_ENDPOINT="https://<resource-name>.services.ai.azure.com"
export AZURE_API_KEY="<your-api-key>"
export DEPLOYMENT_NAME="<your-deployment-name>"

APIキー認証での画像生成

import os
import base64
import requests

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

url = f"{endpoint}/mai/v1/images/generations"

payload = {
    "model": deployment_name,
    "prompt": "A photorealistic image of a mountain lake at sunrise",
    "width": 1024,
    "height": 1024
}

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

result = response.json()

image_data = [
    output
    for output in result.get("data", [])
    if "b64_json" in output
]

if image_data:
    image_base64 = image_data[0]["b64_json"]
    with open("output.png", "wb") as f:
        f.write(base64.b64decode(image_base64))
    print("Image saved to output.png")
else:
    print("Unexpected response format:", result)

実行結果: output.png として PNG ファイルが保存されます。

Microsoft Entra ID 認証(エンタープライズ向け)

セキュリティ要件が高い環境では、API キーの代わりに Entra ID トークンを使用できます。

pip install azure-identity
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
import requests, base64, os

endpoint = os.environ["AZURE_ENDPOINT"]
deployment_name = os.environ["DEPLOYMENT_NAME"]

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(),
    "https://cognitiveservices.azure.com/.default"
)
token = token_provider()

url = f"{endpoint}/mai/v1/images/generations"
payload = {
    "model": deployment_name,
    "prompt": "A minimalist product photo of a coffee cup on a white background",
    "width": 1024,
    "height": 1024
}

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

result = response.json()
image_base64 = result["data"][0]["b64_json"]
with open("output_entra.png", "wb") as f:
    f.write(base64.b64decode(image_base64))
print("Image saved to output_entra.png")

DefaultAzureCredential は環境変数・マネージド ID・Azure CLI など複数の認証方式を自動で試みます。

cURL による確認

curl -X POST "https://<resource-name>.services.ai.azure.com/mai/v1/images/generations" \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_API_KEY" \
  -d '{
      "model": "'"$DEPLOYMENT_NAME"'",
      "prompt": "A photorealistic image of a mountain lake at sunrise",
      "width": 1024,
      "height": 1024
    }' \
  | jq -r '.data[0].b64_json' \
  | base64 --decode > output.png

API パラメータ仕様

パラメータ 説明
model string デプロイ名(Azure ポータルで設定したもの)
prompt string 画像を説明するテキストプロンプト(最大 32,000 トークン)
width integer 出力画像の幅(ピクセル)。最小: 768
height integer 出力画像の高さ(ピクセル)。最小: 768

画像サイズの制約: width × height ≤ 1,048,576(1024×1024 相当)。どちらの辺も 768px 以上が必要ですが、合計ピクセル数が範囲内であれば一辺は 1024 を超えられます(例: 768×1365 = 1,048,320px は有効)。

出力フォーマットは常に PNG です。

レート制限と料金

レート制限(Requests Per Minute)

デプロイタイプ ティア MAI-Image-2e RPM MAI-Image-2 RPM
Global Standard 1 18 9
Global Standard 2 30 15
Global Standard 3 60 30
Global Standard 4 90 45
Global Standard 5 120 60
Global Standard 6 180 90

MAI-Image-2e は同じティアで MAI-Image-2 の 2倍の RPM を処理できます。

料金比較

モデル テキスト入力 画像出力
MAI-Image-2 $5 / 1M トークン $33 / 1M トークン
MAI-Image-2e $5 / 1M トークン $19.50 / 1M トークン

1,000 枚(1024×1024)生成した場合、画像出力トークンの概算コスト差は MAI-Image-2e の方が大幅に有利です。クォータ増加が必要な場合はクォータ増加リクエストフォームから申請できます。

注意点とトラブルシューティング

エラー 原因 対処法
401 Unauthorized APIキーが無効またはトークン期限切れ Azure ポータルでキーを再生成。Entra ID の場合はトークンスコープが https://cognitiveservices.azure.com/.default であることを確認
404 Not Found デプロイ名またはエンドポイント URL が誤り Foundry ポータルの Deployments でデプロイ名とエンドポイントを確認
400 Bad Request width/height が 768 未満、または合計ピクセル数超過 widthheight が各 768 以上で width × height ≤ 1,048,576 であることを確認
429 Too Many Requests レート制限超過 リトライまたはクォータ増加を申請

まとめ

  • MAI-Image-2e は 2026年4月14日にパブリックプレビュー公開された Microsoft 独自の画像生成 AI
  • MAI-Image-2 比で 最大22%高速・4倍スループット・41%コスト削減 を実現
  • Microsoft Foundry から Python/REST API で簡単に呼び出せる
  • 画像出力料金は $19.50/1M トークンで、高ボリューム本番運用に適したコスト構造
  • フラッグシップの MAI-Image-2 と用途で使い分け(写真リアリズム重視 vs 高効率・本番運用重視)

エンタープライズ向けの画像生成ワークフローを Azure 上で構築する際の選択肢として、ぜひ MAI-Image-2e を検討してください。

参考リンク

  1. Introducing MAI-Image-2: for limitless creativity | Microsoft AI(2026-04-02)

  2. Introducing MAI-Image-2-Efficient | Microsoft Community Hub(2026-04-14)

  3. Deploy and use MAI models in Microsoft Foundry | Microsoft Learn(2026-04-13)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?