本文介紹Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR非即時語音辨識HTTP API的參數和介面細節。
流程說明
與DashScope同步調用(一次請求、立即返回結果)不同,非同步呼叫專為處理長音頻檔案或耗時較長的任務設計,該模式採用“提交-輪詢”的兩步式流程,避免了因長時間等待而導致的請求逾時:
-
第一步:提交任務
- 用戶端發起一個非同步處理請求。
- 伺服器驗證請求後,不會立即執行任務,而是返回一個唯一的
task_id,表示任務已成功建立。
-
第二步:擷取結果
- 用戶端使用擷取到的
task_id,通過輪詢方式反覆調用結果查詢介面。 - 當任務處理完成後,結果查詢介面將返回最終的識別結果。
- 用戶端使用擷取到的
介面地址
- 新加坡
- 華北2(北京)
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。要求標頭
參數 | 類型 | 是否必選 | 說明 |
|---|---|---|---|
Authorization | string | 是 | 鑒權令牌,格式為 |
Content-Type | string | 是 | 請求參數的媒體類型。僅提交任務介面需要傳入,固定為 |
X-DashScope-Async | string | 是 | 非同步任務標識。僅提交任務介面需要傳入,固定為 |
提交任務介面
提交語音辨識任務。該介面非同步返回,業務側需結合查詢任務介面輪詢任務狀態。
請求參數modelstring(必選)指定模型名。支援Qwen-Audio-3.0-ASR-Flash-Filetrans和Fun-ASR系列模型,詳情請參見支援的模型與地區。inputobject(必選)輸入參數對象。
屬性 file_urls array[string](必選)音視頻檔案轉寫的URL列表,支援HTTP / HTTPS協議,單次請求僅支援1個URL。關於支援的音頻格式、檔案大小限制、時間長度限制等輸入要求,請參見音頻規格。若錄音檔案儲存體在阿里雲OSS,使用RESTful API方式支援使用以oss://為首碼的臨時 URL,使用SDK方式不支援使用以 oss://為首碼的臨時 URL。contextarray(object)(可選)訊息列表。包含可選的對話上下文(用於提升識別效果)。
屬性 role string(必選)訊息角色。取值範圍:
array(object)(必選)訊息內容列表。
屬性 type string(必選)內容類型。取值範圍:
string(條件必選)當type為input_text時,填入前幾輪使用者語音的識別結果或領域相關的詞表;當type為text時,填入前幾輪大語言模型的回複內容。文本按字元數計算,每個字元計為 1。每輪上下文中所有訊息的 text 欄位長度之和不超過 400 個字元,超出部分從末尾截斷。object(可選)請求參數對象。
屬性 vocabulary_id string(可選)先行編譯熱詞列表 ID。需預先調用建立熱詞列表介面產生,識別時傳入該 ID 即可使用列表中的熱詞。適用於詞彙已知且相對穩定、需要跨請求複用同一詞表的情境。使用方法請參見先行編譯熱詞。vocabulary object(可選)即時熱詞。以索引值對形式傳入,鍵為熱詞文本(string),值為熱詞權重(integer),無需預先建立熱詞列表。權重取值範圍為 [1, 5] 或 50:取 [1, 5] 時值越大模型越傾向輸出該詞;取 50 時為超級熱詞,召回率大幅提升,但超級熱詞數量最多不超過 50 個。適用於臨時性、會話層級的熱詞最佳化。與先行編譯熱詞同時配置時,僅即時熱詞生效。使用方法請參見即時熱詞。channel_id array[integer](可選)指定在多音軌音頻檔案中需要識別的音軌索引,索引從 0 開始。例如,[0] 表示識別第一個音軌,[0, 1] 表示同時識別第一和第二個音軌。如果省略此參數,則預設處理第一個音軌。預設值:[0]。special_word_filter string(可選)指定在語音辨識過程中需要處理的敏感詞,並支援對不同敏感詞設定不同的處理方式。詳情請參見敏感詞過濾。diarization_enabled boolean(可選)是否啟用說話人分離,預設關閉。僅適用於單聲道音頻,多頻道音訊不支援說話人分離。啟用該功能後,識別結果中將顯示speaker_id欄位,用於區分不同說話人。如果啟用說話人分離功能,建議音頻時間長度不超過2小時,否則可能導致識別失敗或逾時。 speaker_id的樣本,請參見識別結果說明。預設值:false。speaker_count integer(可選)說話人數量參考值。取值範圍為2至100的整數(包含2和100)。預設自動判斷說話人數量,如果配置此項,只能輔助演算法盡量輸出指定人數,無法保證一定會輸出此人數。無預設值。language_hints array[string](可選)設定待識別語言代碼。如果無法提前確定語種,可不設定,模型會自動識別語種。對於 Qwen-Audio-3.0-ASR-Flash-Filetrans 系列模型,最多支援設定 4 個值,即便設定超出 4 個,也僅前 4 個生效;對於 Fun-ASR 系列模型,僅支援設定 1 個值,即便設定多個,也僅第一個生效。
點擊查看支援的語言代碼
|
以下為新加坡地區的配置,調用時請將"{WorkspaceId}"替換為真實的業務空間ID,各地區的配置不同。新加坡地區和北京地區的API Key不同。 |
響應參數request_idstring本次調用的唯一識別碼。outputobject提交任務返回的資料。 |
查詢任務介面
查詢語音辨識任務的執行情況和結果。建議輪詢調用直至任務終態。
請求參數task_idstring(必選)查詢任務需指定其ID,該ID為提交任務介面被調用後返回的task_id。 | 以下為新加坡地區的配置,調用時請將"{WorkspaceId}"替換為真實的業務空間ID,各地區的配置不同。新加坡地區和北京地區的API Key不同。 |
響應參數request_idstring本次調用的唯一識別碼。outputobject查詢任務返回的資料。
屬性 task_id string被查詢任務的ID。task_statusstring被查詢任務的狀態。當任務包含多個子任務時,只要存在任一子任務成功,整個任務狀態將標記為 SUCCEEDED,需通過subtask_status欄位判斷具體子任務結果。string任務提交時間。scheduled_timestring任務被調度執行的時間。end_timestring任務結束時間。resultsarray[object]每個待識別音頻檔案對應的子任務結果清單。
屬性 subtask_status string子任務狀態。file_urlstring檔案轉寫任務中所處理的檔案URL。transcription_urlstring擷取識別結果對應的連結。該連結有效期間為24小時,逾時後無法查詢任務或通過先前查詢結果中的URL下載結果。識別結果儲存為JSON檔案,您可以通過上述連結下載該檔案或直接通過HTTP請求讀取該檔案中的內容。JSON資料中各欄位含義請參見識別結果說明。codestring子任務失敗的錯誤碼。messagestring子任務失敗的錯誤資訊。object任務整體執行情況統計。
屬性 TOTAL integer子任務總數。SUCCEEDEDinteger成功的子任務數。FAILEDinteger失敗的子任務數。 |
其他介面:批量查詢任務狀態/取消任務
詳情請參見管理非同步任務:支援批量查詢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 | 預測出的詞之後的標點符號(如有)。 |