すべてのプロダクト
Search
ドキュメントセンター

Intelligent Speech Interaction:API リファレンス

最終更新日:Jun 17, 2026

録音ファイル認識サービスは、HTTP または HTTPS の URL として送信された音声ファイルを文字起こしします。ポーリングとコールバックの 2 つの取得方法をサポートしており、リアルタイムではなく非同期でファイルを処理します。

サポートされる機能

  • シングルチャネルの WAV および MP3 音声ファイル

  • 2 つの取得方法:ポーリングとコールバック

  • カスタム言語モデルとホットワード語彙

  • 複数の言語:中国語 (北京語)、中国語方言、英語

制限事項

制約詳細
URL フォーマットドメイン名でパブリックにアクセスできる必要があります。IP アドレスとスペースは使用できません。
ファイルサイズ最大 512 MB
処理時間 (無料トライアル)24 時間以内に認識が完了
処理時間 (Commercial Edition)3 時間以内に認識が完了
結果の保持期間72 時間
1 日あたりのクォータ (無料トライアル)1 暦日あたり最大 2 時間の音声

有効な URL の例

https://aliyun-nls.oss-cn-hangzhou.aliyuncs.com/asr/fileASR/examples/nls-sample-16k.wav

無効な URL の例

http://127.0.0.1/sample.wav
D:\files\sample.wav
30 分以内にアップロードされたファイルの合計時間が 500 時間を超える場合、24 時間および 3 時間の処理制限は適用されません。大規模な音声処理については、Alibaba Cloud のプリセールスにお問い合わせください。

仕組み

録音ファイル認識サービスは、Alibaba Cloud POP API (リモートプロシージャコールスタイル) を使用します。クライアントは HTTP 経由でリクエストを送信し、録音ファイルはパブリック URL 経由でアクセスできる必要があります。

利用可能な操作は 2 つあります:

  • 認識タスクの送信 (POST):録音ファイルの URL と設定パラメーターを送信します。サーバーはタスク ID を返します。

  • 認識結果のクエリ (GET):タスク ID を使用して結果をポーリングするか、コールバックメソッドを有効にしている場合はコールバック経由で結果を受け取ります。

クエリオペレーションは、1 秒あたり最大 100 クエリ (QPS) をサポートします。この制限を超えると、サーバーは Throttling.User : Request was denied due to user flow control. を返します。制限内に収まるように、ポーリング間隔を設定してください。

取得方法の選択

メソッド仕組み使用場面
ポーリングタスクを送信し、タスク ID を使用して定期的に結果をクエリします。デフォルト。すべての環境で動作します。
コールバックコールバック URL を指定してタスクを送信します。処理が完了すると、サーバーはその URL に結果を POST します。パブリックに到達可能な HTTP または HTTPS エンドポイントを公開できる場合に使用します。

前提条件

認識タスクを送信する前に:

  1. ご利用の音声ファイルのフォーマットとサンプリングレートを確認します。ユースケースに基づいて、Intelligent Speech Interaction コンソールで適切なシナリオとモデルを選択します。

  2. 音声ファイルを Alibaba Cloud Object Storage Service (OSS) またはパブリックにアクセス可能なファイルサーバーに保存します。

    • パブリック OSS ファイル:OSS の URL を直接取得します。詳細については、「パブリック読み取りオブジェクト」をご参照ください。

    • プライベート OSS ファイル:SDK を使用して、有効期間付きの署名付き URL を生成します。詳細については、「プライベートオブジェクト」をご参照ください。

    • カスタムファイルサーバー:HTTP レスポンスヘッダーの Content-Length フィールドが実際のファイルサイズと一致していることを確認してください。一致しない場合、ダウンロードは失敗します。

認識タスクの送信

メソッド:POST

リクエストパラメーターを JSON 文字列としてリクエストボディに設定します。

リクエストボディの例

{
    "appkey": "your-appkey",
    "file_link": "https://aliyun-nls.oss-cn-hangzhou.aliyuncs.com/asr/fileASR/examples/nls-sample-16k.wav",
    "version": "4.0",
    "auto_split": false,
    "enable_words": false,
    "enable_sample_rate_adaptive": true,
    "valid_times": [
        {
            "begin_time": 200,
            "end_time": 2000,
            "channel_id": 0
        }
    ]
}

リクエストパラメーター

パラメーター必須説明
appkeyStringはいIntelligent Speech Interaction コンソールでのプロジェクトの appkey。
file_linkStringはい録音ファイルの URL。プロジェクトのシナリオとモデルが録音ファイルと一致していることを確認してください。
versionStringはいサービスバージョン。デフォルト値:2.0。新規統合の場合は 4.0 に設定します。
enable_wordsBooleanいいえ単語レベルの認識結果を返すかどうかを指定します。デフォルト値:falseversion: 4.0 が必要です。
enable_sample_rate_adaptiveBooleanいいえ16,000 Hz を超えるサンプリングレートの音声を自動的にダウンサンプリングするかどうかを指定します。デフォルト値:falseversion: 4.0 が必要です。
enable_callbackBooleanいいえコールバックメソッドを使用するかどうかを指定します。デフォルト値:false
callback_urlStringいいえコールバック URL。enable_callbacktrue の場合に必須です。ドメイン名を持つ HTTP または HTTPS URL である必要があります (IP アドレスは不可)。
auto_splitBooleanいいえ自動トラック分割を有効にするかどうかを指定します。有効にすると、サーバーは ChannelId フィールドを使用して各文の話者を識別します。8,000 Hz のモノラル音声のみをサポートします。enable_unify_posttrue の場合、true に設定することはできません。
enable_unify_postBooleanいいえ後処理を有効にするかどうかを指定します。デフォルト値:falseauto_splittrue の場合、true に設定することはできません。
enable_inverse_text_normalizationBooleanいいえ逆テキスト正規化 (ITN) を有効にするかどうかを指定します。これは漢数字をアラビア数字に変換します。デフォルト値:falseversion: 4.0 および enable_unify_post: true が必要です。ITN は単語レベルの結果には適用されません。
enable_disfluencyBooleanいいえ非流暢性検出を有効にするかどうかを指定します。デフォルト値:falseversion: 4.0 および enable_unify_post: true が必要です。
valid_timesList\<ValidTime\>いいえ音声認識が必要なオーディオトラック内の時間範囲。
max_end_silenceIntegerいいえ文末の無音持続時間の最大値。デフォルト値:450。単位:ミリ秒。
max_single_segment_timeIntegerいいえ1 つの文の最大持続時間。最小値:10000。デフォルト値:20000。単位:ミリ秒。
customization_idStringいいえPOP API 経由で作成されたカスタム言語モデルの ID。
class_vocabulary_idStringいいえ分類済みホットワード語彙の ID。
vocabulary_idStringいいえ拡張ホットワード語彙の ID。

ValidTime オブジェクト

パラメーター必須説明
begin_timeIntはい時間範囲の開始時刻オフセット。単位:ミリ秒。
end_timeIntはい時間範囲の終了時刻オフセット。単位:ミリ秒。
channel_idIntはい時間範囲が適用されるオーディオトラック。値は 0 から始まります。

レスポンスパラメーター

HTTP 200 ステータスコードは、リクエストが受け入れられたことを示します。

パラメーター説明
TaskIdStringタスク ID。これを使用して認識結果をクエリします。
RequestIdStringリクエスト ID。デバッグ用です。
StatusCodeIntステータスコード。
StatusTextStringステータスメッセージ。

レスポンスの例

{
    "TaskId": "4b56f0c4b7e611e88f34c33c2a60****",
    "RequestId": "E4B183CC-6CFE-411E-A547-D877F7BD****",
    "StatusText": "SUCCESS",
    "StatusCode": 21050000
}

認識結果のクエリ

メソッド:GET

POST オペレーションで返されたタスク ID をリクエストパラメーターとして渡します。100 QPS の制限内に収まるように、適切な間隔でポーリングしてください。

リクエストパラメーター

パラメーター必須説明
TaskIdStringはい送信オペレーションによって返されたタスク ID。

レスポンスパラメーター

HTTP 200 ステータスコードは、クエリリクエストが受信されたことを示します。

パラメーター説明
TaskIdStringタスク ID。
StatusCodeIntステータスコード。
StatusTextStringステータスメッセージ。
RequestIdStringリクエスト ID。デバッグ用です。
ResultObject認識結果。StatusTextSUCCESS の場合にのみ存在します。
SentencesList\<SentenceResult\>文レベルの認識結果。StatusTextSUCCESS の場合にのみ存在します。
WordsList\<WordResult\>単語レベルの認識結果。enable_wordstrue で、version4.0 の場合にのみ存在します。
BizDurationLong認識された音声の合計持続時間。単位:ミリ秒。
SolveTimeLong認識タスクが完了したときのタイムスタンプ。単位:ミリ秒。

SentenceResult オブジェクト

パラメーター説明
ChannelIdInt文が属するオーディオトラック。
BeginTimeInt文の開始時刻オフセット。単位:ミリ秒。
EndTimeInt文の終了時刻オフセット。単位:ミリ秒。
TextString文の認識されたテキスト。
EmotionValueInt感情の強度。音量デシベルを 10 で割って計算されます。有効な値:1~10。値が大きいほど感情が強いことを示します。
SilenceDurationIntこの文と前の文の間の無音持続時間。単位:秒。
SpeechRateInt文の平均発話速度。単位:1 分あたりの単語数。

WordResult オブジェクト

パラメーター説明
ChannelIdInt単語が属するオーディオトラック。
BeginTimeInt単語の開始時刻。単位:ミリ秒。
EndTimeInt単語の終了時刻。単位:ミリ秒。
WordString認識された単語。

レスポンスの例

タスクが正常に完了 (シングルチャネルファイル nls-sample-16k.wav)

{
    "TaskId": "d429dd7dd75711e89305ab6170fe****",
    "RequestId": "9240D669-6485-4DCC-896A-F8B31F94****",
    "StatusText": "SUCCESS",
    "BizDuration": 2956,
    "SolveTime": 1540363288472,
    "StatusCode": 21050000,
    "Result": {
        "Sentences": [{
            "EndTime": 2365,
            "SilenceDuration": 0,
            "BeginTime": 340,
            "Text": "北京の天気",
            "ChannelId": 0,
            "SpeechRate": 177,
            "EmotionValue": 5.0
        }]
    }
}

コールバック応答 (バージョン 4.0、enable_callback: true)

コールバック応答のフォーマットは、ポーリング応答のフォーマットと一致します。

{
    "Result": {
        "Sentences": [{
            "EndTime": 2365,
            "SilenceDuration": 0,
            "BeginTime": 340,
            "Text": "北京の天気",
            "ChannelId": 0,
            "SpeechRate": 177,
            "EmotionValue": 5.0
        }]
    },
    "TaskId": "36d01b244ad811e9952db7bb7ed2****",
    "StatusCode": 21050000,
    "StatusText": "SUCCESS",
    "RequestTime": 1553062810452,
    "SolveTime": 1553062810831,
    "BizDuration": 2956
}
RequestTime は、認識リクエストが送信されたときのタイムスタンプ (ミリ秒単位) です。たとえば、値 1553062810452 は、2019 年 3 月 20 日 14:20:10 (UTC+8) を示します。SolveTime は、タスクが完了したときのタイムスタンプ (ミリ秒単位) です。

タスクのキューイング

{
    "TaskId": "c7274235b7e611e88f34c33c2a60****",
    "RequestId": "981AD922-0655-46B0-8C6A-5C836822****",
    "StatusText": "QUEUEING",
    "StatusCode": 21050002
}

タスク実行中

{
    "TaskId": "c7274235b7e611e88f34c33c2a60****",
    "RequestId": "8E908ED2-867F-457E-82BF-4756194A****",
    "StatusText": "RUNNING",
    "BizDuration": 0,
    "StatusCode": 21050001
}

ファイルのダウンロードに失敗しました

{
    "TaskId": "4cf25b7eb7e711e88f34c33c2a60****",
    "RequestId": "098BF27C-4CBA-45FF-BD11-3F532F26****",
    "StatusText": "FILE_DOWNLOAD_FAILED",
    "BizDuration": 0,
    "SolveTime": 1536906469146,
    "StatusCode": 41050002
}

単語レベルの結果enable_words: trueversion: 4.0

単語レベルの結果は、文レベルの結果とともに含まれます。ポーリングおよびコールバック応答では、同じフォーマットが使用されます。

{
    "StatusCode": 21050000,
    "Result": {
        "Sentences": [{
            "SilenceDuration": 0,
            "EmotionValue": 5.0,
            "ChannelId": 0,
            "Text": "北京の天気",
            "BeginTime": 340,
            "EndTime": 2365,
            "SpeechRate": 177
        }],
        "Words": [{
            "ChannelId": 0,
            "Word": "Weather",
            "BeginTime": 640,
            "EndTime": 940
        }, {
            "ChannelId": 0,
            "Word": "in",
            "BeginTime": 940,
            "EndTime": 1120
        }, {
            "ChannelId": 0,
            "Word": "Beijing",
            "BeginTime": 1120,
            "EndTime": 2020
        }]
    },
    "SolveTime": 1553236968873,
    "StatusText": "SUCCESS",
    "RequestId": "027B126B-4AC8-4C98-9FEC-A031158F****",
    "TaskId": "b505e78c4c6d11e9a213e11db149****",
    "BizDuration": 2956
}

サービスステータスコード

通常のステータスコード

ステータスコードステータスメッセージ説明アクション
21050000SUCCESSタスクは正常に完了しました。不要です。
21050001RUNNINGタスクは実行中です。後でもう一度クエリを実行してください。
21050002QUEUEINGタスクはキューイング中です。後でもう一度クエリを実行してください。
21050003SUCCESS_WITH_NO_VALID_FRAGMENTタスクは成功しましたが、音声データは検出されませんでした。音声に発話が含まれているか、または発話の持続時間が短すぎないかを確認してください。

エラーコード

4 で始まるステータスコードはクライアントエラーです。5 で始まるステータスコードはサーバーエラーです。

ステータスコードステータスメッセージ説明ソリューション
41050001USER_BIZDURATION_QUOTA_EXCEED1 日あたりの音声クォータを超えました。クォータの引き上げをリクエストするには、nls_support@service.aliyun.com にメールでご連絡ください。
41050002FILE_DOWNLOAD_FAILED音声ファイルのダウンロードに失敗しました。URL が正しく、パブリックにアクセス可能であることを確認してください。
41050003FILE_CHECK_FAILED音声ファイルのフォーマットが無効です。録音ファイルが WAV または MP3 フォーマットのシングルチャネルまたはデュアルチャネルファイルであるかを確認してください。
41050004FILE_TOO_LARGE音声ファイルがサイズ制限を超えています。ファイルが 512 MB 以下であることを確認してください。
41050005FILE_NORMALIZE_FAILED音声の正規化に失敗しました。ファイルが破損しておらず、再生可能であることを確認してください。
41050006FILE_PARSE_FAILED音声の解析に失敗しました。ファイルが破損しておらず、再生可能であることを確認してください。
41050007MKV_PARSE_FAILEDMKV の解析に失敗しました。ファイルが破損しておらず、再生可能であることを確認してください。
41050008UNSUPPORTED_SAMPLE_RATE音声サンプリングレートがサポートされていません。ファイルのサンプリングレートが、Intelligent Speech Interaction コンソールで appkey にバインドされている自動音声認識 (ASR) モデルと一致していることを確認してください。
41050009UNSUPPORTED_ASR_GROUPASR グループがサポートされていません。appkey が AccessKey ペアと同じ Alibaba Cloud アカウントに属していることを確認してください。
41050010FILE_TRANS_TASK_EXPIRED認識タスクの有効期限が切れています。タスク ID が有効で、期限切れでないことを確認してください。
41050011REQUEST_INVALID_FILE_URL_VALUEfile_link パラメーターが無効です。file_link のフォーマットを確認してください。
41050012REQUEST_INVALID_CALLBACK_VALUEcallback_url パラメーターが無効です。callback_url のフォーマットを確認してください。
41050013REQUEST_PARAMETER_INVALIDリクエストパラメーターが無効です。リクエストボディが有効な JSON 文字列であることを確認してください。
41050014REQUEST_EMPTY_APPKEY_VALUEappkey パラメーターがありません。リクエストに appkey パラメーターを追加してください。
41050015REQUEST_APPKEY_UNREGISTEREDappkey パラメーターが無効です。appkey が有効で、AccessKey ID と同じ Alibaba Cloud アカウントに属していることを確認してください。
41050021RAM_CHECK_FAILEDRAM ユーザーの認証に失敗しました。RAM ユーザーが Intelligent Speech Interaction API を呼び出す権限を持っていることを確認してください。
41050023CONTENT_LENGTH_CHECK_FAILEDContent-Length ヘッダーが無効です。HTTP レスポンスヘッダーの Content-Length の値が実際のファイルサイズと一致していることを確認してください。
41050024FILE_404_NOT_FOUND指定された URL に音声ファイルが存在しません。ファイルが URL に存在することを確認してください。
41050025FILE_403_FORBIDDEN音声ファイルへのアクセスが拒否されました。ファイルがパブリックにアクセス可能であることを確認してください。
41050026FILE_SERVER_ERRORファイルサーバーエラーが発生しました。ファイルサーバーが正常に動作していることを確認してください。
51050000INTERNAL_ERROR内部エラーが発生しました。断続的な場合は無視してください。エラーが再発する場合は、チケットを起票してください。
51050001VAD_FAILED音声アクティビティ検出 (VAD) に失敗しました。断続的な場合は無視してください。エラーが再発する場合は、チケットを起票してください。
51050002RECOGNIZE_FAILEDASR に失敗しました。断続的な場合は無視してください。エラーが再発する場合は、チケットを起票してください。
51050003RECOGNIZE_INTERRUPTASR が中断されました。断続的な場合は無視してください。エラーが再発する場合は、チケットを起票してください。
51050004OFFER_INTERRUPTタスクをキューに書き込めませんでした。断続的な場合は無視してください。エラーが再発する場合は、チケットを起票してください。
51050005FILE_TRANS_TIMEOUTタスクがタイムアウトしました。断続的な場合は無視してください。エラーが再発する場合は、チケットを起票してください。
51050006FRAGMENT_FAILEDマルチチャネル音声からモノラルへの変換に失敗しました。断続的な場合は無視してください。エラーが再発する場合は、チケットを起票してください。

バージョン情報

録音ファイル認識サービスは、既存の統合ではデフォルトでバージョン 2.0 になります。バージョンを 4.0 に設定せずに録音ファイル認識サービスを有効にした場合、そのバージョンはデフォルトで 2.0 になります。このバージョンを引き続き使用できます。新規ユーザーの場合は、version4.0 に設定してください。

主な違い:バージョン 2.0 では、コールバック応答はポーリング応答とは異なるスネークケースの JSON フォーマットを使用します。バージョン 4.0 では、両方とも同じキャメルケースのフォーマットを使用します。

バージョン 2.0 のコールバック応答の例

{
    "result": [{
        "begin_time": 340,
        "channel_id": 0,
        "emotion_value": 5.0,
        "end_time": 2365,
        "silence_duration": 0,
        "speech_rate": 177,
        "text": "北京の天気"
    }],
    "task_id": "3f5d4c0c399511e98dc025f34473****",
    "status_code": 21050000,
    "status_text": "SUCCESS",
    "request_time": 1551164878830,
    "solve_time": 1551164879230,
    "biz_duration": 2956
}