Microsoft AI: MAI-Transcribe 2
Microsoft AI MAI-Transcribe 2 可將錄製語音轉為文字,涵蓋 60 種語言,支援自動語言識別與語言切換。它加入說話者分離、逐字時間資訊、關鍵字偏向提示,以及清理或逐字保留風格,適合會議記錄、字幕、可搜尋音訊與專業聽寫。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
Microsoft AI MAI-Transcribe 2 是 Microsoft 第二代轉錄系列中,用於錄製音訊的語音轉文字版本。它可將口語內容轉為書面文字,涵蓋 60 種語言,具備自動語言識別,並支援語音中的語言切換。模型加入說話者分離、逐字時間資訊,以及可選轉錄風格。實用成果包含標明說話者的會議逐字稿、可搜尋訪談記錄、字幕對齊資料,或含專業術語且經核對的聽寫稿。
準備錄音時,保留完整口語內容。開發商列出 WAV、MP3 與 FLAC 輸入。保留原始音訊,以便將不確定的字詞、名稱與數字和辨識文字比較。模型設計可處理背景噪音或不同麥克風品質,但檢查仍應聚焦於不清楚或重疊段落。訪談應保留發言與停頓順序,不要移除有助解讀回應的上下文。
事先不知道語言時,自動語言偵測很有用。文件所載的 60 種語言包含英文、俄文、中文、日文、韓文、阿拉伯文、法文、德文、西班牙文、印尼文、馬來文、泰文與越南文。語言切換涵蓋自然語言變換,包括 Hinglish 或 Spanglish 這類混用組合。開發商介面也接受單一語言提示,並將其描述為強指示。只有錄音確實使用指定語言時才應使用,不要把多語言對話強行限定為預期的單一語言。
關鍵字偏向提示提供領域術語、縮寫、產品名稱與專有名詞,這些詞可能僅憑聲音難以區分。準備與錄音相關的聚焦清單,例如專案名稱、產品線,或討論中使用的技術詞彙。服務指南將其描述為辨識提示,而非強制配對。技術演講可加入具名儀器與專業術語的確切拼法,再檢查逐字稿是否將它們放在實際說出的位置。提供某個詞,不代表說話者確實說過它。
依預期成果選擇輸出風格。文件預設的 Verbatim 會保留填充詞、說到一半重起的內容與自我修正。Clean 則移除不流暢部分,使逐字稿更易讀。用於檢視對話發展的記錄可保留猶豫與修正;便於閱讀的課程逐字稿則可使用清理後措辭。兩種結果都應隨附原始音訊。清理改善的是口語文字的呈現,不應被當成另一份摘要,或對說話者意圖的新解讀。
說話者分離依偵測到的說話者區分輪次;逐字時間戳記為每個字詞提供偏移量與時長。服務介面也提供片段時間資訊或不提供時間資訊的選項。片段依語言劃分,啟用說話者分離時也依說話者劃分。時間欄位使用毫秒,可支援導覽、搜尋與編輯。標籤區分偵測到的說話者;將標籤對應至參與者姓名,是另一項檢查步驟。字幕應使用經核對的逐字時間整理可讀字幕單元,不要假設辨識結果已是完成的字幕檔。
模型卡列出最大檔案大小為 300 MB、時長為兩小時。連結的同步 REST 參考文件針對所載 2025-10-15 介面,則要求檔案小於 250 MB,且短於兩小時。這些是不同的公開模型卡與服務限制;檔案應符合適用服務額度。MAI 指南也指出,說話者分離可支援的錄音比不分離說話者的轉錄更短。需要標明說話者時,將較長多說話者資料整理成連貫區段,並保留各段在原始錄音中的位置,以供後續檢查。
文件所載輸出為結構化轉錄資料:完整文字、片語,以及要求時提供的說話者與時間資訊。片語可帶有文字、語言、偏移量與時長;逐字時間可將辨識字詞連結至音訊。可搜尋典藏應保留這些關係,使找到的詞能回到錄音。會議流程中,經核對逐字稿可作為後續摘要或行動項目擷取的輸入。語音模型結果是辨識內容,不是已獨立驗證的會議決策記錄。
版本差異很具體。MAI-Transcribe 1.5 涵蓋 43 種語言;此版本涵蓋 60 種,並加入文件所載的說話者分離、逐字時間戳記與 clean/verbatim 控制。MAI-Transcribe 2 Streaming 是另一個用於增量即時轉錄的模型,具有自身功能組合;其首次部分結果延遲,不代表此錄製音訊版本。將逐字稿用於字幕、引文或衍生文件前,應對照音訊檢查名稱、數字、說話者輪次與混合語言段落。
Ailoot Ultra · 語音轉文字 POST /v1/audio/transcriptions microsoft/mai-transcribe-2
microsoft/mai-transcribe-2入門
Microsoft AI MAI-Transcribe 2 可將錄製語音轉為文字,涵蓋 60 種語言,支援自動語言識別與語言切換。它加入說話者分離、逐字時間資訊、關鍵字偏向提示,以及清理或逐字保留風格,適合會議記錄、字幕、可搜尋音訊與專業聽寫。
- 接受的輸入
- 音訊
- 結果
- 文字
Ailoot 可用 · 輸入與方法
Ailoot Ultra · 語音轉文字 POST /v1/audio/transcriptions
- 輸入
audio- 輸出
text
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位model | 類型string | 要求必填 | 值與限制 microsoft/mai-transcribe-2 | 預設值— |
欄位input_audio | 類型object | 要求必填 | 值與限制 | 預設值— |
欄位language | 類型string | 要求選填 | 值與限制 | 預設值— |
欄位temperature | 類型number | 要求選填 | 值與限制 最小值: 0 最大值: 1 | 預設值— |
欄位response_format | 類型string | 要求選填 | 值與限制 json, verbose_json | 預設值json |
欄位timestamp_granularities | 類型array | 要求選填 | 值與限制 | 預設值— |
欄位provider | 類型object | 要求選填 | 值與限制 | 預設值— |
方法參數與生命週期
| 參數 | 規格 |
|---|---|
參數content_type | 規格application/json |
參數required | 規格model, input_audio |
參數material_types | 規格audio |
參數material_conditions | 規格請讀取實際的 WAV 檔案,並將其真實位元組編碼,用於所宣告的 JSON input_audio;此確切的純 JSON 宣告並未提供 multipart 路由。 |
生命週期: 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.2 每小時輸入音訊 |
| 設定預估生成費用 | 費率表— | 預估數量單次生成估算值 | 計費單位— | 費用 輸出 · 預估生成費用 · 僅供比較的估算 $0.00005555555555555556 生成前估算 此估算並非額外費用,也不是本次生成完成後的固定費率。 |
Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →
請求範例
Ailoot Ultra · 語音轉文字
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set the path to your actual WAV recording}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
import base64
audio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()
if not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')
if len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')
request={'model': 'microsoft/mai-transcribe-2', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}
request['input_audio']['data']=base64.b64encode(audio).decode('ascii')
Path('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o response.bin
# Keep the complete original response and headers. Read every returned segment, word and usage field.
# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.
接收並儲存結果
Ailoot Ultra · 語音轉文字
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.
保留所有已完成的結果
請保留所有完整傳回的回應、檔案與內容區塊。
保留完整回應與標頭、所有實際輸出、原始回傳的識別碼,以及所有用量欄位。恢復原始作業時,請勿再次提交建立請求。
需要檢查原始回應時
保留回傳的 X-Client-Request-ID,以供核對。僅讀取實際回傳的 task_id/asset_id 值或自己擁有的媒體庫;請勿以作業 ID 組成任務 URL,也請勿重新提交建立請求。
回應欄位
| 欄位 | 類型 |
|---|---|
欄位text | 類型 |
欄位usage | 類型 |
欄位segments[] | 類型 |
欄位words[] | 類型 |
欄位speaker fields | 類型 |
欄位timestamps | 類型 |
別名
模型別名
Ailoot Ultra microsoft/mai-transcribe-2
方法路徑別名
請使用上方列出的 API 方法路徑。
相關呼叫用 ID
FAQ · Microsoft AI: MAI-Transcribe 2
- 可以使用哪些輸入與結果?
POST /v1/audio/transcriptions·microsoft/mai-transcribe-2:audio→text- 請求使用哪些欄位?
POST /v1/audio/transcriptions·microsoft/mai-transcribe-2:model,input_audio,language,temperature,response_format,timestamp_granularities,provider- 適用哪些限制?
POST /v1/audio/transcriptions·microsoft/mai-transcribe-2:temperature.minimum:0;temperature.maximum:1