---
title: "Voice Live APIとは？料金・日本語対応・Pythonでの使い方【2026年9月版】"
url: "https://www.issoh.co.jp/tech/details/7170/"
published: 2025-06-10
updated: 2026-09-14
categories: ["プラットフォーム"]
publisher: "株式会社一創"
---

# Voice Live APIとは？料金・日本語対応・Pythonでの使い方【2026年9月版】

Voice Live APIは、Microsoft Foundry（旧Azure AI Foundry）で提供される音声エージェント向けのAPIです。音声認識・生成AI・音声合成を1本のWebSocket接続にまとめ、ノイズ抑制やエコー除去、発話の区切り検出まで含めてサーバー側で処理します。

この記事では、2026年9月時点の公式ドキュメントと価格APIをもとに、対応モデルと料金区分、日本語で使うときの設定とリージョンの制約、Python SDKでの接続手順を整理します。

## まとめ：Voice Live APIの料金・日本語対応・リージョンの要点

- Voice Live APIは、2025年11月のリリースノートで一般提供（GA）と記載されました。最新のGA版APIバージョンは `2026-07-15` で、各SDKの既定値にもなっています。
- 料金は選んだモデルで Pro・Basic・Lite の3区分に分かれ、音声とテキストのトークン単位で課金されます。gpt-realtime（Pro）で利用者とエージェントが1分ずつ話すと、音声トークン分だけで約0.096ドルです。
- 日本語は、音声入力の自動多言語モデル、発話区切り検出 `azure_semantic_vad_multilingual`、日本語音声（Nanami・Keita・Masaru等）のすべてで使えます。
- 東日本・西日本リージョンでは、gpt-realtime系と azure-realtime が選べません。日本語HD音声も東日本では使えないため、リージョン選定が最初の分岐になります。
- イベントはAzure OpenAI Realtime APIと互換です。Azureの音声・アバター・電話連携・Foundryエージェントが要らないなら、Realtime APIを直接使う構成でも足ります。

## Voice Live APIの仕組みとAzure OpenAI Realtime APIとの違い

### 音声認識・生成AI・音声合成を1本の接続で扱う構成

従来の音声ボットは、音声認識（STT）→対話モデル→音声合成（TTS）を別々のサービスとしてつなぐ構成が一般的でした。この構成では、つなぎ目ごとに遅延が積み上がり、割り込みやエコーの処理も自前で実装する必要があります。

Voice Live APIは、この3つを1つのWebSocketエンドポイントで提供します。接続先は `wss://<リソース名>.services.ai.azure.com/voice-live/realtime?api-version=2026-07-15&model=<モデル名>` で、モデルが変わってもURLは `model` パラメーター以外同じです。事前デプロイ済みモデルでは、自分でモデルをデプロイしたり容量を計画したりする必要がなく、公式ドキュメントでは「フルマネージド」と説明されています。

サーバー側で処理される主な機能は次のとおりです。

- ノイズ抑制（`azure_deep_noise_suppression`）：マイクに近い話者の声を優先して背景雑音を抑えます
- サーバー側エコー除去（`server_echo_cancellation`）：スピーカーから出たエージェント自身の声を入力から取り除きます
- 意味ベースの発話区切り検出：言いよどみや間を、話し終わりと区別します
- 関数呼び出し（非同期呼び出しを含む）とMCPサーバー連携

エコー除去には注意点があります。既定ではサービス側の出力音声を参照信号にするため、クライアントでの再生が2秒以上遅れると品質が落ちます。Webやモバイルで再生前に音声を加工する場合は、クライアントが実際に再生した音を参照として送る Live-Reference AEC（`reference_source` を `client`、`channels` を2に設定）を使います。

### Azure OpenAI Realtime APIとの互換性と追加機能

Voice Live APIのイベントは、Azure OpenAI Realtime APIのイベントとほぼ同じ形式です。`session.update` で設定し、`response.create` で応答を生成する流れも共通しているため、既存のRealtime API実装から移しやすくなっています。

[Voice Liveの公式FAQ](https://learn.microsoft.com/ja-jp/azure/ai-services/speech-service/voice-live-faq)は、Realtime APIに対するVoice Live側の拡張点として次の6つを挙げています。

| 拡張点     | Voice Live APIでの中身                |
| ------- | --------------------------------- |
| モデルの選択肢 | gpt-realtime系・GPT-4.1・GPT-5系・Phi等 |
| 音声の選択肢  | Azureの600超の音声・カスタム音声              |
| 音声言語の範囲 | 入力146・出力151の言語/ロケール               |
| 発話区切り検出 | azure\_semantic\_vad系             |
| アバター    | 標準・カスタム・写真アバター                    |
| 連携先     | Foundry Agent Service・ACSの電話連携    |

OpenAIが提供するRealtime API本体の接続方式や実装手順は、[Realtime APIの接続方式と実装手順の解説](/tech/details/4076/)で扱っています。

## Voice Live APIの対応モデルと料金区分

### 対応モデルとPro・Basic・Liteの割り当て

料金区分は自分で選ぶものではありません。使うモデルによって自動的に決まります。2026年9月時点の公式ドキュメントでは、次のように割り当てられています。

| 区分    | 対象モデル                                                       |
| ----- | ----------------------------------------------------------- |
| Pro   | gpt-realtime系、gpt-4o、gpt-4.1、gpt-5、gpt-5-chat、gpt-5.6-terra |
| Basic | gpt-realtime-mini、gpt-4o-mini、gpt-4.1-mini、gpt-5-mini       |
| Lite  | gpt-5-nano、phi4-mm-realtime（プレビュー）                          |

Proの「gpt-realtime系」は、gpt-realtime と gpt-realtime-1.5、およびそれぞれのdatazone版を指します。対応モデル表には、この3区分の表に載っていない gpt-4.1-nano、gpt-5.1、gpt-5.2、gpt-5.4 と、Microsoft独自の音声対話モデル azure-realtime も掲載されています。azure-realtime は2026年7月25日にGAとなり、リリースノートでは「GPT Realtime 1.5より約100ミリ秒低遅延」と説明されています。gpt-5.5、gpt-5.4-mini、gpt-5.4-nano は事前デプロイされておらず、自分のFoundryリソースにデプロイしてBYOM（Bring Your Own Model）で接続します。

音声の扱いはモデルの種類で2通りに分かれます。gpt-realtime系と phi4-mm-realtime は音声をそのまま入力するモデルで、GPT-4.1やGPT-5系はAzureの音声認識で文字にしてから処理します。後者はテキスト化の分だけ遅延がやや増える一方、公式FAQでは「雑音の多い音声にはAzure Speechベースのほうが頑健」とされています。

### トークン単価と1分あたりの概算

単価はAzure Retail Prices APIで取得できます（2026年9月14日取得・East US 2とJapan Eastで同額）。請求上のメーター名ではBasicが「Std」と表記されるため、コスト分析画面で探すときは注意してください。

| 100万トークンあたり(USD) | Pro | Basic(Std) | Lite |
| ---------------- | --- | ---------- | ---- |
| モデル音声入力          | 32  | 11         | 4    |
| モデル音声出力          | 64  | 22         | なし   |
| Azure音声認識入力(標準)  | 17  | 15         | 15   |
| Azure音声合成出力(標準)  | 31  | 26         | 25   |
| テキスト入力           | 4   | 0.66       | 0.11 |
| テキスト出力           | 16  | 2.64       | 0.44 |

音声のトークン量は、公式の目安で入力が約10トークン/秒、出力が約20トークン/秒です（Phiモデルの入力は約12.5トークン/秒）。これを当てはめ、利用者が1分話してエージェントが1分話した場合の音声トークン分を計算すると次のようになります。

| 構成                             | USD    | 円（JPY参考価格） |
| ------------------------------ | ------ | ---------- |
| gpt-realtime（Pro・モデル音声）        | 約0.096 | 約15.3      |
| gpt-realtime-mini（Basic・モデル音声） | 約0.033 | 約5.3       |
| gpt-4.1（Pro・Azure標準音声）         | 約0.047 | 約7.6       |

この概算には、指示文や会話履歴のテキストトークン、キャッシュ入力の料金が含まれていません。会話が長くなるほど履歴の再入力分が増えるため、実運用では上の数字より高くなります。Pro区分の単価の多くは適用開始日が2026年5月1日の行になっており、途中で価格が入れ替わっています。見積もりの前に価格APIか公式価格ページで最新値を確認してください。

### 料金とは別に請求されるカスタム音声・アバター

カスタム音声認識、カスタム音声（Professional Voice）、カスタムアバターは、Voice Liveのトークン料金とは別に、モデルの学習とホスティングの費用がかかります。標準アバターも別途課金です。カスタム音声とカスタムアバターは利用が制限されており、申請フォームでの承認が必要です。Azureの音声サービス全体の料金体系は[Azure AI Speechの料金解説](/tech/details/5335/)を参照してください。

## 日本語で使うときの設定とリージョンの制約

### 音声入力の言語設定と発話区切り検出

GPT-4.1やGPT-5系などテキストモデルを使う場合、音声入力はAzureの音声認識が担当します。`language` を空にすると自動多言語モデルが使われ、日本語（ja-JP）はこのモデルの対応15ロケールに含まれています。日本語だけの窓口なら `ja-JP` を1つ指定すると、他言語への誤認識を防げます。複数言語を指定する場合は最大10言語までで、リストの先頭が主言語として扱われます。

gpt-realtime と gpt-realtime-mini は日本語を含む57言語、phi4-mm-realtime は日本語を含む8言語に対応しています。これらのモデルでは言語設定は不要で、書き起こしを取るときだけ言語ヒントを渡します。

日本語で見落としやすいのが、発話区切り検出（`turn_detection`）の種類です。既定は音量だけで判定する `server_vad` です。Voice Live独自の `azure_semantic_vad` は主に英語向けなので、日本語では `azure_semantic_vad_multilingual` を指定します。こちらは英語・スペイン語・フランス語・イタリア語・ドイツ語・日本語・ポルトガル語・中国語・韓国語・ヒンディー語の10言語に対応しています。フィラー語による誤った割り込みを抑える `remove_filler_words` もありますが、既定は無効で、公式ドキュメントが例示するフィラーは英語（ah、umm等）だけです。

業界用語や社名の認識精度を上げる手段は2段階あります。軽い対策はフレーズリスト（500語未満）で、足りなければカスタム音声認識モデルを作ります。

### 日本語で使える音声の名前

音声出力は、使うモデルと音声の種類で指定方法が変わります。

| 種類                 | 日本語の音声名                                                | 使えるモデル         |
| ------------------ | ------------------------------------------------------ | -------------- |
| Azure標準音声          | ja-JP-NanamiNeural、ja-JP-KeitaNeural、ja-JP-AoiNeural 等 | 全モデル           |
| Azure HD音声         | ja-JP-Nanami・Masaru（:DragonHDLatestNeural）             | 全モデル           |
| azure-realtime専用音声 | nanami（女性）、keita（男性）                                   | azure-realtime |

ja-JP-NanamiNeural は `customerservice` や `cheerful` などの話し方スタイルに対応しています。読み方を固定したい固有名詞は、カスタム辞書（custom lexicon）で発音を登録できます。

### 東日本リージョンで選べないモデルと音声

日本の企業が最初に確認すべきなのがこの制約です。2026年9月9日更新のリージョン対応表では、Japan East と Japan West に gpt-realtime、gpt-realtime-1.5、gpt-realtime-mini、azure-realtime がありません。東日本で使えるのは、GPT-4o系・GPT-4.1系・GPT-5系といったテキストモデルと phi4-mm-realtime です。

HD音声も、公式ドキュメントでは southeastasia、centralindia、swedencentral、westeurope、eastus、eastus2、westus2 の7リージョンに限られています。東日本のリソースでは、Nanami や Masaru のHD版は選べません。

判断の目安は次のとおりです。

- 東日本のリソースで組みたい：gpt-4.1-mini などのテキストモデル＋Azure標準音声が基本です。ただし東日本の gpt-4.1-mini は Global standard で、推論が東日本で処理されるとは限りません。遅延はモデル音声よりやや増えます。
- 推論も国内で処理したい：東日本でリージョン内処理のデプロイ種別になっているのは、gpt-4o（Standard）と phi4-mm-realtime（プレビュー・Regional）だけです。
- 遅延と自然さを優先したい：Southeast Asia などのリソースで gpt-realtime系か azure-realtime を使います。表記は Global standard で、処理場所は特定の地域に固定されません。
- データの処理地域を固定したい：gpt-realtime-1.5-datazone などのData zone版を提供するのは、対応表では米国とEUのリージョンだけです。日本のリージョンにData zone版はありません。

Foundryリソースの種類もこの段階で決めておきます。Azure Speech単体のリソースでは、Foundry Agent Service連携とBYOMが使えません。リソース種別の違いは[Azure AI ServicesとAzure OpenAI Serviceの違い](/tech/details/16635/)で整理しています。

## PythonでVoice Live APIに接続する手順

### 事前準備：リソース・ロール・パッケージ

必要なものは、対応リージョンに作成したMicrosoft Foundryリソース、Python 3.10以上、Azure CLIの3つです。Microsoft Entra IDで認証する場合は、自分のアカウントにリソースの `Cognitive Services User` ロールを割り当てます。

```
pip install "azure-ai-voicelive[aiohttp]==1.3.0" azure-identity
az login
export AZURE_VOICELIVE_ENDPOINT="https://<リソース名>.services.ai.azure.com/"
```

2026年9月14日時点の最新SDKは、Python `azure-ai-voicelive` 1.3.0（2026年8月3日公開）、C# `Azure.AI.VoiceLive` 1.2.0、Java `azure-ai-voicelive` 1.1.0、JavaScript `@azure/ai-voicelive` 1.1.0 です。Python SDKは、トークンのスコープとして `https://ai.azure.com/.default` を既定で使います。

### 日本語セッションを設定するコード例

次のコードは、gpt-4.1-mini（東日本でも利用可）に接続し、日本語の音声・多言語の発話区切り検出・ノイズ抑制・エコー除去を設定して、サーバーから設定反映の通知を受け取るところまでを行います。

```
import asyncio
import os

from azure.identity.aio import DefaultAzureCredential
from azure.ai.voicelive.aio import connect
from azure.ai.voicelive.models import (
    AudioEchoCancellation,
    AudioNoiseReduction,
    AzureSemanticVadMultilingual,
    AzureStandardVoice,
    InputAudioFormat,
    Modality,
    OutputAudioFormat,
    RequestSession,
    ServerEventType,
)


async def main() -> None:
    async with DefaultAzureCredential() as credential, connect(
        endpoint=os.environ["AZURE_VOICELIVE_ENDPOINT"],
        credential=credential,
        model="gpt-4.1-mini",
    ) as conn:
        await conn.session.update(
            session=RequestSession(
                modalities=[Modality.TEXT, Modality.AUDIO],
                instructions="日本語で簡潔に答えるサポート担当として振る舞ってください。",
                voice=AzureStandardVoice(name="ja-JP-NanamiNeural"),
                input_audio_format=InputAudioFormat.PCM16,
                output_audio_format=OutputAudioFormat.PCM16,
                turn_detection=AzureSemanticVadMultilingual(),
                input_audio_noise_reduction=AudioNoiseReduction(type="azure_deep_noise_suppression"),
                input_audio_echo_cancellation=AudioEchoCancellation(),
            )
        )
        async for event in conn:
            if event.type == ServerEventType.SESSION_UPDATED:
                print("session ready:", event.session.id)
                break
            if event.type == ServerEventType.ERROR:
                print("error:", event.error.message)
                break


asyncio.run(main())
```

`RequestSession` は、送信時に `{"type": "azure_semantic_vad_multilingual"}` や `{"name": "ja-JP-NanamiNeural", "type": "azure-standard"}` といったJSONに変換されます。`AudioEchoCancellation()` は引数なしで `server_echo_cancellation` になります。

このコードは azure-ai-voicelive 1.3.0 の型定義に沿って書いたもので、実リソースに接続した応答例は掲載していません。マイク音声の送信とスピーカー再生も含めていません。24kHz・16bit・モノラルのPCMをBase64文字列にして `conn.input_audio_buffer.append(audio=...)` で送り、`RESPONSE_AUDIO_DELTA` イベントで届く音声を再生します。PyAudioを使った実装は、[Microsoft LearnのVoice Liveクイックスタート](https://learn.microsoft.com/ja-jp/azure/ai-services/speech-service/voice-live-quickstart)に含まれています。

### APIバージョンと接続の上限

| APIバージョン           | 状態        | 主な変更                   |
| ------------------ | --------- | ---------------------- |
| 2026-07-15         | GA（SDK既定） | セッション期限の通知、並列ツール呼び出し   |
| 2026-06-01-preview | プレビュー     | 2026-07-15の前段          |
| 2026-04-10         | GA        | MCP・Foundryエージェント連携がGA |
| 2026-01-01-preview | プレビュー     | イベントと設定項目の拡充           |
| 2025-10-01         | GA        | 最初のGA版                 |

2026-07-15には破壊的変更が1つあります。画像入力のフィールド名が `url` から `image_url` に変わったため、画像を送る実装はSDK更新時に修正が必要です。スマートな発話区切り検出とWebRTC接続は、2026-07-15の時点でもプレビューのままです。

1リソースあたりの上限（Standard S0）は、新規接続が毎分30、1セッションの接続時間が60分以内、トークンが毎分12万以内です。公式FAQ（2026年3月31日更新）には毎分10万トークンと書かれていますが、2026年9月9日更新の上限ページは12万です。設計では新しい上限ページの値を使ってください。60分を超える通話を扱う場合は、会話履歴を引き継いで再接続する処理が必要です。

## 電話・エージェント・アバターとの連携

### Azure Communication Servicesによる電話連携

電話への接続は、Azure Communication Services（ACS）のCall Automation APIが担います。ACSで取得した電話番号のほか、SIPのDirect Routingで既存の通信事業者やPBXをつなぐこともできます。

ACS以外では、Twilio Media Streams、Infobip Calls、Genesys AudioHook、Sinch Voice、Bandwidth Voiceの音声コネクタ経由での接続が公式に案内されています。コールセンター向けの構成は、GitHubの「Call Center Voice Agent Accelerator」テンプレートがひな形になります。

### Foundry Agent ServiceとMCPの接続

Foundry Agent Serviceで作ったエージェントには、`model` の代わりに `agent-name` と `agent-project-name` を指定して接続します。この連携は2026年4月（APIバージョン2026-04-10）でGAになりました。旧Agent Service（classic）で `agent-id` を渡していた実装は、新しいAgent Serviceへの移行が推奨されています。

MCPサーバーはモデル直結の構成で使えますが、Phiモデルは対象外です。エージェント経由では新しいFoundryエージェントだけが対応し、classicのエージェントでは使えません。

### アバター出力の種類

アバターは、音声出力と同期した映像をWebRTCで受け取る仕組みです。Microsoftが用意する標準アバター、動画から作るカスタムアバター、1枚の写真から話す映像を生成する写真アバター（ベースモデルは `vasa-1`、推奨解像度512×512）の3種類があります。口の動きを自前の3Dモデルで再現したい場合は、アバター映像の代わりに口形素（viseme）のIDだけを受け取ることもできます。

## Voice Live APIを選ばないほうがよい場面

次の条件に当てはまる場合は、モデルの提供地域や接続時間の制約を確認し、別の構成と比較してください。

- 日本国内での処理が要件で、モデルが直接音声を扱う構成にしたい：東日本・西日本にgpt-realtime系とazure-realtimeがなく、日本のリージョンにData zone版もありません。国内処理を優先すると、gpt-4o（Standard）かプレビュー版の phi4-mm-realtime（Regional）に選択肢が絞られます。
- Gemini系のモデルで音声エージェントを作りたい：Voice Liveに事前デプロイされているのはOpenAI系・Phi・azure-realtimeです。Googleのモデルを使うなら、Gemini Live APIを直接使うほうが素直です。
- 既にAzure OpenAIのgpt-realtimeで要件を満たしている：Azureの音声、アバター、電話連携、Foundryエージェントのどれも使わないなら、Voice Liveを挟む利点は小さくなります。イベントは互換なので、必要になった時点で移行できます。
- 1回の通話が60分を超えるのが前提：接続は60分で切れるため、再接続と履歴の引き継ぎを作り込む必要があります。

## よくある質問

### Voice Live APIは日本語に対応していますか？

対応しています。音声入力の自動多言語モデル、発話区切り検出の `azure_semantic_vad_multilingual`、音声出力の ja-JP-NanamiNeural などがいずれも日本語を扱えます。発話区切り検出の `azure_semantic_vad` は主に英語向けなので、日本語では multilingual 版を指定してください。

### Voice Live APIの料金はどのくらいかかりますか？

モデルによってPro・Basic・Liteの区分が決まり、トークン単位で課金されます。利用者とエージェントが1分ずつ話す場合の音声トークン分は、gpt-realtimeで約0.096ドル、gpt-realtime-miniで約0.033ドルです。テキストトークンやキャッシュ入力、カスタム音声・アバターの費用は別にかかります。

### Azure OpenAI Realtime APIとはどちらを使うべきですか？

Azureの600超の音声やカスタム音声、アバター、ACSでの電話連携、Foundry Agent Serviceとの接続のいずれかが必要ならVoice Live APIです。gpt-realtimeの内蔵音声だけで足りる場合は、Realtime APIを直接使っても構いません。

### 東日本リージョンでgpt-realtimeは使えますか？

2026年9月9日更新のリージョン対応表では、Japan EastとJapan Westのどちらにもgpt-realtime系とazure-realtimeはありません。東日本ではGPT-4o系・GPT-4.1系・GPT-5系のテキストモデルとphi4-mm-realtimeが使えます。

### 1回の接続は何分まで続けられますか？

Standard（S0）では1セッションの接続時間は60分以内です。あわせて、1リソースあたり新規接続は毎分30、トークンは毎分12万が上限です。新規接続数の上限は引き上げを申請でき、引き上げるとトークンの上限も連動して上がります。

## 関連記事

- [リアルタイムAPI（Realtime API）とは？接続方式と実装手順【2026年8月版】](/tech/details/4076/)
- [GPT-Realtime-2とは｜OpenAI音声3モデルの仕様・料金とgpt-realtime-2.1の違い](/tech/details/12032/)
- [Azure AI Speechの料金を徹底解説｜無料枠・従量課金(S0)・コスト最適化【2026年最新】](/tech/details/5335/)
- [Azure AI Foundryとは？Azure OpenAIとの違い・使えるモデル・料金（現Microsoft Foundry）](/tech/details/7168/)
- [文字起こしAPIの比較と選び方｜主要7サービスの料金・日本語対応・使い方【2026年最新】](/tech/details/2981/)

---

出典: [Voice Live APIとは？料金・日本語対応・Pythonでの使い方【2026年9月版】](<https://www.issoh.co.jp/tech/details/7170/>)（株式会社一創）
