本文介紹Fun-ASR錄音檔案識別HTTP API的參數和介面細節。
DashScope非同步呼叫(Fun-ASR)
流程說明
與DashScope同步調用(一次請求、立即返回結果)不同,非同步呼叫專為處理長音頻檔案或耗時較長的任務設計,該模式採用“提交-輪詢”的兩步式流程,避免了因長時間等待而導致的請求逾時:
-
第一步:提交任務
-
用戶端發起一個非同步處理請求。
-
伺服器驗證請求後,不會立即執行任務,而是返回一個唯一的
task_id,表示任務已成功建立。
-
-
第二步:擷取結果
-
用戶端使用擷取到的
task_id,通過輪詢方式反覆調用結果查詢介面。 -
當任務處理完成後,結果查詢介面將返回最終的識別結果。
-
服務端點
新加坡
提交任務介面:POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription
查詢任務介面:GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
調用時請將{WorkspaceId}替換為真實的Workspace ID。
華北2(北京)
提交任務介面:POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/audio/asr/transcription
查詢任務介面:GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}
調用時請將{WorkspaceId}替換為真實的Workspace ID。
阿里雲百鍊為華北2(北京)、新加坡地區推出了業務空間專屬網域名稱,能夠為推理請求提供卓越的效能和更高的穩定性,建議遷移至新網域名稱:
華北2(北京)地區:從
dashscope.aliyuncs.com遷移至{WorkspaceId}.cn-beijing.maas.aliyuncs.com新加坡地區:從
dashscope-intl.aliyuncs.com遷移至{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
{WorkspaceId}需要替換為真實的Workspace ID。現有網域名稱仍可正常使用。
使用新版網域名稱(https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com)提交任務時,請求體中必須包含parameters對象。即使無需設定任何參數,也必須傳入Null 物件{},否則任務可正常提交,但識別將失敗。
要求標頭
|
參數 |
類型 |
是否必選 |
說明 |
|
Authorization |
string |
是 |
鑒權令牌,格式為 |
|
Content-Type |
string |
是 |
請求體的媒體類型。僅提交任務介面需要傳入,固定為 |
|
X-DashScope-Async |
string |
是 |
非同步任務標識。僅提交任務介面需要傳入,固定為 |
提交任務介面
提交語音辨識任務。該介面非同步返回,業務側需結合查詢任務介面輪詢任務狀態。
請求體 |
以下為新加坡地區的配置,調用時請將"{WorkspaceId}"替換為真實的業務空間ID,各地區的配置不同。新加坡地區和北京地區的API Key不同。
|
|
model 指定用於音視頻檔案轉寫的模型名。 取值範圍:
|
|
|
input 輸入參數對象。 |
|
|
parameters 請求參數對象。 重要
使用新版網域名稱( |
返回體 |
|
|
request_id 本次調用的唯一識別碼。 |
|
|
output 提交任務返回的資料。 |
查詢任務介面
查詢語音辨識任務的執行情況和結果。建議輪詢調用直至任務終態。
請求體 |
以下為新加坡地區的配置,調用時請將"{WorkspaceId}"替換為真實的業務空間ID,各地區的配置不同。新加坡地區和北京地區的API Key不同。
|
|
task_id 重要
該參數為URL路徑參數,無請求體。 查詢任務需指定其ID,該ID為提交任務介面被調用後返回的 |
|
返回體 |
正常樣本
異常樣本
|
|
request_id 本次調用的唯一識別碼。 |
|
|
output 查詢任務返回的資料。 |
其他介面:批量查詢任務狀態/取消任務
詳情請參見管理非同步任務:支援批量查詢24小時內提交的錄音檔案識別任務,同時支援取消PENDING(排隊)狀態的任務。
識別結果說明
識別結果儲存為JSON檔案。
需要關注的參數如下:
|
參數 |
類型 |
說明 |
|
audio_format |
string |
源檔案中音訊格式。 |
|
channels |
array[integer] |
源檔案中音訊音軌索引資訊,對單軌音頻返回[0],對雙軌音頻返回[0, 1],以此類推。 |
|
original_sampling_rate |
integer |
源檔案中音訊採樣率(Hz)。 |
|
original_duration_in_milliseconds |
integer |
源檔案中的原始音頻時間長度(ms)。 |
|
channel_id |
integer |
轉寫結果的音軌索引,以0為起始。 |
|
content_duration |
integer |
音軌中被判定為語音內容的時間長度(ms)。 重要
語音辨識模型服務僅對音軌中被判定為語音內容的時間長度進行語音轉寫,並據此進行計量計費,非語音內容不計量、不計費。通常情況下語音內容時間長度會短於原始音頻時間長度。由於對是否存在語音內容的判定是由AI模型給出的,可能與實際情況存在一定誤差。 |
|
transcript |
string |
段落層級的語音轉寫結果。 |
|
sentences |
array |
句子層級的語音轉寫結果。 |
|
words |
array |
詞層級的語音轉寫結果。 |
|
begin_time |
integer |
開始時間戳(ms)。 |
|
end_time |
integer |
結束時間戳記(ms)。 |
|
text |
string |
語音轉寫結果。 |
|
speaker_id |
integer |
當前說話人的索引,以0為起始,用於區分不同的說話人。 僅在啟用說話人分離功能時,該欄位才會顯示於識別結果中。 |
|
punctuation |
string |
預測出的詞之後的標點符號(如有)。 |
DashScope同步調用(Fun-ASR-Flash)
該功能不支援SDK調用。
服務端點
新加坡
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
調用時請將{WorkspaceId}替換為真實的Workspace ID。
華北2(北京)
POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
調用時請將{WorkspaceId}替換為真實的Workspace ID。
阿里雲百鍊為華北2(北京)、新加坡地區推出了業務空間專屬網域名稱,能夠為推理請求提供卓越的效能和更高的穩定性,建議遷移至新網域名稱:
華北2(北京)地區:從
dashscope.aliyuncs.com遷移至{WorkspaceId}.cn-beijing.maas.aliyuncs.com新加坡地區:從
dashscope-intl.aliyuncs.com遷移至{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
{WorkspaceId}需要替換為真實的Workspace ID。現有網域名稱仍可正常使用。
要求標頭
|
參數 |
類型 |
是否必選 |
說明 |
|
Authorization |
string |
是 |
鑒權令牌,格式為 |
|
Content-Type |
string |
是 |
請求體的媒體類型,固定為 |
|
X-DashScope-SSE |
string |
是 |
用於控制是否以SSE流式方式返回結果。設定為 |
請求體 |
以下為新加坡地區的配置,調用時請將"{WorkspaceId}"替換為真實的業務空間ID,各地區的配置不同。新加坡地區和北京地區的API Key不同。 非流式
流式
攜帶上下文-非流式
攜帶上下文-流式
Base64可輸入Base64編碼資料(Data URL),格式為:
|
|
model 模型名稱,固定為 |
|
|
input 輸入資訊。 |
|
|
parameters 模型參數。 |
返回體 |
非流式
流式設定
返回樣本:
|
|
request_id 本次請求的唯一標識。 |
|
|
output 輸出結果。 |
|
|
usage 用量資訊。僅在 |
SSE 流式結果處理邏輯
在流式模式下,用戶端需關注以下處理要點:
-
每收到一個SSE事件,解析
data欄位中的JSON。 -
通過
output.sentence.sentence_end判斷當前句子是否結束:當該值為true時,該句識別完成,詞級時間戳記已穩定,可作為最終結果使用;當該值為false時,識別仍在進行中,文本和時間戳記可能在後續事件中更新。 -
usage資訊僅在句子結束事件中返回,可用於計量音頻處理時間長度。