Microsoft AI: MAI-Voice-2
Microsoft AI の MAI-Voice-2 は、ナレーション、対話、音声アプリケーション向けに、表現豊かな多言語音声を生成します。長文での一貫性、複数話者、ターン単位の感情制御により、オーディオブック、授業、キャラクターの声に対応します。
モデルについて
この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。
MAI-Voice-2 は、自然で表現豊かな音声コンテンツのための Microsoft AI のプロンプト式テキスト読み上げモデルです。メーカーは音質の忠実さ、話者の一貫性、感情表現の幅を重視しています。文書化された用途にはアシスタント、オーディオブック、ポッドキャスト、講義、教育用キャラクター、アクセシビリティのためのナレーションがあります。発話原稿の文字が、選択した声の音声になります。即時応答を優先する対話向けの Voice-2-Flash 版には、独自のモデル情報があります。
言語と話者
Microsoft の Voice-2 リリースは、英語、フランス語、ドイツ語、イタリア語、スペイン語、ポルトガル語、ヒンディー語、韓国語、簡体字中国語、トルコ語、ロシア語、タイ語、オランダ語、ルーマニア語、ハンガリー語を含む 15 言語を説明しています。一部の言語には地域別の版があります。また、ヒンディー語と英語、スペイン語と英語のコードスイッチングも説明されており、該当する混合言語の段落では、話者が自然に言語を切り替える話し方を保てます。
実際に話す言葉を用意し、意図した言語を維持してください。バイリンガルの教育用段落では、名前や引用をそのまま保ちながら、ある言語で用語を紹介し、別の言語で説明できます。すべてのロケールを交換可能と見なさず、その作品に必要なアクセントと聴衆に合わせて生成音声を確認してください。
モデルカードは、選定済み音声ライブラリと、別の参照音声プロンプト経路を提供します。参照音声によって、ファインチューニングなしで希望する話者の声を指定できます。録音が話す速度や表現に影響するため、Microsoft は適度な活気のある自然な会話調を推奨しています。カスタム音声が必要な場合は、その声を代表する、同意を得た録音を使ってください。
長めのナレーションと対話
モデルカードは、分割と文脈の引き継ぎによる長文生成を説明しています。章、授業、連続するポッドキャストの段落など、つながったナレーションに対応します。原稿を意味のある区間境界で分け、用語と話者の選択を統一してください。長い説明では、話題が変わることをリスナーに知らせるつなぎの言葉が役立ちます。
複数話者のサポートにより、準備した対話に異なる役割を設けられます。質問と応答をそれぞれの話者に割り当て、同じ役が再登場したときも維持してください。入力には最終的な台詞と関連する演技指示を含め、音声合成器に会話を自由に考えさせる依頼にはしないでください。
口調と感情表現
Microsoft は、ターン単位で口調、話し方、感情を細かく制御できると文書化しています。リリース例は表現豊かな役柄や感情的な段落を示しています。語りでは、どの文が事実の説明、内省、興奮に当たるかを決め、その意味に沿った話し方を適用します。例えば、「実験の中で最も静かな部分が、最も多くを教えてくれる部分でした。そこで初めてパターンが明確になったのです」という文です。この言葉によって、意図的に強調の変化を作れます。
手順を伝えるボイスオーバーでは、行動を明確にし、説明を別の文にしてください。対話ではキャラクターの台詞と場面のメモを区別します。繰り返し登場する名前や段落間のつながりを試聴し、最終的な音声の流れに一貫性を持たせてください。
音声を使う
出力は、入力した発話原稿から新たに生成された音声です。実用的な形は、声と話し方が原稿に沿うナレーション、対話、アプリケーションの音声応答です。文字、話者、区間の順番を録音と関連付けて保管し、修正時に残りの演技を失うことなく目的の段落を変更できるようにしてください。
MAI-Voice-2 は、長めの聴取体験での自然さと表現力を重視します。長文対応は、入力が無制限であることや最大録音時間の保証を意味しません。Voice-2 固有の説明は、後の Voice-2.1 各版で拡張された言語カタログや音声設定と分けて扱います。
Ailoot Ultra · 音声合成 POST /v1/audio/speech microsoft/mai-voice-2
microsoft/mai-voice-2はじめに
Microsoft AI の MAI-Voice-2 は、ナレーション、対話、音声アプリケーション向けに、表現豊かな多言語音声を生成します。長文での一貫性、複数話者、ターン単位の感情制御により、オーディオブック、授業、キャラクターの声に対応します。
- 対応する入力
- テキスト
- 結果
- 音声
Ailootで利用可能 · 入力とメソッド
Ailoot Ultra · 音声合成 POST /v1/audio/speech
- 入力の種類
text- 出力の種類
audio- 出力形式
- mp3
| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
|---|---|---|---|---|
フィールドmodel | 種類string | 要件必須 | 値と制限 microsoft/mai-voice-2 | デフォルト— |
フィールドinput | 種類string | 要件必須 | 値と制限 最小の長さ: 1 単位: Unicode 文字 | デフォルト— |
フィールドvoice | 種類string | 要件必須 | 値と制限 en-US-Harper:MAI-Voice-2, es-MX-Valeria:MAI-Voice-2, fr-FR-Soleil:MAI-Voice-2, de-DE-Klaus:MAI-Voice-2 | デフォルト— |
フィールドresponse_format | 種類string | 要件必須 | 値と制限 mp3 | デフォルト— |
入力素材の組み合わせ
text_to_speech · 必須: input
メソッドのパラメータとライフサイクル
| パラメータ | 仕様 |
|---|---|
パラメータcontent_type | 仕様application/json |
パラメータrequired | 仕様model, input, voice, response_format |
パラメータvoice_ids | 仕様en-US-Harper:MAI-Voice-2, es-MX-Valeria:MAI-Voice-2, fr-FR-Soleil:MAI-Voice-2, de-DE-Klaus:MAI-Voice-2 |
パラメータresponse_format | 仕様mp3 |
パラメータmax_input_characters | 仕様null |
パラメータother_options | 仕様false |
パラメータinput | 仕様正確なUTF-8テキスト。正規化せずにUnicode文字数を数えます |
パラメータmaterial_types | 仕様text |
ライフサイクル: 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)を使用する場合
Ailootの料金
設定別の価格
各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。
| 設定 | 料金表 | 課金対象の数量 | 課金単位 | 料金 |
|---|---|---|---|---|
| 設定基本トークン料金 | 料金表基本料金 | 課金対象の数量— | 課金単位— | 料金 入力 · 入力トークン — / 1K トークン 出力 · 出力トークン — / 1K トークン 入力 · キャッシュ読み取り — / 1K トークン 入力 · キャッシュ書き込み — / 1K トークン 入力 · キャッシュ書き込み、1時間 — / 1K トークン |
| 設定Ultra | 料金表— | 課金対象の数量漢字を含め、Unicodeコードポイント1つを1文字として数えます。 | 課金単位1K入力文字あたり | 料金 入力 · 入力文字 $0.044 1K入力文字あたり |
参考料金の詳細
モデル単位の参照料金表は、メソッド選択、見積もり、課金を変更しません。実際の課金には、選択したAilootメソッドの料金を適用します。
Microsoft AI: MAI-Voice-2
設定別の価格
| 設定 | 課金条件 | 料金 |
|---|---|---|
| 設定Microsoft AI: MAI-Voice-2 · 標準設定 | 課金条件デフォルト設定 | 料金 入力 · 入力文字数 $0.000044 入力文字あたり |
Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →
リクエスト例
Ailoot Ultra · 音声合成
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "microsoft/mai-voice-2", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["en-US-Harper:MAI-Voice-2", "es-MX-Valeria:MAI-Voice-2", "fr-FR-Soleil:MAI-Voice-2", "de-DE-Klaus:MAI-Voice-2"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
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/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
結果を受け取って保存
Ailoot Ultra · 音声合成
mp3
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 media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
完了した結果をすべて保存
返された完全なレスポンス、ファイル、コンテンツ部分をすべて保存してください。
バイナリ結果の全体とヘッダーを保存してください。JSON または複数の出力が返された場合は、すべてのデータ項目を保存し、実際に返された署名付きアセット URL から各アセットを取得してください。
元のレスポンスを確認する場合
再送せずに照合できるよう、元の operation_id/X-Client-Request-ID を保存してください。音声専用のポーリングルートはありません。
レスポンスのフィールド
| フィールド | 種類 |
|---|---|
フィールドbinary audio | 種類bytes |
フィールドresponse headers | 種類headers |
エラーと次の手順
| レスポンス | 条件 | 次の手順 |
|---|---|---|
レスポンス400 · invalid_request_error | 条件必須フィールド、素材の表現形式、またはパラメーター値が不正です | 次の手順新しい生成リクエストを送る前に、指定されたフィールドを修正してください。 |
レスポンスserver_error | 条件返されたレスポンスは、操作または結果の確認が必要であることを示しています | 次の手順最初に返された操作/タスク ID、リクエストヘッダー、レスポンスを保存し、その元の操作に対してサポートされている読み取りを継続してください。作成リクエストを再送しないでください。 |
エイリアス
モデルのエイリアス
Ailoot Ultra microsoft/mai-voice-2
メソッドパスのエイリアス
上記に表示されたメソッドパスを使用してください。
関連する呼び出し用ID
FAQ · Microsoft AI: MAI-Voice-2
- 利用できる入力と結果は何ですか?
POST /v1/audio/speech·microsoft/mai-voice-2:text→audio- リクエストはどの項目を使用しますか?
POST /v1/audio/speech·microsoft/mai-voice-2:model,input,voice,response_format