Microsoft AI: MAI-Image-2.6
Microsoft AI MAI-Image-2.6 可為精確設計工作生成與編輯圖片。它結合文字與最多五份視覺參考,支援選用網路資訊落地及自動構圖尺寸,並產生最高 2,359,296 像素的 PNG。重點為可控編輯、文字、肖像與商業視覺。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
Microsoft AI MAI-Image-2.6 是 2.6 圖片系列中著重精準度的版本,為文字轉圖片生成與現有視覺素材的可控編輯設計。模型卡描述採流匹配的擴散模型,具備 200 億個非嵌入參數與 32K-token 脈絡。預期輸出是圖片:產品構圖、人物肖像、品牌插畫,或在指定元素改變時,版面與重要主體仍保持連貫的修訂視覺。
生成時,請描述主體、構圖、材質、光線、視角與視覺風格。圖片需出現標籤、標題或招牌時,提供確切文字並描述位置。原廠強調,此版本改善文字生成、肖像、3D 影像,以及商業或寫實輸出。實用簡述應指出讓圖片成立的幾項關係:哪個物件位於前景、如何處於場景中,以及觀眾應先看哪裡。請在完成圖片中檢查細小文字與細節。
編輯時,請提供來源素材,交代變更及應保留部分。文件工作包括物件移除或替換、屬性變更、局部重繪、版面調整、文字更新,以及動態模糊等瑕疵清理。模型卡強調跨尺度、透視、光線及空間位置的推理,讓修訂融入既有場景。準備時,清楚識別物件或區域,解釋目標是局部修正、不同排列,或較大範圍風格變更。
原廠圖片編輯指南最多接受五份 JPEG 或 PNG 參考。每張圖片應有不同用途,例如產品、人物、場景、版面或視覺風格。打光編輯可將一份參考的檯燈放在另一份參考的桌上,保留桌面透視,讓燈的影子遵循房間光線。另一項修訂可更新簡短標籤,同時保留產品形狀及位置。請檢查結果中的參考關係,不要接受看似合理、卻與提供物件不同的結果。
2.6 系列增加選用網路資訊落地與模型決定的長寬比選擇。請求涉及真實地點、物件或變動資訊時,網路資訊落地可提供相關最新脈絡。它是創意輸入,因此事實視覺細節仍需依預期主體檢查。自動比例選擇讓模型考量提示詞及圖片,決定構圖形狀。設計簡述可指定用途與必要版面,例如一側留白的寬幅產品主視覺,或圍繞站立主體的直式圖片。
輸出尺寸以總面積決定。確切模型卡及圖片指南列出最高 2,359,296 像素,相當於 1536×1536 方形。文件中的圖片介面要求寬高都至少 768 像素,只要總量在面積限制內,任一邊都可超過 1536。這允許較長橫式或直式構圖,不是將每邊上限定為 1536 像素。例如,1024×2048 目標為 2,097,152 像素,符合文件面積規則。請依圖片實際版面檢查最終尺寸。
原廠指南以 PNG 圖片資料回傳生成及編輯結果。準備設計修訂時,請將完成圖片、簡述與來源參考一併保存。模型卡列出 32K-token 脈絡,服務指南則指定最大提示詞脈絡為 32,000 個 token;準備長簡述時應保留各自陳述範圍,不要將它們視為圖片尺寸。實用製作素材是解碼後的圖片,可檢查並放入頁面、投影片或構圖。請一併記錄預期裁切及文字位置,避免後續編輯意外改變設計用途。
系列中,MAI-Image-2.6 強調精確控制及最新視覺細節改善。MAI-Image-2.6-Flash 提供相同生成、編輯、資訊落地與比例選擇能力,版本則針對快速回應、反覆製作最佳化。2.5 系列的文件輸出面積上限較小,也不承接 2.6 的資訊落地或自動比例控制。請依所需圖片及修訂過程選擇版本,不要假設共用系列名稱就代表所有設定相同。
編輯結果需與完整來源比較:保留的臉部、物件身分、幾何、陰影、文字及預期版面都重要。可信照片仍可能包含錯誤標記、不一致反射,或指定編輯以外的特徵變動。下一次修正應具體,例如標籤、物件位置或特定瑕疵。這能讓反覆編輯實用,同時保留原始簡述的主體及構圖。
Ailoot Ultra · 圖片 POST /v1/images/generations microsoft/mai-image-2.6
microsoft/mai-image-2.6入門
Microsoft AI MAI-Image-2.6 可為精確設計工作生成與編輯圖片。它結合文字與最多五份視覺參考,支援選用網路資訊落地及自動構圖尺寸,並產生最高 2,359,296 像素的 PNG。重點為可控編輯、文字、肖像與商業視覺。
- 接受的輸入
- 文字 · 圖片
- 結果
- 圖片
Ailoot 可用 · 輸入與方法
Ailoot Ultra · 圖片 POST /v1/images/generations
- 輸入
text,image- 輸出
image
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位model | 類型string | 要求必填 | 值與限制 microsoft/mai-image-2.6 | 預設值— |
欄位prompt | 類型string | 要求必填 | 值與限制 長度下限: 1 | 預設值— |
欄位aspect_ratio | 類型string | 要求選填 | 值與限制 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, auto | 預設值— |
欄位n | 類型integer | 要求選填 | 值與限制 最小值: 1 最大值: 1 | 預設值— |
欄位input_references | 類型array | 要求選填 | 值與限制 項目數下限: 0 項目數上限: 5 | 預設值— |
欄位provider | 類型object | 要求選填 | 值與限制 | 預設值— |
方法參數與生命週期
| 參數 | 規格 |
|---|---|
參數content_type | 規格application/json |
參數required | 規格model, prompt |
參數material_types | 規格text, image |
生命週期: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · 實際回傳的 task_id 或媒體庫紀錄
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
方案
最終費用的計算方式
顯示的費率用於在生成前估算費用。最終費用依原始生成作業記錄的成本計算。實測的輸出時間長度與預估數量並非最終計費數量。
費率資訊不會增加請求選項。支援的參數列於所選方法中。
- 快速模式
- 未指定 選取快速模式時
- flex 模式
- 未指定 選取 flex 模式時
- 最高推理強度
- 未指定 最高推理強度採用 default 調整值時
供比較的預估費率
各設定的價格
請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。
| 設定 | 費率表 | 預估數量 | 費用 |
|---|---|---|---|
| 設定基礎 token 費率 | 費率表基本費率 | 預估數量— | 費用 輸入 · 輸入 Token · 僅供比較的估算 — / 1K Token 輸出 · 輸出 Token · 僅供比較的估算 — / 1K Token 輸入 · 讀取快取 · 僅供比較的估算 — / 1K Token 輸入 · 寫入快取 · 僅供比較的估算 — / 1K Token 輸入 · 寫入快取,1 小時 · 僅供比較的估算 — / 1K Token |
| 設定預估生成費用 | 費率表— | 預估數量單次生成估算值 | 費用 輸出 · 預估生成費用 · 僅供比較的估算 $0.311296 生成前估算 此估算並非額外費用,也不是本次生成完成後的固定費率。 |
Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →
請求範例
Ailoot Ultra · 圖片
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'microsoft/mai-image-2.6', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
接收並儲存結果
Ailoot Ultra · 圖片
下載每張傳回的圖片,或儲存其 Base64 內容
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
其他內容讀取方式
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
保留所有已完成的結果
請儲存每張已完成的圖片;從每個傳回的 URL 取得圖片,或解碼其 Base64 內容。
保留完整回應與標頭、所有實際輸出、原始回傳的識別碼,以及所有用量欄位。恢復原始作業時,請勿再次提交建立請求。
需要檢查原始回應時
保留回傳的 X-Client-Request-ID,以供核對。僅讀取實際回傳的 task_id/asset_id 值或自己擁有的媒體庫;請勿以作業 ID 組成任務 URL,也請勿重新提交建立請求。
回應欄位
| 欄位 | 類型 |
|---|---|
欄位created | 類型 |
欄位data[].url | 類型 |
欄位data[].b64_json | 類型 |
欄位usage | 類型 |
別名
模型別名
Ailoot Ultra microsoft/mai-image-2.6
方法路徑別名
/v1/images
相關呼叫用 ID
FAQ · Microsoft AI: MAI-Image-2.6
- 可以使用哪些輸入與結果?
POST /v1/images/generations·microsoft/mai-image-2.6:text,image→image- 請求使用哪些欄位?
POST /v1/images/generations·microsoft/mai-image-2.6:model,prompt,aspect_ratio,n,input_references,provider- 適用哪些限制?
POST /v1/images/generations·microsoft/mai-image-2.6:n.minimum:1;n.maximum:1