All Products
Search
Document Center

Alibaba Cloud Model Studio:Referensi API pengenalan file audio (Qwen-ASR)

Last Updated:Jan 06, 2026

Dokumen ini menjelaskan parameter input dan output untuk model Qwen-ASR.

Panduan pengguna: Untuk informasi lebih lanjut mengenai model dan cara memilihnya, lihat Pengenalan file audio - Qwen.

Model Qwen3-ASR-Flash dan Qwen-Audio ASR menggunakan pemanggilan sinkron. Model Qwen3-ASR-Flash-Filetrans menggunakan pemanggilan asinkron. Kedua metode pemanggilan tersebut memiliki body permintaan, body respons, dan proses yang berbeda. Jangan menggunakannya secara bergantian.

Pemanggilan sinkron

China Daratan (Beijing): POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

Internasional (Singapura)/AS (Virginia): POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

Request body

Qwen3-ASR-Flash

Contoh berikut menunjukkan cara mengenali file audio dari URL. Untuk contoh cara mengenali file audio lokal, lihat Memulai.

cURL

# ======= Penting =======
# Berikut adalah URL untuk wilayah Singapura/AS. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# Kunci API untuk wilayah Singapura/AS dan Beijing berbeda. Untuk mendapatkan kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# === Hapus komentar ini sebelum eksekusi ===

curl --location --request POST "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type": "application/json" \
--data "{
    "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())
                // Konfigurasikan konteks untuk pengenalan kustom di sini
                .content(Arrays.asList(Collections.singletonMap("text", "")))
                .build();

        Map<String, Object> asrOptions = new HashMap<>();
        asrOptions.put("enable_itn", false);
        // asrOptions.put("language", "zh"); // Opsional. Jika bahasa audio diketahui, tentukan dengan parameter ini untuk meningkatkan akurasi pengenalan.
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // Kunci API untuk wilayah Singapura/AS dan Beijing berbeda. Untuk mendapatkan kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
                // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .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 {
            // Berikut adalah URL untuk wilayah Singapura/AS. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.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

# Berikut adalah URL untuk wilayah Singapura/AS. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

messages = [
    {"role": "system", "content": [{"text": ""}]},  # Konfigurasikan konteks untuk pengenalan kustom
    {"role": "user", "content": [{"audio": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"}]}
]

response = dashscope.MultiModalConversation.call(
    # Kunci API untuk wilayah Singapura/AS dan Beijing berbeda. Untuk mendapatkan kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="qwen3-asr-flash",
    messages=messages,
    result_format="message",
    asr_options={
        #"language": "zh", # Opsional. Jika bahasa audio diketahui, tentukan dengan parameter ini untuk meningkatkan akurasi pengenalan.
        "enable_itn":False
    }
)
print(response)

model string (Wajib)

Nama model. Parameter ini hanya berlaku untuk model Qwen3-ASR-Flash dan Qwen-Audio ASR.

messages array (Wajib)

Daftar pesan.

Saat melakukan panggilan HTTP, letakkan messages dalam objek input.

Jenis pesan

object (Opsional)

Menentukan tujuan atau peran untuk model. Jika Anda menentukan pesan sistem, pesan tersebut harus menjadi pesan pertama dalam daftar.

Parameter ini hanya didukung oleh Qwen3-ASR-Flash. Qwen-Audio ASR tidak mendukung parameter ini.

Properti

content array (Wajib)

Konten pesan.

Properti

text string

Menentukan konteks. Qwen3-ASR-Flash memungkinkan Anda memberikan informasi referensi, seperti teks latar belakang dan kosakata entitas, sebagai konteks selama pengenalan ucapan untuk mendapatkan hasil yang disesuaikan.

Batas panjang: 10.000 token.

Untuk informasi lebih lanjut, lihat Peningkatan konteks.

role string (Wajib)

Atur ke system.

object (Wajib)

Pesan yang dikirim dari pengguna ke model.

Properti

content array (Wajib)

Konten pesan pengguna.

Properti

audio string (Wajib)

Audio yang akan dikenali. Untuk informasi lebih lanjut tentang cara menggunakan parameter ini, lihat Memulai.

Model Qwen3-ASR-Flash mendukung tiga format input: file yang dikodekan Base64, jalur mutlak file lokal, atau URL file yang dapat diakses melalui jaringan publik.

Model Qwen-Audio ASR mendukung dua format input: jalur mutlak file lokal atau URL file yang dapat diakses melalui jaringan publik.

Saat menggunakan SDK, jika file audio disimpan di Object Storage Service (OSS), URL sementara yang dimulai dengan oss:// tidak didukung.

Saat menggunakan RESTful API, jika file audio disimpan di OSS, URL sementara yang dimulai dengan oss:// didukung. Namun, perhatikan hal berikut:

Penting
  • URL sementara berlaku selama 48 jam dan tidak dapat digunakan setelah kedaluwarsa. Jangan menggunakannya di lingkungan produksi.

  • API untuk mendapatkan unggah kredensial dibatasi hingga 100 QPS dan tidak mendukung penskalaan. Jangan menggunakannya di lingkungan produksi, skenario konkurensi tinggi, atau skenario uji stres.

  • Untuk lingkungan produksi, gunakan layanan penyimpanan yang stabil seperti Alibaba Cloud OSS untuk memastikan ketersediaan file jangka panjang dan menghindari masalah pembatasan laju.

role string (Wajib)

Peran pesan pengguna. Atur ke user.

asr_options object (Opsional)

Menentukan apakah akan mengaktifkan fitur tertentu.

Parameter ini hanya didukung oleh Qwen3-ASR-Flash. Qwen-Audio ASR tidak mendukung parameter ini.

Properti

language string (Opsional) Tidak ada nilai default

Jika Anda mengetahui bahasa audio, Anda dapat menentukannya menggunakan parameter ini untuk meningkatkan akurasi pengenalan.

Anda hanya dapat menentukan satu bahasa.

Jika bahasa audio tidak pasti atau mencakup beberapa bahasa, seperti campuran bahasa Mandarin, Inggris, Jepang, dan Korea, jangan tentukan parameter ini.

Nilai yang valid:

  • zh: Tionghoa (Mandarin, Sichuan, Minnan, dan Wu)

  • yue: Kanton

  • en: Inggris

  • ja: Jepang

  • de: Jerman

  • ko: Korea

  • ru: Rusia

  • fr: Prancis

  • pt: Portugis

  • ar: Arab

  • it: Italia

  • es: Spanyol

  • hi: Hindi

  • id: Bahasa Indonesia

  • th: Thai

  • tr: Turki

  • uk: Ukraina

  • vi: Bahasa Vietnam

  • cs: Ceko

  • da: Bahasa Denmark

  • fil: Filipino

  • fi: Finlandia

  • is: Islandia

  • ms: Melayu

  • no: Norwegia

  • pl: Polandia

  • sv: Swedia

enable_itn boolean (Opsional) Default: false

Menentukan apakah akan mengaktifkan Inverse Text Normalization (ITN). Fitur ini hanya berlaku untuk audio berbahasa Mandarin dan Inggris.

Nilai:

  • true: aktifkan

  • false: nonaktifkan

Response body

Qwen3-ASR-Flash

{
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "annotations": [
                        {
                            "language": "zh",
                            "type": "audio_info",
                            "emotion": "neutral"
                        }
                    ],
                    "content": [
                        {
                            "text": "Welcome to Alibaba Cloud."
                        }
                    ],
                    "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

Pengidentifikasi unik untuk panggilan.

SDK Java mengembalikan parameter ini sebagai requestId

output object

Informasi tentang hasil panggilan.

Properti

choices array

Output model. Parameter choices dikembalikan ketika result_format diatur ke message.

Properti

finish_reason string

Tiga skenario berikut mungkin terjadi:

  • Nilainya null selama generasi.

  • stop: Generasi berhenti secara alami atau dihentikan oleh kondisi berhenti yang ditentukan dalam parameter input.

  • length: Generasi berhenti karena output mencapai panjang maksimum.

message object

Objek pesan yang dikembalikan oleh model.

Properti

role string

Peran pesan output. Nilainya adalah assistant.

content array

Konten pesan output.

Properti

text string

Hasil pengenalan ucapan.

annotations array

Informasi anotasi, seperti bahasa.

Properti

language string

Bahasa audio yang dikenali. Jika Anda menentukan parameter permintaan language, parameter ini mengembalikan nilai yang sama.

Nilai yang valid:

  • zh: Bahasa Mandarin (Mandarin, Sichuan, Minnan, dan Wu)

  • yue: Kanton

  • en: Inggris

  • ja: Jepang

  • de: Jerman

  • ko: Korea

  • ru: Rusia

  • fr: Prancis

  • pt: Portugis

  • ar: Arab

  • it: Italia

  • es: Spanyol

  • hi: Hindi

  • id: Indonesia

  • th: Thailand

  • tr: Turki

  • uk: Ukraina

  • vi: Vietnam

  • cs: Ceko

  • da: Denmark

  • fil: Filipina

  • fi: Finlandia

  • is: Islandia

  • ms: Melayu

  • no: Norwegia

  • pl: Polandia

  • sv: Swedia

type string

Nilainya tetap audio_info, yang menunjukkan informasi audio.

emotion string

Emosi yang terdeteksi dalam audio yang dikenali. Emosi berikut didukung:

  • surprised: Terkejut.

  • neutral

  • happy: senang

  • sad: sedih

  • disgusted

  • angry

  • fearful: Menunjukkan rasa takut.

usage object

Informasi penggunaan token untuk permintaan.

Properti

input_tokens_details integer

Panjang konten input untuk Qwen3-ASR-Flash dalam token.

Properti

text_tokens integer

Panjang teks input dalam token saat Anda menggunakan fitur peningkatan konteks Qwen3-ASR-Flash. Nilai maksimum adalah 10.000 token.

output_tokens_details integer

Panjang konten output dari Qwen3-ASR-Flash dalam token.

Properti

text_tokens integer

Panjang teks yang dikenali yang dioutput oleh Qwen3-ASR-Flash dalam token.

seconds integer

Durasi audio untuk Qwen3-ASR-Flash dalam detik.

input_tokens integer

Panjang audio input untuk Qwen-Audio ASR dalam token. Audio dikonversi ke token berdasarkan aturan berikut: setiap detik audio dikonversi menjadi 25 token. Durasi kurang dari 1 detik dihitung sebagai 1 detik.

output_tokens integer

Panjang teks yang dikenali yang dioutput oleh Qwen-Audio ASR dalam token.

audio_tokens integer

Panjang audio input untuk Qwen-Audio ASR dalam token. Audio dikonversi ke token berdasarkan aturan berikut: setiap detik audio dikonversi menjadi 25 token. Durasi kurang dari 1 detik dihitung sebagai 1 detik.

Pemanggilan asinkron

Kirim tugas

China Daratan (Beijing): POST https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription

Internasional (Singapura): POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/transcription

Request body

cURL

# ======= Penting =======
# URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
# === Hapus komentar ini sebelum menjalankan ===

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

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

import java.io.IOException;

public class Main {
    // URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: 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) {
        // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
        // Jika variabel lingkungan tidak diatur, ganti baris berikut dengan String apiKey = "sk-xxx" menggunakan Kunci API Model Studio Anda.
        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();
                // Parsing JSON dengan Gson
                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("tugas gagal! Kode HTTP: " + 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

import requests
import json
import os

# URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription
url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/transcription"

# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
# Jika variabel lingkungan tidak diatur, ganti baris berikut dengan DASHSCOPE_API_KEY = "sk-xxx" menggunakan Kunci API Model Studio Anda.
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("tugas gagal!")
    print(response.json())

model string (Wajib)

Nama model. Parameter ini hanya berlaku untuk model Qwen3-ASR-Flash-Filetrans.

input object (Wajib)

Properti

file_url string (Wajib)

URL file audio yang akan dikenali. URL harus dapat diakses dari jaringan publik.

Saat menggunakan RESTful API, jika file audio disimpan di OSS, URL sementara yang dimulai dengan oss:// didukung. Namun, perhatikan hal berikut:

Penting
  • URL sementara berlaku selama 48 jam dan tidak dapat digunakan setelah kedaluwarsa. Jangan menggunakannya di lingkungan produksi.

  • API untuk mendapatkan unggah kredensial dibatasi hingga 100 QPS dan tidak mendukung penskalaan. Jangan menggunakannya di lingkungan produksi, skenario konkurensi tinggi, atau skenario uji stres.

  • Untuk lingkungan produksi, gunakan layanan penyimpanan yang stabil seperti Alibaba Cloud OSS untuk memastikan ketersediaan file jangka panjang dan menghindari masalah pembatasan laju.

parameters object (Opsional)

Properti

language string (Opsional) Tidak ada nilai default

Jika Anda mengetahui bahasa audio, Anda dapat menentukannya menggunakan parameter ini untuk meningkatkan akurasi pengenalan.

Anda hanya dapat menentukan satu bahasa.

Jika bahasa audio tidak pasti atau mencakup beberapa bahasa, seperti campuran bahasa Mandarin, Inggris, Jepang, dan Korea, jangan tentukan parameter ini.

Nilai yang valid:

  • zh: Bahasa Mandarin (Mandarin, Sichuan, Minnan, dan Wu)

  • yue: Kanton

  • en: Inggris

  • ja: Jepang

  • de: Jerman

  • ko: Korea

  • ru: Rusia

  • fr: Prancis

  • pt: Portugis

  • ar: Arab

  • it: Italia

  • es: Spanyol

  • hi: Hindi

  • id: Indonesia

  • th: Thailand

  • tr: Turki

  • uk: Ukraina

  • vi: Vietnam

  • cs: Ceko

  • da: Denmark

  • fil: Filipina

  • fi: Finlandia

  • is: Islandia

  • ms: Melayu

  • no: Norwegia

  • pl: Polandia

  • sv: Swedia

enable_itn boolean (Opsional) Default: false

Menentukan apakah akan mengaktifkan Inverse Text Normalization (ITN). Fitur ini hanya berlaku untuk audio berbahasa Mandarin dan Inggris.

Nilai:

  • true: aktifkan

  • false: nonaktifkan

text string

Menentukan konteks. Qwen3-ASR-Flash memungkinkan Anda memberikan informasi referensi, seperti teks latar belakang dan kosakata entitas, sebagai konteks selama pengenalan ucapan untuk mendapatkan hasil yang disesuaikan.

Batas panjang: 10.000 token.

Untuk informasi lebih lanjut, lihat Peningkatan konteks.

channel_id array (Opsional) Default: [0]

Menentukan indeks track audio dalam file audio multi-track yang akan dikenali. Indeks dimulai dari 0. Misalnya, [0] menunjukkan bahwa hanya track pertama yang dikenali, dan [0, 1] menunjukkan bahwa track pertama dan kedua dikenali. Jika Anda tidak menentukan parameter ini, track pertama diproses secara default.

Penting

Setiap track audio yang ditentukan ditagih secara terpisah. Misalnya, permintaan untuk [0, 1] untuk satu file dikenai biaya dua kali terpisah.

Response body

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

request_id string

Pengidentifikasi unik untuk panggilan.

output object

Informasi tentang hasil panggilan.

Properti

task_id string

ID tugas. ID ini diteruskan sebagai parameter permintaan ke API untuk mengkueri tugas pengenalan ucapan.

task_status string

Status tugas:

  • PENDING: Tugas sedang dalam antrean.

  • RUNNING: Tugas sedang berjalan.

  • SUCCEEDED: Tugas berhasil diselesaikan.

  • FAILED: Tugas gagal dieksekusi.

  • UNKNOWN: Tugas tidak ada atau statusnya tidak dapat ditentukan.

Ambil hasil eksekusi tugas

China Daratan (Beijing): GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

Internasional (Singapura): GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/{task_id}

Request body

Teruskan task_id dari respons pengiriman tugas sebagai parameter untuk mengkueri hasil pengenalan ucapan.

cURL

# ======= Penting =======
# URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}. Catatan: Ganti {task_id} dengan ID tugas yang akan dikueri.
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
# === Hapus komentar ini sebelum menjalankan ===

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

import okhttp3.*;

import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        // Ganti dengan task_id yang sebenarnya.
        String taskId = "xxx";
        // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
        // Jika variabel lingkungan tidak diatur, ganti baris berikut dengan String apiKey = "sk-xxx" menggunakan Kunci API Model Studio Anda.
        String apiKey = System.getenv("DASHSCOPE_API_KEY");

        // URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}. Catatan: Ganti {task_id} dengan ID tugas yang akan dikueri.
        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

import os
import requests


# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
# Jika variabel lingkungan tidak diatur, ganti baris berikut dengan DASHSCOPE_API_KEY = "sk-xxx" menggunakan Kunci API Model Studio Anda.
DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")

# Ganti dengan task_id yang sebenarnya.
task_id = "xxx"
# URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}. Catatan: Ganti {task_id} dengan ID tugas yang akan dikueri.
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())

Response body

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

Pengidentifikasi unik untuk panggilan.

output object

Informasi tentang hasil panggilan.

Properti

task_id string

ID tugas. ID ini diteruskan sebagai parameter permintaan ke API untuk mengkueri tugas pengenalan ucapan.

task_status string

Status tugas:

  • PENDING: Tugas sedang dalam antrean untuk diproses.

  • RUNNING: Tugas sedang berjalan.

  • SUCCEEDED: Eksekusi tugas berhasil.

  • FAILED: Eksekusi tugas gagal.

  • UNKNOWN: Tugas tidak ada atau statusnya tidak dapat ditentukan.

result object

Hasil pengenalan ucapan.

Properti

transcription_url string

URL unduhan untuk file hasil pengenalan. Tautan ini berlaku selama 24 jam. Setelah kedaluwarsa, Anda tidak dapat mengkueri tugas atau mengunduh hasil menggunakan URL sebelumnya.
Hasil pengenalan disimpan sebagai file JSON. Anda dapat mengunduh file dari tautan ini atau membaca konten file langsung menggunakan permintaan HTTP.

Untuk informasi lebih lanjut, lihat Detail hasil pengenalan.

submit_time string

Waktu tugas dikirim.

schedule_time string

Waktu terjadwal adalah saat Job mulai dieksekusi.

end_time string

Waktu tugas berakhir.

task_metrics object

Metrik tugas, yang mencakup statistik kinerja mengenai status sub-tugas.

Properti

TOTAL integer

Jumlah total sub-tugas.

SUCCEEDED integer

Jumlah sub-tugas yang berhasil.

FAILED integer

Jumlah sub-tugas yang gagal.

code string

Kode kesalahan. Ini dikembalikan hanya ketika tugas gagal.

message string

Pesan kesalahan. Ini dikembalikan hanya ketika tugas gagal.

usage object

Informasi penggunaan token untuk permintaan.

Properti

seconds integer

Durasi audio untuk Qwen3-ASR-Flash dalam detik.

Detail hasil pengenalan

{
    "file_url":"https://***.wav",
    "audio_info":{
        "format":"wav",
        "sample_rate": 16000
    },
    "transcripts":[
        {
            "channel_id":0,
            "text":"The weather is okay today.",
            "sentences":[
                {
                    "begin_time":100,
                    "end_time":3820,
                    "text":"The weather is okay today.",
                    "sentence_id":0,
                    "language":"zh",
                    "emotion":"neutral"
                }
            ]
        }
    ]
}

file_url string

URL file audio yang dikenali.

audio_info object

Informasi tentang file audio yang dikenali.

Properti

format string

Format audio.

sample_rate integer

Laju pengambilan sampel audio.

transcripts array

Daftar hasil pengenalan lengkap. Setiap elemen sesuai dengan konten yang dikenali dari satu track audio.

Properti

channel_id integer

Indeks track audio. Indeks dimulai dari 0.

text string

Teks yang dikenali.

sentences object

Daftar hasil pengenalan tingkat kalimat.

Properti

begin_timeinteger

Timestamp awal kalimat dalam milidetik.

end_timeinteger

Timestamp akhir kalimat dalam milidetik.

text string

Teks yang dikenali.

sentence_id integer

Indeks kalimat. Indeks dimulai dari 0.

language string

Bahasa audio yang dikenali. Jika Anda menentukan parameter permintaan language, parameter ini mengembalikan nilai yang sama.

Nilai yang valid:

  • zh: Bahasa Mandarin (Mandarin, Sichuan, Minnan, dan Wu)

  • yue: Kanton

  • en: Inggris

  • ja: Jepang

  • de: Jerman

  • ko: Korea

  • ru: Rusia

  • fr: Prancis

  • pt: Portugis

  • ar: Arab

  • it: Italia

  • es: Spanyol

  • hi: Hindi

  • id: Indonesia

  • th: Thailand

  • tr: Turki

  • uk: Ukraina

  • vi: Vietnam

  • cs: Ceko

  • da: Denmark

  • fil: Filipina

  • fi: Finlandia

  • is: Islandia

  • ms: Melayu

  • no: Norwegia

  • pl: Polandia

  • sv: Swedia

emotion string

Emosi yang terdeteksi dalam audio yang dikenali. Emosi berikut didukung:

  • surprised: Terkejut.

  • neutral

  • happy: senang

  • sad: sedih

  • disgusted

  • angry

  • fearful: Menunjukkan rasa takut.