全部產品
Search
文件中心

Alibaba Cloud Model Studio:錄音檔案識別(Qwen-ASR)API參考

更新時間:Feb 10, 2026

本文介紹 Qwen-ASR 模型的輸入與輸出參數。可通過OpenAI 相容或DashScope協議調用 API。

使用者指南:模型介紹和選型請參見錄音檔案識別-千問

模型接入方式

不同模型支援的接入方式不同,請根據下表選擇正確的方式進行整合。

模型

接入方式

千問3-ASR-Flash-Filetrans

僅支援DashScope非同步呼叫方式

千問3-ASR-Flash

OpenAI 相容DashScope同步調用兩種方式

OpenAI 相容

重要

美國地區不支援OpenAI相容模式。

URL

國際

國際部署模式下,存取點與資料存放區均位於新加坡地區,模型推理計算資源在全球範圍內動態調度(不含中國內地)。

HTTP請求地址:POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions

SDK調用配置的base_url:https://dashscope-intl.aliyuncs.com/compatible-mode/v1

中國內地

中國內地部署模式下,存取點與資料存放區均位於北京地區,模型推理計算資源僅限於中國內地。

HTTP請求地址:POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions

SDK調用配置的base_url:https://dashscope.aliyuncs.com/compatible-mode/v1

請求體

輸入內容:音頻檔案URL

Python SDK

from openai import OpenAI
import os

try:
    client = OpenAI(
        # 新加坡/美國地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key = "sk-xxx",
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        # 以下為新加坡/美國地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/compatible-mode/v1
        base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
    )
    

    stream_enabled = False  # 是否開啟流式輸出
    completion = client.chat.completions.create(
        model="qwen3-asr-flash",
        messages=[
            {
                "content": [
                    {
                        "type": "input_audio",
                        "input_audio": {
                            "data": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"
                        }
                    }
                ],
                "role": "user"
            }
        ],
        stream=stream_enabled,
        # stream設為False時,不能設定stream_options參數
        # stream_options={"include_usage": True},
        extra_body={
            "asr_options": {
                # "language": "zh",
                "enable_itn": False
            }
        }
    )
    if stream_enabled:
        full_content = ""
        print("流式輸出內容為:")
        for chunk in completion:
            # 如果stream_options.include_usage為True,則最後一個chunk的choices欄位為空白列表,需要跳過(可以通過chunk.usage擷取 Token 使用量)
            print(chunk)
            if chunk.choices and chunk.choices[0].delta.content:
                full_content += chunk.choices[0].delta.content
        print(f"完整內容為:{full_content}")
    else:
        print(f"非流式輸出內容為:{completion.choices[0].message.content}")
except Exception as e:
    print(f"錯誤資訊:{e}")

Node.js SDK

// 運行前的準備工作:
// Windows/Mac/Linux 通用:
// 1. 確保已安裝 Node.js (建議版本 >= 14)
// 2. 運行以下命令安裝必要的依賴: npm install openai

import OpenAI from "openai";

const client = new OpenAI({
  // 新加坡/美國地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
  // 若沒有配置環境變數,請用百鍊API Key將下行替換為:apiKey: "sk-xxx",
  apiKey: process.env.DASHSCOPE_API_KEY,
  // 以下為新加坡/美國地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/compatible-mode/v1
  baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1", 
});

async function main() {
  try {
    const streamEnabled = false; // 是否開啟流式輸出
    const completion = await client.chat.completions.create({
      model: "qwen3-asr-flash",
      messages: [
        {
          role: "user",
          content: [
            {
              type: "input_audio",
              input_audio: {
                data: "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"
              }
            }
          ]
        }
      ],
      stream: streamEnabled,
      // stream設為False時,不能設定stream_options參數
      // stream_options: {
      //   "include_usage": true
      // },
      extra_body: {
        asr_options: {
          // language: "zh",
          enable_itn: false
        }
      }
    });

    if (streamEnabled) {
      let fullContent = "";
      console.log("流式輸出內容為:");
      for await (const chunk of completion) {
        console.log(JSON.stringify(chunk));
        if (chunk.choices && chunk.choices.length > 0) {
          const delta = chunk.choices[0].delta;
          if (delta && delta.content) {
            fullContent += delta.content;
          }
        }
      }
      console.log(`完整內容為:${fullContent}`);
    } else {
      console.log(`非流式輸出內容為:${completion.choices[0].message.content}`);
    }
  } catch (err) {
    console.error(`錯誤資訊:${err}`);
  }
}

main();

cURL

通過System Message的text參數,可以配置Context進行定製化識別。

# ======= 重要提示 =======
# 以下為新加坡/美國地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
# 新加坡/美國地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# === 執行時請刪除該注釋 ===

curl -X POST 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3-asr-flash",
    "messages": [
        {
            "content": [
                {
                    "type": "input_audio",
                    "input_audio": {
                        "data": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"
                    }
                }
            ],
            "role": "user"
        }
    ],
    "stream":false,
    "asr_options": {
        "enable_itn": false
    }
}'

輸入內容:Base64編碼的音頻檔案

可輸入Base64編碼資料(Data URL),格式為:data:<mediatype>;base64,<data>

  • <mediatype>:MIME類型

    因音頻格式而異,例如:

    • WAV:audio/wav

    • MP3:audio/mpeg

  • <data>:音頻轉成的Base64編碼的字串

    Base64編碼會增大體積,請控制原檔案大小,確保編碼後仍符合輸入音頻大小限制(10MB)

  • 樣本:data:audio/wav;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjI5LjEwMAAAAAAAAAAAAAAA//PAxABQ/BXRbMPe4IQAhl9

    點擊查看範例程式碼

    import base64, pathlib
    
    # input.mp3為用於聲音複刻的本地音頻檔案,請替換為自己的音頻檔案路徑,確保其符合音頻要求
    file_path = pathlib.Path("input.mp3")
    base64_str = base64.b64encode(file_path.read_bytes()).decode()
    data_uri = f"data:audio/mpeg;base64,{base64_str}"
    import java.nio.file.*;
    import java.util.Base64;
    
    public class Main {
        /**
         * filePath為用於聲音複刻的本地音頻檔案,請替換為自己的音頻檔案路徑,確保其符合音頻要求
         */
        public static String toDataUrl(String filePath) throws Exception {
            byte[] bytes = Files.readAllBytes(Paths.get(filePath));
            String encoded = Base64.getEncoder().encodeToString(bytes);
            return "data:audio/mpeg;base64," + encoded;
        }
    
        // 使用樣本
        public static void main(String[] args) throws Exception {
            System.out.println(toDataUrl("input.mp3"));
        }
    }

Python SDK

樣本中用到的音頻檔案為:welcome.mp3

import base64
from openai import OpenAI
import os
import pathlib

try:
    # 請替換為實際的音頻檔案路徑
    file_path = "welcome.mp3"
    # 請替換為實際的音頻檔案MIME類型
    audio_mime_type = "audio/mpeg"

    file_path_obj = pathlib.Path(file_path)
    if not file_path_obj.exists():
        raise FileNotFoundError(f"音頻檔案不存在: {file_path}")

    base64_str = base64.b64encode(file_path_obj.read_bytes()).decode()
    data_uri = f"data:{audio_mime_type};base64,{base64_str}"

    client = OpenAI(
        # 新加坡/美國和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key = "sk-xxx",
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        # 以下為新加坡/美國地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/compatible-mode/v1
        base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
    )
    

    stream_enabled = False  # 是否開啟流式輸出
    completion = client.chat.completions.create(
        model="qwen3-asr-flash",
        messages=[
            {
                "content": [
                    {
                        "type": "input_audio",
                        "input_audio": {
                            "data": data_uri
                        }
                    }
                ],
                "role": "user"
            }
        ],
        stream=stream_enabled,
        # stream設為False時,不能設定stream_options參數
        # stream_options={"include_usage": True},
        extra_body={
            "asr_options": {
                # "language": "zh",
                "enable_itn": False
            }
        }
    )
    if stream_enabled:
        full_content = ""
        print("流式輸出內容為:")
        for chunk in completion:
            # 如果stream_options.include_usage為True,則最後一個chunk的choices欄位為空白列表,需要跳過(可以通過chunk.usage擷取 Token 使用量)
            print(chunk)
            if chunk.choices and chunk.choices[0].delta.content:
                full_content += chunk.choices[0].delta.content
        print(f"完整內容為:{full_content}")
    else:
        print(f"非流式輸出內容為:{completion.choices[0].message.content}")
except Exception as e:
    print(f"錯誤資訊:{e}")

Node.js SDK

樣本中用到的音頻檔案為:welcome.mp3

// 運行前的準備工作:
// Windows/Mac/Linux 通用:
// 1. 確保已安裝 Node.js (建議版本 >= 14)
// 2. 運行以下命令安裝必要的依賴: npm install openai

import OpenAI from "openai";
import { readFileSync } from 'fs';

const client = new OpenAI({
  // 新加坡/美國和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
  // 若沒有配置環境變數,請用百鍊API Key將下行替換為:apiKey: "sk-xxx",
  apiKey: process.env.DASHSCOPE_API_KEY,
  // 以下為新加坡/美國地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/compatible-mode/v1
  baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1", 
});

const encodeAudioFile = (audioFilePath) => {
    const audioFile = readFileSync(audioFilePath);
    return audioFile.toString('base64');
};

// 請替換為實際的音頻檔案路徑
const dataUri = `data:audio/mpeg;base64,${encodeAudioFile("welcome.mp3")}`;

async function main() {
  try {
    const streamEnabled = false; // 是否開啟流式輸出
    const completion = await client.chat.completions.create({
      model: "qwen3-asr-flash",
      messages: [
        {
          role: "user",
          content: [
            {
              type: "input_audio",
              input_audio: {
                data: dataUri
              }
            }
          ]
        }
      ],
      stream: streamEnabled,
      // stream設為False時,不能設定stream_options參數
      // stream_options: {
      //   "include_usage": true
      // },
      extra_body: {
        asr_options: {
          // language: "zh",
          enable_itn: false
        }
      }
    });

    if (streamEnabled) {
      let fullContent = "";
      console.log("流式輸出內容為:");
      for await (const chunk of completion) {
        console.log(JSON.stringify(chunk));
        if (chunk.choices && chunk.choices.length > 0) {
          const delta = chunk.choices[0].delta;
          if (delta && delta.content) {
            fullContent += delta.content;
          }
        }
      }
      console.log(`完整內容為:${fullContent}`);
    } else {
      console.log(`非流式輸出內容為:${completion.choices[0].message.content}`);
    }
  } catch (err) {
    console.error(`錯誤資訊:${err}`);
  }
}

main();

model string (必選)

模型名稱。僅適用於千問3-ASR-Flash模型。

messages array (必選)

訊息列表。

訊息類型

System Message object(可選)

模型的目標或角色。如果設定系統訊息,請放在messages列表的第一位。

屬性

role string (必選)

固定為system

User Message object(必選)

使用者發送給模型的訊息。

屬性

content array (必選)

使用者訊息的內容。僅允許設定一組訊息。

屬性

type string(必選)

固定為input_audio,代表輸入的是音頻。

input_audio string(必選)

待識別音頻。具體用法請參見快速開始

千問3-ASR-Flash模型在OpenAI相容模式下支援兩種輸入形式:Base64編碼的檔案和公網可訪問的待識別檔案URL。

使用SDK時,若錄音檔案儲存體在阿里雲OSS,不支援使用以 oss://為首碼的臨時 URL。

使用RESTful API時,若錄音檔案儲存體在阿里雲OSS,支援使用以 oss://為首碼的臨時 URL。但需注意:

重要
  • 臨時 URL 有效期間48小時,到期後無法使用,請勿用於生產環境。

  • 檔案上傳憑證介面限流為 100 QPS 且不支援擴容,請勿用於生產環境、高並發及壓測情境。

  • 生產環境建議使用阿里雲OSS 等穩定儲存,確保檔案長期可用並規避限流問題。

role string (必選)

使用者訊息的角色,固定為user

asr_options object (可選)

用來指定某些功能是否啟用。

asr_options非OpenAI標準參數,若使用OpenAI SDK,請通過extra_body傳入。

屬性

language string(可選)無預設值

若已知音訊語種,可通過該參數指定待識別語種,以提升識別準確率。

只能指定一個語種。

若音頻語種不確定,或包含多種語種(例如中英日韓混合),請勿指定該參數。

取值範圍

  • zh:中文(普通話、四川話、閩南語、吳語)

  • yue:粵語

  • en:英文

  • ja:日語

  • de:德語

  • ko:韓語

  • ru:俄語

  • fr:法語

  • pt:葡萄牙語

  • ar:阿拉伯語

  • it:意大利語

  • es:西班牙語

  • hi:印地語

  • id:印尼語

  • th:泰語

  • tr:土耳其語

  • uk:烏克蘭語

  • vi:越南語

  • cs:捷克語

  • da:丹麥語

  • fil:菲律賓語

  • fi:芬蘭語

  • is:冰島語

  • ms:馬來語

  • no:挪威語

  • pl:波蘭語

  • sv:瑞典語

enable_itn boolean(可選)預設值為false

是否啟用ITN(Inverse Text Normalization,逆文本標準化)。該功能僅適用於中文和英文音頻。

參數值:

  • true:開啟;

  • false:關閉。

stream boolean (可選)預設值為false

是否以流式輸出方式回複。相關文檔:流式輸出

可選值:

  • false:模型產生全部內容後一次性返回;

  • true:邊產生邊輸出,每產生一部分內容即返回一個資料區塊(chunk)。需即時逐個讀取這些塊以拼接完整回複。

推薦設定為true,可提升閱讀體驗並降低逾時風險。

stream_options object (可選)

流式輸出的配置項,僅在 stream 為 true 時生效。

屬性

include_usage boolean (可選)預設值為false

是否在響應的最後一個資料區塊包含Token消耗資訊。

可選值:

  • true:包含;

  • false:不包含。

流式輸出時,Token 消耗資訊僅可出現在響應的最後一個資料區塊。

返回體

非流式輸出

{
    "choices": [
        {
            "finish_reason": "stop",
            "index": 0,
            "message": {
                "annotations": [
                    {
                        "emotion": "neutral",
                        "language": "zh",
                        "type": "audio_info"
                    }
                ],
                "content": "歡迎使用阿里雲。",
                "role": "assistant"
            }
        }
    ],
    "created": 1767683986,
    "id": "chatcmpl-487abe5f-d4f2-9363-a877-xxxxxxx",
    "model": "qwen3-asr-flash",
    "object": "chat.completion",
    "usage": {
        "completion_tokens": 12,
        "completion_tokens_details": {
            "text_tokens": 12
        },
        "prompt_tokens": 42,
        "prompt_tokens_details": {
            "audio_tokens": 42,
            "text_tokens": 0
        },
        "seconds": 1,
        "total_tokens": 54
    }
}

流式輸出

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","created":1767685989,"object":"chat.completion.chunk","usage":null,"choices":[{"logprobs":null,"index":0,"delta":{"content":"","role":"assistant"}}]}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"annotations":[{"type":"audio_info","language":"zh","emotion":"neutral"}],"content":"歡迎","role":null},"index":0}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"annotations":[{"type":"audio_info","language":"zh","emotion":"neutral"}],"content":"使用","role":null},"index":0}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"annotations":[{"type":"audio_info","language":"zh","emotion":"neutral"}],"content":"阿里","role":null},"index":0}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"annotations":[{"type":"audio_info","language":"zh","emotion":"neutral"}],"content":"雲","role":null},"index":0}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"annotations":[{"type":"audio_info","language":"zh","emotion":"neutral"}],"content":"。","role":null},"index":0}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"role":null},"index":0,"finish_reason":"stop"}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: [DONE]

id string

本次調用的唯一識別碼。

choices array

模型的輸出資訊。

屬性

finish_reason string

有三種情況:

  • 正在產生時為null;

  • 因模型輸出自然結束,或觸發輸入參數中的stop條件而結束時為stop;

  • 因產生長度過長而結束為length。

index integer

當前對象在choices數組中的索引。

message object

模型輸出的訊息對象。

屬性

role string

輸出訊息的角色,固定為assistant。

content array

語音辨識結果。

annotations array

輸出標註資訊(如語種)

屬性

language string

被識別音訊語種。當請求參數language已指定語種時,該值與所指定的參數一致。

取值範圍

  • zh:中文(普通話、四川話、閩南語、吳語)

  • yue:粵語

  • en:英文

  • ja:日語

  • de:德語

  • ko:韓語

  • ru:俄語

  • fr:法語

  • pt:葡萄牙語

  • ar:阿拉伯語

  • it:意大利語

  • es:西班牙語

  • hi:印地語

  • id:印尼語

  • th:泰語

  • tr:土耳其語

  • uk:烏克蘭語

  • vi:越南語

  • cs:捷克語

  • da:丹麥語

  • fil:菲律賓語

  • fi:芬蘭語

  • is:冰島語

  • ms:馬來語

  • no:挪威語

  • pl:波蘭語

  • sv:瑞典語

type string

固定為audio_info,表示音頻資訊。

emotion string

被識別音訊情感。支援的情感如下:

  • surprised:驚訝

  • neutral:平靜

  • happy:愉快

  • sad:悲傷

  • disgusted:厭惡

  • angry:憤怒

  • fearful:恐懼

created integer

請求建立時的 Unix 時間戳記(秒)。

model string

本次請求使用的模型。

object string

始終為chat.completion

usage object

本次請求的Token消耗資訊。

屬性

completion_tokens integer

模型輸出的 Token 數。

completion_tokens_details object

模型輸出的 Token 細粒度詳情。

屬性

text_tokens integer

模型輸出文本的Token數。

prompt_tokens object

輸入的Token數。

prompt_tokens_details object

輸入的 Token 細粒度詳情。

屬性

audio_tokens integer

輸入音頻長度(Token)。音頻轉換Token規則:每秒音頻轉換為25個Token,不足1秒按1秒計算。

text_tokens integer

無需關注該參數。

seconds integer

音頻時間長度(秒)。

total_tokens integer

輸入和輸出總Token數(total_tokens = completion_tokens + prompt_tokens)。

DashScope同步調用

URL

國際

國際部署模式下,存取點與資料存放區均位於新加坡地區,模型推理計算資源在全球範圍內動態調度(不含中國內地)。

HTTP請求地址:POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK調用配置的base_url:https://dashscope-intl.aliyuncs.com/api/v1

美國

美國部署模式下,存取點與資料存放區均位於美國(維吉尼亞)地區,模型推理計算資源僅限於美國境內。

HTTP請求地址:POST https://dashscope-us.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK調用配置的base_url:https://dashscope-us.aliyuncs.com/api/v1

中國內地

中國內地部署模式下,存取點與資料存放區均位於北京地區,模型推理計算資源僅限於中國內地。

HTTP請求地址:POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK調用配置的base_url:https://dashscope.aliyuncs.com/api/v1

請求體

千問3-ASR-Flash

以下樣本為音頻 URL 識別;本地音頻檔案識別樣本請參見快速開始

cURL

# ======= 重要提示 =======
# 以下為新加坡地區url若使用美國地區的模型,需將url替換為:https://dashscope-us.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# 新加坡/美國地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# 若使用美國地區的模型,需要加us尾碼
# === 執行時請刪除該注釋 ===

curl -X POST "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3-asr-flash",
    "input": {
        "messages": [
            {
                "content": [
                    {
                        "text": ""
                    }
                ],
                "role": "system"
            },
            {
                "content": [
                    {
                        "audio": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"
                    }
                ],
                "role": "user"
            }
        ]
    },
    "parameters": {
        "asr_options": {
            "enable_itn": false
        }
    }
}'

Java

import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

public class Main {
    public static void simpleMultiModalConversationCall()
            throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalMessage userMessage = MultiModalMessage.builder()
                .role(Role.USER.getValue())
                .content(Arrays.asList(
                        Collections.singletonMap("audio", "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3")))
                .build();

        MultiModalMessage sysMessage = MultiModalMessage.builder().role(Role.SYSTEM.getValue())
                // 此處用於配置定製化識別的Context
                .content(Arrays.asList(Collections.singletonMap("text", "")))
                .build();

        Map<String, Object> asrOptions = new HashMap<>();
        asrOptions.put("enable_itn", false);
        // asrOptions.put("language", "zh"); // 可選,若已知音訊語種,可通過該參數指定待識別語種,以提升識別準確率
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // 新加坡/美國地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
                // 若沒有配置環境變數,請用百鍊API Key將下行替換為:.apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // 若使用美國地區的模型,需在模型後面加上“-us”尾碼,例如qwen3-asr-flash-us
                .model("qwen3-asr-flash")
                .message(sysMessage)
                .message(userMessage)
                .parameter("asr_options", asrOptions)
                .build();
        MultiModalConversationResult result = conv.call(param);
        System.out.println(JsonUtils.toJson(result));
    }
    public static void main(String[] args) {
        try {
            // 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1,若使用美國地區的模型,需將url替換為:https://dashscope-us.aliyuncs.com/api/v1
            Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
            simpleMultiModalConversationCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

Python

import os
import dashscope

# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1,若使用美國地區的模型,需將url替換為:https://dashscope-us.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

messages = [
    {"role": "system", "content": [{"text": ""}]},  # 配置定製化識別的 Context
    {"role": "user", "content": [{"audio": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"}]}
]

response = dashscope.MultiModalConversation.call(
    # 新加坡/美國地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key = "sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 若使用美國地區的模型,需在模型後面加上“-us”尾碼,例如qwen3-asr-flash-us
    model="qwen3-asr-flash",
    messages=messages,
    result_format="message",
    asr_options={
        #"language": "zh", # 可選,若已知音訊語種,可通過該參數指定待識別語種,以提升識別準確率
        "enable_itn":False
    }
)
print(response)

model string (必選)

模型名稱。僅適用於千問3-ASR-Flash模型。

messages array (必選)

訊息列表。

通過HTTP調用時,請將messages 放入 input 對象中。

訊息類型

System Message object(可選)

模型的目標或角色。如果設定系統訊息,請放在messages列表的第一位。

僅千問3-ASR-Flash支援該參數。

屬性

role string (必選)

固定為system

User Message object(必選)

使用者發送給模型的訊息。

屬性

content array (必選)

使用者訊息的內容。僅允許設定一組訊息。

屬性

audio string(必選)

待識別音頻。具體用法請參見快速開始

千問3-ASR-Flash模型在DashScope調用方式下支援三種輸入形式:Base64編碼的檔案、本地檔案絕對路徑、公網可訪問的待識別檔案URL。

使用SDK時,若錄音檔案儲存體在阿里雲OSS,不支援使用以 oss://為首碼的臨時 URL。

使用RESTful API時,若錄音檔案儲存體在阿里雲OSS,支援使用以 oss://為首碼的臨時 URL。但需注意:

重要
  • 臨時 URL 有效期間48小時,到期後無法使用,請勿用於生產環境。

  • 檔案上傳憑證介面限流為 100 QPS 且不支援擴容,請勿用於生產環境、高並發及壓測情境。

  • 生產環境建議使用阿里雲OSS 等穩定儲存,確保檔案長期可用並規避限流問題。

role string (必選)

使用者訊息的角色,固定為user

asr_options object (可選)

用來指定某些功能是否啟用。

僅千問3-ASR-Flash支援該參數。

屬性

language string(可選)無預設值

若已知音訊語種,可通過該參數指定待識別語種,以提升識別準確率。

只能指定一個語種。

若音頻語種不確定,或包含多種語種(例如中英日韓混合),請勿指定該參數。

取值範圍

  • zh:中文(普通話、四川話、閩南語、吳語)

  • yue:粵語

  • en:英文

  • ja:日語

  • de:德語

  • ko:韓語

  • ru:俄語

  • fr:法語

  • pt:葡萄牙語

  • ar:阿拉伯語

  • it:意大利語

  • es:西班牙語

  • hi:印地語

  • id:印尼語

  • th:泰語

  • tr:土耳其語

  • uk:烏克蘭語

  • vi:越南語

  • cs:捷克語

  • da:丹麥語

  • fil:菲律賓語

  • fi:芬蘭語

  • is:冰島語

  • ms:馬來語

  • no:挪威語

  • pl:波蘭語

  • sv:瑞典語

enable_itn boolean(可選)預設值為false

是否啟用ITN(Inverse Text Normalization,逆文本標準化)。該功能僅適用於中文和英文音頻。

參數值:

  • true:開啟;

  • false:關閉。

返回體

千問3-ASR-Flash

{
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "annotations": [
                        {
                            "language": "zh",
                            "type": "audio_info",
                            "emotion": "neutral"
                        }
                    ],
                    "content": [
                        {
                            "text": "歡迎使用阿里雲。"
                        }
                    ],
                    "role": "assistant"
                }
            }
        ]
    },
    "usage": {
        "input_tokens_details": {
            "text_tokens": 0
        },
        "output_tokens_details": {
            "text_tokens": 6
        },
        "seconds": 1
    },
    "request_id": "568e2bf0-d6f2-97f8-9f15-a57b11dc6977"
}

request_id string

本次調用的唯一識別碼。

Java SDK返回參數為requestId。

output object

調用結果資訊。

屬性

choices array

模型的輸出資訊。當result_format為message時返回choices參數。

屬性

finish_reason string

有三種情況:

  • 正在產生時為null;

  • 因模型輸出自然結束,或觸發輸入參數中的stop條件而結束時為stop;

  • 因產生長度過長而結束為length。

message object

模型輸出的訊息對象。

屬性

role string

輸出訊息的角色,固定為assistant。

content array

輸出訊息的內容。

屬性

text string

語音辨識結果。

annotations array

輸出標註資訊(如語種)

屬性

language string

被識別音訊語種。當請求參數language已指定語種時,該值與所指定的參數一致。

取值範圍

  • zh:中文(普通話、四川話、閩南語、吳語)

  • yue:粵語

  • en:英文

  • ja:日語

  • de:德語

  • ko:韓語

  • ru:俄語

  • fr:法語

  • pt:葡萄牙語

  • ar:阿拉伯語

  • it:意大利語

  • es:西班牙語

  • hi:印地語

  • id:印尼語

  • th:泰語

  • tr:土耳其語

  • uk:烏克蘭語

  • vi:越南語

  • cs:捷克語

  • da:丹麥語

  • fil:菲律賓語

  • fi:芬蘭語

  • is:冰島語

  • ms:馬來語

  • no:挪威語

  • pl:波蘭語

  • sv:瑞典語

type string

固定為audio_info,表示音頻資訊。

emotion string

被識別音訊情感。支援的情感如下:

  • surprised:驚訝

  • neutral:平靜

  • happy:愉快

  • sad:悲傷

  • disgusted:厭惡

  • angry:憤怒

  • fearful:恐懼

usage object

本次請求的Token消耗資訊。

屬性

input_tokens_details object

千問3-ASR-Flash輸入內容長度(Token)。

屬性

text_tokens integer

無需關注該參數。

output_tokens_details object

千問3-ASR-Flash輸出內容長度(Token)。

屬性

text_tokens integer

千問3-ASR-Flash輸出的識別結果文本長度(Token)。

seconds integer

千問3-ASR-Flash音頻時間長度(秒)。

DashScope非同步呼叫

流程說明

與OpenAI相容模式或DashScope同步調用(均為一次請求、立即返回結果)不同,非同步呼叫專為處理長音頻檔案或耗時較長的任務設計,該模式採用“提交-輪詢”的兩步式流程,避免了因長時間等待而導致的請求逾時:

  1. 第一步:提交任務

    • 用戶端發起一個非同步處理請求。

    • 伺服器驗證請求後,不會立即執行任務,而是返回一個唯一的 task_id,表示任務已成功建立。

  2. 第二步:擷取結果

    • 用戶端使用擷取到的 task_id,通過輪詢方式反覆調用結果查詢介面。

    • 當任務處理完成後,結果查詢介面將返回最終的識別結果。

您可以根據Integration Environment選擇使用SDK或直接調用RESTful API。

  • 使用 SDK(範例程式碼請參見快速開始,請求參數請參見提交任務請求體,返回結果請參見非同步呼叫識別結果說明

    SDK封裝了底層的API調用細節,提供了更便捷的編程體驗。

    1. 提交任務:調用 async_call() (Python) 或 asyncCall() (Java) 方法提交任務。此方法將返回一個包含 task_id 的任務對象。

    2. 擷取結果:使用上一步返回的任務對象或 task_id,調用 fetch() 方法擷取結果。SDK內部會自動處理輪詢邏輯,直到任務完成或逾時。

  • 2. 使用 RESTful API

    直接調用HTTP介面提供了最大的靈活性。

    1. 提交任務,如果請求成功,返回體中將包含一個 task_id

    2. 使用上一步擷取的 task_id擷取任務執行結果

提交任務

URL

國際

國際部署模式下,存取點與資料存放區均位於新加坡地區,模型推理計算資源在全球範圍內動態調度(不含中國內地)。

HTTP請求地址:POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/transcription

SDK調用配置的base_url:https://dashscope-intl.aliyuncs.com/api/v1

中國內地

中國內地部署模式下,存取點與資料存放區均位於北京地區,模型推理計算資源僅限於中國內地。

HTTP請求地址:POST https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription

SDK調用配置的base_url:https://dashscope.aliyuncs.com/api/v1

請求體

cURL

# ======= 重要提示 =======
# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription
# 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# === 執行時請刪除該注釋 ===

curl --location --request POST 'https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/transcription' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-Async: enable" \
--data '{
    "model": "qwen3-asr-flash-filetrans",
    "input": {
        "file_url": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"
    },
    "parameters": {
        "channel_id":[
            0
        ], 
        "enable_itn": false
    }
}'

Java

SDK樣本請參見快速開始

import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
import okhttp3.*;

import java.io.IOException;

public class Main {
    // 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription
    private static final String API_URL = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/transcription";

    public static void main(String[] args) {
        // 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        // 若沒有配置環境變數,請用百鍊API Key將下行替換為:String apiKey = "sk-xxx"
        String apiKey = System.getenv("DASHSCOPE_API_KEY");

        OkHttpClient client = new OkHttpClient();
        Gson gson = new Gson();

        /*String payloadJson = """
                {
                    "model": "qwen3-asr-flash-filetrans",
                    "input": {
                        "file_url": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"
                    },
                    "parameters": {
                        "channel_id": [0],
                        "enable_itn": false,
                        "language": "zh",
                        "corpus": {
                            "text": ""
                        }
                    }
                }
                """;*/
        String payloadJson = """
                {
                    "model": "qwen3-asr-flash-filetrans",
                    "input": {
                        "file_url": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"
                    },
                    "parameters": {
                        "channel_id": [0],
                        "enable_itn": false
                    }
                }
                """;

        RequestBody body = RequestBody.create(payloadJson, MediaType.get("application/json; charset=utf-8"));
        Request request = new Request.Builder()
                .url(API_URL)
                .addHeader("Authorization", "Bearer " + apiKey)
                .addHeader("Content-Type", "application/json")
                .addHeader("X-DashScope-Async", "enable")
                .post(body)
                .build();

        try (Response response = client.newCall(request).execute()) {
            if (response.isSuccessful() && response.body() != null) {
                String respBody = response.body().string();
                // 用 Gson 解析 JSON
                ApiResponse apiResp = gson.fromJson(respBody, ApiResponse.class);
                if (apiResp.output != null) {
                    System.out.println("task_id: " + apiResp.output.taskId);
                } else {
                    System.out.println(respBody);
                }
            } else {
                System.out.println("task failed! HTTP code: " + response.code());
                if (response.body() != null) {
                    System.out.println(response.body().string());
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    static class ApiResponse {
        @SerializedName("request_id")
        String requestId;

        Output output;
    }

    static class Output {
        @SerializedName("task_id")
        String taskId;

        @SerializedName("task_status")
        String taskStatus;
    }
}

Python

SDK樣本請參見快速開始

import requests
import json
import os

# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription
url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/transcription"

# 新加坡和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# 若沒有配置環境變數,請用百鍊API Key將下行替換為:DASHSCOPE_API_KEY = "sk-xxx"
DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")

headers = {
    "Authorization": f"Bearer {DASHSCOPE_API_KEY}",
    "Content-Type": "application/json",
    "X-DashScope-Async": "enable"
}

payload = {
    "model": "qwen3-asr-flash-filetrans",
    "input": {
        "file_url": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"
    },
    "parameters": {
        "channel_id": [0],
        # "language": "zh",
        "enable_itn": False
        # "corpus": {
        #     "text": ""
        # }
    }
}

response = requests.post(url, headers=headers, data=json.dumps(payload))
if response.status_code == 200:
    print(f"task_id: {response.json()["output"]["task_id"]}")
else:
    print("task failed!")
    print(response.json())

model string (必選)

模型名稱。僅適用於千問3-ASR-Flash-Filetrans模型。

input object (必選)

屬性

file_url string(必選)

待識別音頻檔案URL,URL必須公網可訪問。

使用SDK時,若錄音檔案儲存體在阿里雲OSS,不支援使用以 oss://為首碼的臨時 URL。

使用RESTful API時,若錄音檔案儲存體在阿里雲OSS,支援使用以 oss://為首碼的臨時 URL。但需注意:

重要
  • 臨時 URL 有效期間48小時,到期後無法使用,請勿用於生產環境。

  • 檔案上傳憑證介面限流為 100 QPS 且不支援擴容,請勿用於生產環境、高並發及壓測情境。

  • 生產環境建議使用阿里雲OSS 等穩定儲存,確保檔案長期可用並規避限流問題。

parameters object (可選)

屬性

language string(可選)無預設值

若已知音訊語種,可通過該參數指定待識別語種,以提升識別準確率。

只能指定一個語種。

若音頻語種不確定,或包含多種語種(例如中英日韓混合),請勿指定該參數。

取值範圍

  • zh:中文(普通話、四川話、閩南語、吳語)

  • yue:粵語

  • en:英文

  • ja:日語

  • de:德語

  • ko:韓語

  • ru:俄語

  • fr:法語

  • pt:葡萄牙語

  • ar:阿拉伯語

  • it:意大利語

  • es:西班牙語

  • hi:印地語

  • id:印尼語

  • th:泰語

  • tr:土耳其語

  • uk:烏克蘭語

  • vi:越南語

  • cs:捷克語

  • da:丹麥語

  • fil:菲律賓語

  • fi:芬蘭語

  • is:冰島語

  • ms:馬來語

  • no:挪威語

  • pl:波蘭語

  • sv:瑞典語

enable_itn boolean(可選)預設值為false

是否啟用ITN(Inverse Text Normalization,逆文本標準化)。該功能僅適用於中文和英文音頻。

參數值:

  • true:開啟;

  • false:關閉。

enable_words boolean (可選)預設值為false

控制是否返回字層級時間戳記:

  • false:返回句級時間戳記

  • true:返回字級時間戳記

    字層級時間戳記僅支援以下語種:中文、英語、日語、韓語、德語、法語、西班牙語、意大利語、葡萄牙語、俄語,其他語種可能無法保證準確性

同時,該參數還影響斷句規則:

  • false:基於 VAD(語音活動檢測)斷句

  • true:基於 VAD + 標點符號斷句

channel_id array (可選)預設值為[0]

指定在多音軌音頻檔案中需要識別的音軌索引,索引從 0 開始。例如,[0] 表示識別第一個音軌,[0, 1] 表示同時識別第一和第二個音軌。如果省略此參數,則預設處理第一個音軌。

重要

指定的每一個音軌都將獨立計費。例如,為單個檔案請求 [0, 1] 會產生兩筆獨立的費用。

返回體

{
    "request_id": "92e3decd-0c69-47a8-************",
    "output": {
        "task_id": "8fab76d0-0eed-4d20-************",
        "task_status": "PENDING"
    }
}

request_id string

本次調用的唯一識別碼。

output object

調用結果資訊。

屬性

task_id string

任務ID。該ID在查詢語音辨識任務介面中作為請求參數傳入。

task_status string

任務狀態:

  • PENDING:任務排隊中

  • RUNNING:任務處理中

  • SUCCEEDED:任務執行成功

  • FAILED:任務執行失敗

  • UNKNOWN:任務不存在或狀態未知

擷取任務執行結果

URL

國際

HTTP請求地址:GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/{task_id}

SDK調用配置的base_url:https://dashscope-intl.aliyuncs.com/api/v1

中國內地

SDK調用配置的base_url:https://dashscope.aliyuncs.com/api/v1

HTTP請求地址:GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

請求體

cURL

# ======= 重要提示 =======
# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/tasks/{task_id},注意,將{task_id}替換為待查詢任務ID
# 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# === 執行時請刪除該注釋 ===

curl --location --request GET 'https://dashscope-intl.aliyuncs.com/api/v1/tasks/{task_id}' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "X-DashScope-Async: enable" \
--header "Content-Type: application/json"

Java

SDK樣本請參見快速開始

import okhttp3.*;

import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        // 替換為實際的task_id
        String taskId = "xxx";
        // 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        // 若沒有配置環境變數,請用百鍊API Key將下行替換為:String apiKey = "sk-xxx"
        String apiKey = System.getenv("DASHSCOPE_API_KEY");

        // 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/tasks/{task_id},注意,將{task_id}替換為待查詢任務ID
        String apiUrl = "https://dashscope-intl.aliyuncs.com/api/v1/tasks/" + taskId;

        OkHttpClient client = new OkHttpClient();

        Request request = new Request.Builder()
                .url(apiUrl)
                .addHeader("Authorization", "Bearer " + apiKey)
                .addHeader("X-DashScope-Async", "enable")
                .addHeader("Content-Type", "application/json")
                .get()
                .build();

        try (Response response = client.newCall(request).execute()) {
            if (response.body() != null) {
                System.out.println(response.body().string());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Python

SDK樣本請參見快速開始

import os
import requests


# 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# 若沒有配置環境變數,請用百鍊API Key將下行替換為:DASHSCOPE_API_KEY = "sk-xxx"
DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")

# 替換為實際的task_id
task_id = "xxx"
# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/tasks/{task_id},注意,將{task_id}替換為待查詢任務ID
url = f"https://dashscope-intl.aliyuncs.com/api/v1/tasks/{task_id}"

headers = {
    "Authorization": f"Bearer {DASHSCOPE_API_KEY}",
    "X-DashScope-Async": "enable",
    "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json())

task_id string (必選)

任務ID。將提交任務返回結果中的task_id作為參數傳入,查詢語音辨識結果。

返回體

RUNNING

{
    "request_id": "6769df07-2768-4fb0-ad59-************",
    "output": {
        "task_id": "9be1700a-0f8e-4778-be74-************",
        "task_status": "RUNNING",
        "submit_time": "2025-10-27 14:19:31.150",
        "scheduled_time": "2025-10-27 14:19:31.233",
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 0,
            "FAILED": 0
        }
    }
}

SUCCEEDED

{
    "request_id": "1dca6c0a-0ed1-4662-aa39-************",
    "output": {
        "task_id": "8fab76d0-0eed-4d20-929f-************",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-10-27 13:57:45.948",
        "scheduled_time": "2025-10-27 13:57:46.018",
        "end_time": "2025-10-27 13:57:47.079",
        "result": {
            "transcription_url": "http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/pre/pre-funasr-mlt-v1/20251027/13%3A57/7a3a8236-ffd1-4099-a280-0299686ac7da.json?Expires=1761631066&OSSAccessKeyId=LTAI**************&Signature=1lKv4RgyWCarRuUdIiErOeOBnwM%3D&response-content-disposition=attachment%3Bfilename%3D7a3a8236-ffd1-4099-a280-0299686ac7da.json"
        }
    },
    "usage": {
        "seconds": 3
    }
}

FAILED

{
    "request_id": "3d141841-858a-466a-9ff9-************",
    "output": {
        "task_id": "c58c7951-7789-4557-9ea3-************",
        "task_status": "FAILED",
        "submit_time": "2025-10-27 15:06:06.915",
        "scheduled_time": "2025-10-27 15:06:06.967",
        "end_time": "2025-10-27 15:06:07.584",
        "code": "FILE_403_FORBIDDEN",
        "message": "FILE_403_FORBIDDEN"
    }
}

request_id string

本次調用的唯一識別碼。

output object

調用結果資訊。

屬性

task_id string

任務ID。該ID在查詢語音辨識任務介面中作為請求參數傳入。

task_status string

任務狀態:

  • PENDING:任務排隊中

  • RUNNING:任務處理中

  • SUCCEEDED:任務執行成功

  • FAILED:任務執行失敗

  • UNKNOWN:任務不存在或狀態未知

result object

語音辨識結果。

屬性

transcription_url string

識別結果檔案的下載 URL,連結有效期間為 24 小時。到期後無法查詢任務,也無法通過先前的 URL 下載結果。
識別結果以 JSON 檔案儲存,可通過該連結下載檔案,或直接使用 HTTP 要求讀取檔案內容。

詳情參見非同步呼叫識別結果說明

submit_time string

任務提交時間。

schedule_time string

任務調度時間,即開始執行時間。

end_time string

任務結束時間。

task_metrics object

任務指標,包含子任務狀態的統計資訊。

屬性

TOTAL integer

子任務總數。

SUCCEEDED integer

子任務成功數。

FAILED integer

子任務失敗數。

code string

錯誤碼,僅在任務失敗時返回。

message string

錯誤資訊,僅任務失敗時返回。

usage object

本次請求的Token消耗資訊。

屬性

seconds integer

千問3-ASR-Flash音頻時間長度(秒)。

非同步呼叫識別結果說明

{
    "file_url": "https://***.wav",
    "audio_info": {
        "format": "wav",
        "sample_rate": 16000
    },
    "transcripts": [
        {
            "channel_id": 0,
            "text": "Senior staff, Principal Doris Jackson, Wakefield faculty, and of course my fellow classmates.I am honored to have been chosen to speak before my classmates as well as the students across America today.",
            "sentences": [
                {
                    "sentence_id": 0,
                    "begin_time": 240,
                    "end_time": 6720,
                    "language": "en",
                    "emotion": "happy",
                    "text": "Senior staff, Principal Doris Jackson, Wakefield faculty, and of course my fellow classmates.",
                    "words": [
                        {
                            "begin_time": 240,
                            "end_time": 1120,
                            "text": "Senior ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 1120,
                            "end_time": 1200,
                            "text": "staff",
                            "punctuation": ","
                        },
                        {
                            "begin_time": 1680,
                            "end_time": 1920,
                            "text": " Principal ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 2000,
                            "end_time": 2320,
                            "text": "Doris ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 2320,
                            "end_time": 2960,
                            "text": "Jackson",
                            "punctuation": ","
                        },
                        {
                            "begin_time": 3360,
                            "end_time": 3840,
                            "text": " Wakefield ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 3840,
                            "end_time": 4480,
                            "text": "faculty",
                            "punctuation": ","
                        },
                        {
                            "begin_time": 4800,
                            "end_time": 4960,
                            "text": " and ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 4960,
                            "end_time": 5040,
                            "text": "of ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 5040,
                            "end_time": 5520,
                            "text": "course ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 5520,
                            "end_time": 5680,
                            "text": "my ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 5760,
                            "end_time": 6000,
                            "text": "fellow ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 6000,
                            "end_time": 6720,
                            "text": "classmates",
                            "punctuation": "."
                        }
                    ]
                },
                {
                    "sentence_id": 1,
                    "begin_time": 12268,
                    "end_time": 17388,
                    "language": "en",
                    "emotion": "neutral",
                    "text": "I am honored to have been chosen to speak before my classmates as well as the students across America today.",
                    "words": [
                        {
                            "begin_time": 12268,
                            "end_time": 12428,
                            "text": "I ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 12428,
                            "end_time": 12508,
                            "text": "am ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 12588,
                            "end_time": 12828,
                            "text": "honored ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 12908,
                            "end_time": 12908,
                            "text": "to ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 12908,
                            "end_time": 13068,
                            "text": "have ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 13068,
                            "end_time": 13228,
                            "text": "been ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 13228,
                            "end_time": 13628,
                            "text": "chosen ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 13628,
                            "end_time": 13708,
                            "text": "to ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 13708,
                            "end_time": 14028,
                            "text": "speak ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 14028,
                            "end_time": 14268,
                            "text": "before ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 14268,
                            "end_time": 14428,
                            "text": "my ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 14428,
                            "end_time": 15148,
                            "text": "classmates ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 15308,
                            "end_time": 15468,
                            "text": "as ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 15468,
                            "end_time": 15628,
                            "text": "well ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 15628,
                            "end_time": 15788,
                            "text": "as ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 15788,
                            "end_time": 15788,
                            "text": "the ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 15788,
                            "end_time": 16188,
                            "text": "students ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 16188,
                            "end_time": 16588,
                            "text": "across ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 16588,
                            "end_time": 16988,
                            "text": "America ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 16988,
                            "end_time": 17388,
                            "text": "today",
                            "punctuation": "."
                        }
                    ]
                }
            ]
        }
    ]
}

file_url string

被識別的音頻檔案URL。

audio_info object

被識別音頻檔案相關資訊。

屬性

format string

音頻格式。

sample_rate integer

音頻採樣率。

transcripts array

完整的識別結果清單,每個元素對應一條音軌的識別內容。

屬性

channel_id integer

音軌索引,以0為起始。

text string

識別結果文本。

sentences object

句子層級的識別結果清單。

屬性

begin_timeinteger

句子開始時間戳(毫秒)。

end_timeinteger

句子結束時間戳記(毫秒)。

text string

識別結果文本。

sentence_id integer

句子索引,以0為起始。

language string

被識別音訊語種。當請求參數language已指定語種時,該值與所指定的參數一致。

取值範圍

  • zh:中文(普通話、四川話、閩南語、吳語)

  • yue:粵語

  • en:英文

  • ja:日語

  • de:德語

  • ko:韓語

  • ru:俄語

  • fr:法語

  • pt:葡萄牙語

  • ar:阿拉伯語

  • it:意大利語

  • es:西班牙語

  • hi:印地語

  • id:印尼語

  • th:泰語

  • tr:土耳其語

  • uk:烏克蘭語

  • vi:越南語

  • cs:捷克語

  • da:丹麥語

  • fil:菲律賓語

  • fi:芬蘭語

  • is:冰島語

  • ms:馬來語

  • no:挪威語

  • pl:波蘭語

  • sv:瑞典語

emotion string

被識別音訊情感。支援的情感如下:

  • surprised:驚訝

  • neutral:平靜

  • happy:愉快

  • sad:悲傷

  • disgusted:厭惡

  • angry:憤怒

  • fearful:恐懼

words object

詞層級的識別結果清單。當請求參數enable_words設為true時展示該結果。

屬性

begin_timeinteger

開始時間戳(毫秒)。

end_timeinteger

結束時間戳記(毫秒)。

text string

識別結果文本。

punctuation string

標點符號。