All Products
Search
Document Center

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

Last Updated:Jul 03, 2026

Parameter input dan output untuk model Qwen-ASR. Panggil API menggunakan protokol Kompatibel dengan OpenAI atau DashScope.

Panduan pengguna: Lihat Pengenalan ucapan non-real-time.

Jenis koneksi model

Model yang berbeda mendukung jenis koneksi yang berbeda.

Model

Jenis koneksi

Qwen3-ASR-Flash-Filetrans

Hanya pemanggilan asinkron DashScope yang didukung

Qwen3-ASR-Flash

Kompatibel dengan OpenAI dan synchronous DashScope

Kompatibel dengan OpenAI

Penting

Mode kompatibel dengan OpenAI tidak tersedia di wilayah AS.

URL

Singapura

Alamat permintaan HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

base_url untuk panggilan SDK: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

China (Beijing)

Alamat permintaan HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

base_url untuk panggilan SDK: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Penting

Alibaba Cloud Model Studio telah merilis domain khusus ruang kerja untuk wilayah China (Beijing) dan Singapura. Domain khusus baru ini memberikan performa lebih unggul dan stabilitas lebih tinggi untuk permintaan inferensi. Kami menyarankan migrasi ke domain baru berikut:

  • China (Beijing): dari dashscope.aliyuncs.com ke {WorkspaceId}.cn-beijing.maas.aliyuncs.com

  • Singapura: dari dashscope-intl.aliyuncs.com ke {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

Ganti {WorkspaceId} dengan ID Ruang Kerja Anda yang sebenarnya. Domain lama tetap berfungsi sepenuhnya.

Isi permintaan

Input: URL file audio

Python SDK

from openai import OpenAI
import os

try:
    client = OpenAI(
        # Kunci API untuk wilayah Singapura/AS dan Beijing berbeda. Untuk mendapatkan Kunci API, lihat: https://www.alibabacloud.com/help/en/model-studio/get-api-key
        # Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        # URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi tergantung wilayah.
        # Alternatif: gunakan "https://dashscope.aliyuncs.com" tanpa awalan WorkspaceId
        base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
    )

    stream_enabled = False  # Apakah akan mengaktifkan keluaran streaming
    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,
        # Saat stream bernilai False, stream_options tidak dapat diatur
        # stream_options={"include_usage": True},
        extra_body={
            "asr_options": {
                # "language": "zh",
                "enable_itn": False
            }
        }
    )
    if stream_enabled:
        full_content = ""
        print("Keluaran streaming:")
        for chunk in completion:
            # Saat stream_options.include_usage bernilai True, field choices pada chunk terakhir adalah daftar kosong dan harus dilewati (Anda bisa mendapatkan token usage melalui chunk.usage)
            print(chunk)
            if chunk.choices and chunk.choices[0].delta.content:
                full_content += chunk.choices[0].delta.content
        print(f"Konten lengkap: {full_content}")
    else:
        print(f"Keluaran non-streaming: {completion.choices[0].message.content}")
except Exception as e:
    print(f"Error: {e}")

Node.js SDK

// Persiapan sebelum menjalankan:
// Berlaku untuk Windows/Mac/Linux:
// 1. Pastikan Node.js telah terinstal (disarankan versi >= 14)
// 2. Jalankan perintah berikut untuk menginstal dependensi yang diperlukan: npm install openai

import OpenAI from "openai";

const client = new OpenAI({
  // Kunci API untuk wilayah Singapura/AS dan Beijing berbeda. Untuk mendapatkan Kunci API, lihat: https://www.alibabacloud.com/help/en/model-studio/get-api-key
  // Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey: "sk-xxx",
  apiKey: process.env.DASHSCOPE_API_KEY,
  // URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi tergantung wilayah.
  // Alternatif: gunakan "https://dashscope.aliyuncs.com" tanpa awalan WorkspaceId
  baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
});

async function main() {
  try {
    const streamEnabled = false; // Apakah akan mengaktifkan keluaran streaming
    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,
      // Saat stream bernilai False, stream_options tidak dapat diatur
      // stream_options: {
      //   "include_usage": true
      // },
      asr_options: {
        // language: "zh",
        enable_itn: false
      }
    });

    if (streamEnabled) {
      let fullContent = "";
      console.log("Keluaran streaming:");
      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(`Konten lengkap: ${fullContent}`);
    } else {
      console.log(`Keluaran non-streaming: ${completion.choices[0].message.content}`);
    }
  } catch (err) {
    console.error(`Error: ${err}`);
  }
}

main();

cURL

URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi tergantung wilayah.

# Alternatif: gunakan "https://dashscope.aliyuncs.com" tanpa awalan WorkspaceId
curl -X POST 'https://{WorkspaceId}.ap-southeast-1.maas.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
    }
}'

Input: file audio yang dikodekan Base64

Anda juga dapat meneruskan audio yang dikodekan Base64 sebagai URL data, dalam format data:<mediatype>;base64,<data>.

  • <mediatype>: Jenis MIME.

    Nilainya bervariasi tergantung format audio. Contohnya:

    • WAV: audio/wav

    • MP3: audio/mpeg

  • <data>: String audio data yang dikodekan Base64.

    Pengkodean Base64 memperbesar ukuran muatan. Pastikan file sumber cukup kecil sehingga data yang dikodekan tetap sesuai dalam batas input 10 MB.

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

    Lihat contoh kode

    import base64, pathlib
    
    # input.mp3 adalah file audio lokal. Ganti path dengan file Anda sendiri dan pastikan file tersebut memenuhi persyaratan audio.
    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 adalah file audio lokal. Gantilah dengan path ke file Anda sendiri dan pastikan file tersebut memenuhi persyaratan audio.
         */
        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;
        }
    
        // Contoh penggunaan
        public static void main(String[] args) throws Exception {
            System.out.println(toDataUrl("input.mp3"));
        }
    }

Python SDK

Contoh ini menggunakan file audio berikut: welcome.mp3.

import base64
from openai import OpenAI
import os
import pathlib

try:
    # Ganti dengan path aktual ke file audio Anda
    file_path = "welcome.mp3"
    # Ganti dengan jenis MIME aktual file audio Anda
    audio_mime_type = "audio/mpeg"

    file_path_obj = pathlib.Path(file_path)
    if not file_path_obj.exists():
        raise FileNotFoundError(f"File audio tidak ditemukan: {file_path}")

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

    client = OpenAI(
        # Kunci API untuk wilayah Singapura/AS dan Beijing berbeda. Untuk mendapatkan Kunci API, lihat: https://www.alibabacloud.com/help/en/model-studio/get-api-key
        # Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        # URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi tergantung wilayah.
        # Alternatif: gunakan "https://dashscope.aliyuncs.com" tanpa awalan WorkspaceId
        base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
    )

    stream_enabled = False  # Apakah akan mengaktifkan keluaran streaming
    completion = client.chat.completions.create(
        model="qwen3-asr-flash",
        messages=[
            {
                "content": [
                    {
                        "type": "input_audio",
                        "input_audio": {
                            "data": data_uri
                        }
                    }
                ],
                "role": "user"
            }
        ],
        stream=stream_enabled,
        # Saat stream bernilai False, stream_options tidak dapat diatur
        # stream_options={"include_usage": True},
        extra_body={
            "asr_options": {
                # "language": "zh",
                "enable_itn": False
            }
        }
    )
    if stream_enabled:
        full_content = ""
        print("Keluaran streaming:")
        for chunk in completion:
            # Saat stream_options.include_usage bernilai True, field choices pada chunk terakhir adalah daftar kosong dan harus dilewati (Anda bisa mendapatkan token usage melalui chunk.usage)
            print(chunk)
            if chunk.choices and chunk.choices[0].delta.content:
                full_content += chunk.choices[0].delta.content
        print(f"Konten lengkap: {full_content}")
    else:
        print(f"Keluaran non-streaming: {completion.choices[0].message.content}")
except Exception as e:
    print(f"Error: {e}")

Node.js SDK

Contoh ini menggunakan file audio berikut: welcome.mp3.

// Persiapan sebelum menjalankan:
// Berlaku untuk Windows/Mac/Linux:
// 1. Pastikan Node.js telah terinstal (disarankan versi >= 14)
// 2. Jalankan perintah berikut untuk menginstal dependensi yang diperlukan: npm install openai

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

const client = new OpenAI({
  // Kunci API untuk wilayah Singapura/AS dan Beijing berbeda. Untuk mendapatkan Kunci API, lihat: https://www.alibabacloud.com/help/en/model-studio/get-api-key
  // Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey: "sk-xxx",
  apiKey: process.env.DASHSCOPE_API_KEY,
  // URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi tergantung wilayah.
  // Alternatif: gunakan "https://dashscope.aliyuncs.com" tanpa awalan WorkspaceId
  baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
});

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

// Ganti dengan path aktual ke file audio Anda
const dataUri = `data:audio/mpeg;base64,${encodeAudioFile("welcome.mp3")}`;

async function main() {
  try {
    const streamEnabled = false; // Apakah akan mengaktifkan keluaran streaming
    const completion = await client.chat.completions.create({
      model: "qwen3-asr-flash",
      messages: [
        {
          role: "user",
          content: [
            {
              type: "input_audio",
              input_audio: {
                data: dataUri
              }
            }
          ]
        }
      ],
      stream: streamEnabled,
      // Saat stream bernilai False, stream_options tidak dapat diatur
      // stream_options: {
      //   "include_usage": true
      // },
      asr_options: {
        // language: "zh",
        enable_itn: false
      }
    });

    if (streamEnabled) {
      let fullContent = "";
      console.log("Keluaran streaming:");
      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(`Konten lengkap: ${fullContent}`);
    } else {
      console.log(`Keluaran non-streaming: ${completion.choices[0].message.content}`);
    }
  } catch (err) {
    console.error(`Error: ${err}`);
  }
}

main();

model string (Wajib)

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

messages array (Wajib)

Daftar pesan.

Jenis pesan

Pesan Sistem object (Opsional)

Tujuan atau peran model. Jika Anda menggunakan pesan sistem, pesan tersebut harus menjadi pesan pertama dalam daftar messages.

Properti

role string (Wajib)

Diatur ke system.

Pesan Pengguna object(Wajib)

Pesan yang dikirim pengguna ke model.

Properti

content array (Wajib)

Konten pesan pengguna. Hanya satu pesan yang diperbolehkan dalam array.

Properti

type string(Wajib)

Diatur ke input_audio, yang menunjukkan bahwa input berupa audio.

input_audio string(Wajib)

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

Dalam mode kompatibel dengan OpenAI, model Qwen3-ASR-Flash mendukung dua format input: file yang dikodekan Base64 dan URL file audio yang dapat diakses melalui jaringan publik.

Saat Anda menggunakan SDK, jika file audio disimpan di OSS, URL sementara yang diawali dengan oss:// tidak didukung.

Saat Anda menggunakan RESTful API, jika file audio disimpan di OSS, URL sementara yang diawali dengan oss:// didukung. Catatan:

Penting
  • URL sementara berlaku selama 48 jam. Setelah kedaluwarsa, URL tersebut tidak dapat digunakan. Jangan gunakan di lingkungan produksi.

  • API kredensial unggah file memiliki pembatasan laju hingga 100 QPS dan tidak dapat diskalakan. Jangan gunakan dalam skenario produksi, konkurensi tinggi, atau uji stres.

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

role string (Wajib)

Peran pesan pengguna. Diatur ke user.

asr_options object (Opsional)

Menentukan apakah akan mengaktifkan fitur tertentu.

asr_options bukan parameter standar OpenAI. Jika Anda menggunakan SDK OpenAI, teruskan melalui extra_body.

Properti

language string (Opsional) Tidak ada nilai default

Jika bahasa audio diketahui, 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 Mandarin, Inggris, Jepang, dan Korea), jangan tentukan parameter ini.

Nilai yang valid

  • zh: Bahasa 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: Vietnam

  • cs: Ceko

  • da: Bahasa Denmark

  • fil: Filipino

  • fi: Bahasa Finlandia

  • is: Islandia

  • ms: Melayu

  • no: Norwegia

  • pl: Bahasa Polandia

  • sv: Swedia

enable_itn boolean (Opsional) Default: false

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

  • true

  • false (default)

stream boolean (Opsional) Default: false

Menentukan apakah akan menggunakan keluaran streaming. Lihat Keluaran streaming.

Nilai yang valid:

  • false: Model mengembalikan konten lengkap setelah generasi selesai.

  • true: Model menghasilkan dan mengeluarkan konten secara bersamaan. Blok data (chunk) dikembalikan setiap kali sebagian konten dihasilkan. Anda harus membaca blok-blok ini secara real-time untuk menyusun balasan lengkap.

Atur ke true untuk mengurangi risiko timeout permintaan.

stream_options object (Opsional)

Item konfigurasi untuk keluaran streaming. Parameter ini hanya berlaku saat stream diatur ke true.

Properti

include_usage boolean (Opsional) Default: false

Menentukan apakah akan menyertakan informasi konsumsi token dalam blok data terakhir respons.

Nilai yang valid:

  • true

  • false (default)

Selama keluaran streaming, informasi konsumsi token hanya muncul dalam blok data terakhir respons.

Isi respons

Keluaran non-streaming

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

Keluaran streaming

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":"Welcome","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":" to","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":" Alibaba","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":" Cloud","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

Pengidentifikasi unik untuk pemanggilan ini.

choices array

Informasi keluaran dari model.

Properti

finish_reason string

Nilai yang valid:

  • null: Keluaran masih dalam proses generasi.

  • stop: Keluaran berakhir secara alami atau dihentikan oleh kondisi berhenti.

  • length: Keluaran melebihi batas panjang maksimum.

index integer

Indeks objek saat ini dalam array choices.

message object

Objek pesan yang dikeluarkan oleh model.

Properti

role string

Peran pesan keluaran. Diatur ke assistant.

content array

Hasil pengenalan ucapan.

annotations array

Informasi anotasi keluaran, seperti bahasa.

Properti

language string

Bahasa audio yang dikenali. Jika parameter permintaan language ditentukan, nilai ini sama dengan parameter yang ditentukan.

Nilai yang valid

  • zh: Bahasa 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: 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

Diatur ke audio_info, yang menunjukkan informasi audio.

emotion string

Emosi audio yang dikenali. Emosi berikut didukung:

  • surprised: terkejut

  • neutral: netral

  • happy: senang

  • sad: sedih

  • disgusted: jijik

  • angry: marah

  • fearful: takut

created integer

Stempel waktu UNIX (dalam detik) saat permintaan dibuat.

model string

Model yang digunakan untuk permintaan ini.

object string

Selalu chat.completion.

usage object

Informasi konsumsi token untuk permintaan ini.

Properti

completion_tokens integer

Jumlah token dalam keluaran model.

completion_tokens_details object

Rincian detail halus token dalam keluaran model.

Properti

text_tokens integer

Jumlah token dalam teks keluaran model.

prompt_tokens object

Jumlah token dalam input.

prompt_tokens_details object

Rincian detail halus token dalam input.

Properti

audio_tokens integer

Panjang audio input dalam token. Aturan konversi audio ke token: Setiap detik audio dikonversi menjadi 25 token. Durasi kurang dari 1 detik dihitung sebagai 1 detik.

text_tokens integer

Anda dapat mengabaikan parameter ini.

seconds integer

Durasi audio dalam detik.

total_tokens integer

Total jumlah token input dan output (total_tokens = completion_tokens + prompt_tokens).

DashScope synchronous

URL

Singapura

Alamat permintaan HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

base_url untuk panggilan SDK: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

AS (Virginia)

Jika Anda memilih cakupan penerapan AS, sumber daya komputasi inferensi model hanya tersedia di Amerika Serikat. Data statis disimpan di wilayah yang Anda pilih. Wilayah yang didukung: AS (Virginia).

Alamat permintaan HTTP: POST https://dashscope-us.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

base_url untuk panggilan SDK: https://dashscope-us.aliyuncs.com/api/v1

China (Beijing)

Alamat permintaan HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

URL dasar untuk panggilan SDK: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Penting

Alibaba Cloud Model Studio telah merilis domain khusus ruang kerja untuk wilayah China (Beijing) dan Singapura. Domain khusus baru ini memberikan performa lebih unggul dan stabilitas lebih tinggi untuk permintaan inferensi. Kami menyarankan migrasi ke domain baru berikut:

  • China (Beijing): dari dashscope.aliyuncs.com ke {WorkspaceId}.cn-beijing.maas.aliyuncs.com

  • Singapura: dari dashscope-intl.aliyuncs.com ke {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

Ganti {WorkspaceId} dengan ID Ruang Kerja Anda yang sebenarnya. Domain lama tetap berfungsi sepenuhnya.

Isi permintaan

Contoh berikut menunjukkan cara mengenali file audio dari URL. Untuk contoh cara mengenali file audio lokal, lihat Panduan Cepat Mulai.

cURL

# Alternatif: gunakan "https://dashscope.aliyuncs.com" tanpa awalan WorkspaceId
curl -X POST "https://{WorkspaceId}.ap-southeast-1.maas.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();

        Map<String, Object> asrOptions = new HashMap<>();
        asrOptions.put("enable_itn", false);
        // asrOptions.put("language", "zh"); // Opsional. Jika bahasa audio diketahui, gunakan parameter ini untuk menentukan bahasa guna meningkatkan akurasi pengenalan.
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // Kunci API untuk wilayah Singapura/AS dan Beijing berbeda. Untuk mendapatkan Kunci API, lihat: https://www.alibabacloud.com/help/en/model-studio/get-api-key
                // Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // Untuk menggunakan model di wilayah AS, tambahkan akhiran "-us" pada nama model, misalnya, qwen3-asr-flash-us
                .model("qwen3-asr-flash")
                .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 wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi tergantung wilayah.
            // Alternatif: gunakan "https://dashscope.aliyuncs.com" tanpa awalan WorkspaceId
            Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
            simpleMultiModalConversationCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

Python

import os
import dashscope

# URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi tergantung wilayah.
# Alternatif: gunakan "https://dashscope.aliyuncs.com" tanpa awalan WorkspaceId
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

messages = [
    {"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, lihat: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    # Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Untuk menggunakan model di wilayah AS, tambahkan akhiran "-us" pada nama model, misalnya, qwen3-asr-flash-us
    model="qwen3-asr-flash",
    messages=messages,
    result_format="message",
    asr_options={
        #"language": "zh", # Opsional. Jika bahasa audio diketahui, gunakan parameter ini untuk menentukan bahasa guna meningkatkan akurasi pengenalan.
        "enable_itn":False
    }
)
print(response)

model string (Wajib)

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

messages array (Wajib)

Daftar pesan.

Saat Anda melakukan panggilan HTTP, letakkan messages dalam objek input.

Jenis pesan

Pesan Sistem object (Opsional)

Ini menentukan tujuan atau peran model. Jika Anda menetapkan pesan sistem, letakkan di awal daftar pesan.

Hanya Qwen3-ASR-Flash yang mendukung parameter ini.

Properti

role string (Wajib)

Diatur ke system.

Pesan Pengguna object(Wajib)

Pesan yang dikirim pengguna ke model.

Properti

content array (Wajib)

Konten pesan pengguna. Hanya satu pesan yang diperbolehkan dalam array.

Properti

audio string(Wajib)

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

Saat Anda menggunakan DashScope, model Qwen3-ASR-Flash mendukung tiga format input: file yang dikodekan Base64, jalur absolut file lokal, dan URL file audio yang dapat diakses melalui jaringan publik.

Saat Anda menggunakan SDK, jika file audio disimpan di OSS, URL sementara yang diawali dengan oss:// tidak didukung.

Saat Anda menggunakan RESTful API, jika file audio disimpan di OSS, URL sementara yang diawali dengan oss:// didukung. Catatan:

Penting
  • URL sementara berlaku selama 48 jam. Setelah kedaluwarsa, URL tersebut tidak dapat digunakan. Jangan gunakan di lingkungan produksi.

  • API kredensial unggah file memiliki pembatasan laju hingga 100 QPS dan tidak dapat diskalakan. Jangan gunakan dalam skenario produksi, konkurensi tinggi, atau uji stres.

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

role string (Wajib)

Peran pesan pengguna. Diatur ke user.

asr_options object (Opsional)

Menentukan apakah akan mengaktifkan fitur tertentu.

Parameter ini hanya didukung oleh model Qwen3-ASR-Flash.

Properti

language string (Opsional) Tidak ada nilai default

Jika bahasa audio diketahui, 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 Mandarin, Inggris, Jepang, dan Korea), jangan tentukan parameter ini.

Nilai yang valid

  • zh: Bahasa 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: 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 Tionghoa dan Inggris.

  • true

  • false (default)

Isi respons

{
    "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 pemanggilan ini.

Parameter yang dikembalikan oleh SDK Java adalah requestId

output object

Informasi hasil pemanggilan.

Properti

choices array

Keluaran model. Dikembalikan saat result_format bernilai message.

Properti

finish_reason string

Nilai yang valid:

  • null: Keluaran masih dalam proses generasi.

  • stop: Keluaran berakhir secara alami atau dihentikan oleh kondisi berhenti.

  • length: Keluaran melebihi batas panjang maksimum.

message object

Objek pesan yang dikeluarkan oleh model.

Properti

role string

Peran pesan keluaran. Diatur ke assistant.

content array

Konten pesan keluaran.

Properti

text string

Hasil pengenalan ucapan.

annotations array

Informasi anotasi keluaran, seperti bahasa.

Properti

language string

Bahasa audio yang dikenali. Jika parameter permintaan language ditentukan, nilai ini sama dengan parameter yang ditentukan.

Nilai yang valid

  • zh: Bahasa 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: 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

Diatur ke audio_info, yang menunjukkan informasi audio.

emotion string

Emosi audio yang dikenali. Emosi berikut didukung:

  • surprised: terkejut

  • neutral: netral

  • happy: senang

  • sad: sedih

  • disgusted: jijik

  • angry: marah

  • fearful: takut

usage object

Informasi konsumsi token untuk permintaan ini.

Properti

input_tokens_details object

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

Properti

text_tokens integer

Anda dapat mengabaikan parameter ini.

output_tokens_details object

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

Properti

text_tokens integer

Panjang teks hasil pengenalan yang dikeluarkan oleh Qwen3-ASR-Flash dalam token.

seconds integer

Durasi audio untuk Qwen3-ASR-Flash dalam satuan detik.

Pemanggilan asinkron DashScope

Deskripsi proses

Pemanggilan asinkron dirancang untuk file audio panjang atau tugas yang memakan waktu. Proses ini menggunakan metode dua langkah "submit-poll" untuk mencegah timeout permintaan:

  1. Langkah 1: Kirim tugas

    • Klien memulai permintaan pemrosesan asinkron.

    • Setelah memvalidasi permintaan, server tidak langsung mengeksekusi tugas. Sebaliknya, server mengembalikan task_id unik, yang menunjukkan bahwa tugas telah berhasil dibuat.

  2. Langkah 2: Dapatkan hasil

    • Klien menggunakan task_id untuk melakukan polling ke API kueri hasil.

    • Saat tugas selesai, API kueri hasil mengembalikan hasil pengenalan akhir.

Anda dapat memilih untuk menggunakan SDK atau memanggil RESTful API secara langsung berdasarkan lingkungan integrasi Anda.

  • Gunakan SDK. Untuk contoh kode, lihat Panduan Cepat Mulai. Untuk parameter permintaan, lihat Badan permintaan operasi Kirim tugas. Untuk informasi respons, lihat Deskripsi hasil pemanggilan asinkron.

    SDK menangani detail pemanggilan API dasar secara otomatis.

    1. Kirim tugas: Panggil metode async_call() (Python) atau asyncCall() (Java) untuk mengirim tugas. Metode ini mengembalikan objek tugas yang berisi task_id.

    2. Dapatkan hasil: Gunakan objek tugas yang dikembalikan pada langkah sebelumnya atau task_id untuk memanggil metode fetch() guna mengambil hasil. SDK secara otomatis menangani logika polling internal hingga tugas selesai atau timeout.

  • Gunakan RESTful API

    Memanggil RESTful API secara langsung memberikan fleksibilitas maksimal.

    1. Kirim tugas. Jika permintaan berhasil, badan respons akan berisi task_id.

    2. Gunakan task_id dari langkah sebelumnya untuk mengambil hasil eksekusi tugas.

Kirim tugas

URL

Singapura

Alamat permintaan HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription

base_url untuk panggilan SDK: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

China (Beijing)

Alamat permintaan HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription

base_url untuk panggilan SDK: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Penting

Alibaba Cloud Model Studio telah merilis domain khusus ruang kerja untuk wilayah China (Beijing) dan Singapura. Domain khusus baru ini memberikan performa lebih unggul dan stabilitas lebih tinggi untuk permintaan inferensi. Kami menyarankan migrasi ke domain baru berikut:

  • China (Beijing): dari dashscope.aliyuncs.com ke {WorkspaceId}.cn-beijing.maas.aliyuncs.com

  • Singapura: dari dashscope-intl.aliyuncs.com ke {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

Ganti {WorkspaceId} dengan ID Ruang Kerja Anda yang sebenarnya. Domain lama tetap berfungsi sepenuhnya.

Isi permintaan

cURL

# ======= Penting =======
# Konfigurasi berikut untuk wilayah Singapura. Ganti "{WorkspaceId}" dengan ID ruang kerja Anda yang sebenarnya. Konfigurasi bervariasi tergantung wilayah.
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi lebih lanjut tentang cara mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
# === Hapus komentar ini sebelum menjalankan perintah. ===

curl --location --request POST 'https://{WorkspaceId}.ap-southeast-1.maas.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

Untuk contoh SDK, lihat Panduan Cepat Mulai.

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

import java.io.IOException;

public class Main {
    // Konfigurasi berikut untuk wilayah Singapura. Ganti "{WorkspaceId}" dengan ID ruang kerja Anda yang sebenarnya. Konfigurasi bervariasi tergantung wilayah.
    private static final String API_URL = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription";

    public static void main(String[] args) {
        // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi lebih lanjut tentang cara mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
        // Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan kunci API Model Studio Anda: 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();
                // Parsing JSON menggunakan 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

Untuk contoh SDK, lihat Panduan Cepat Mulai.

import requests
import json
import os

# Konfigurasi berikut untuk wilayah Singapura. Ganti "{WorkspaceId}" dengan ID ruang kerja Anda yang sebenarnya. Konfigurasi bervariasi tergantung wilayah.
url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription"

# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi lebih lanjut tentang cara mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
# Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan kunci API Model Studio Anda: 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("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 melalui jaringan publik.

Saat Anda menggunakan SDK, jika file audio disimpan di OSS, URL sementara yang diawali dengan oss:// tidak didukung.

Saat Anda menggunakan RESTful API, jika file audio disimpan di OSS, URL sementara yang diawali dengan oss:// didukung. Catatan:

Penting
  • URL sementara berlaku selama 48 jam. Setelah kedaluwarsa, URL tersebut tidak dapat digunakan. Jangan gunakan di lingkungan produksi.

  • API kredensial unggah file memiliki pembatasan laju hingga 100 QPS dan tidak dapat diskalakan. Jangan gunakan dalam skenario produksi, konkurensi tinggi, atau uji stres.

  • Untuk lingkungan produksi, kami merekomendasikan penggunaan layanan penyimpanan 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 bahasa audio diketahui, 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 Mandarin, Inggris, Jepang, dan Korea), jangan tentukan parameter ini.

Nilai yang valid

  • zh: Bahasa 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: 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 Tionghoa dan Inggris.

  • true

  • false (default)

enable_words boolean (Opsional) Default: false

Menentukan apakah akan mengembalikan timestamp tingkat kata:

  • false: Mengembalikan timestamp tingkat kalimat.

  • true: Mengembalikan timestamp tingkat kata.

    Timestamp tingkat kata hanya didukung untuk bahasa berikut: Tionghoa, Inggris, Jepang, Korea, Jerman, Prancis, Spanyol, Italia, Portugis, dan Rusia. Akurasi untuk bahasa lain tidak dapat dijamin.

Parameter ini juga memengaruhi aturan segmentasi kalimat:

  • false: Segmentasi kalimat berdasarkan Voice Activity Detection (VAD).

  • true: Segmentasi kalimat berdasarkan VAD dan tanda baca.

channel_id array (Opsional) Default: [0]

Menentukan indeks trek audio yang akan dikenali dalam file audio multi-trek. Indeks dimulai dari 0. Misalnya, [0] menunjukkan bahwa trek audio pertama dikenali, dan [0, 1] menunjukkan bahwa trek audio pertama dan kedua dikenali secara simultan. Jika parameter ini dihilangkan, trek audio pertama diproses secara default.

Penting

Setiap trek audio yang ditentukan ditagih secara terpisah. Misalnya, meminta [0, 1] untuk satu file akan dikenakan dua biaya terpisah.

Isi respons

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

request_id string

Pengidentifikasi unik untuk pemanggilan ini.

output object

Informasi hasil pemanggilan.

Properti

task_id string

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

task_status string

Status tugas:

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • UNKNOWN: Tugas tidak ada atau statusnya tidak diketahui.

Ambil hasil eksekusi tugas

URL

Singapura

Alamat permintaan HTTP: GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

base_url untuk panggilan SDK: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

China (Beijing)

Alamat permintaan HTTP: GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

base_url untuk panggilan SDK: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Penting

Alibaba Cloud Model Studio telah merilis domain khusus ruang kerja untuk wilayah China (Beijing) dan Singapura. Domain khusus baru ini memberikan performa lebih unggul dan stabilitas lebih tinggi untuk permintaan inferensi. Kami menyarankan migrasi ke domain baru berikut:

  • China (Beijing): dari dashscope.aliyuncs.com ke {WorkspaceId}.cn-beijing.maas.aliyuncs.com

  • Singapura: dari dashscope-intl.aliyuncs.com ke {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

Ganti {WorkspaceId} dengan ID Ruang Kerja Anda yang sebenarnya. Domain lama tetap berfungsi sepenuhnya.

Badan permintaan

cURL

# ======= Penting =======
# Konfigurasi berikut untuk wilayah Singapura. Ganti "{WorkspaceId}" dengan ID ruang kerja Anda yang sebenarnya. Konfigurasi bervariasi tergantung wilayah.
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi lebih lanjut tentang cara mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
# === Hapus komentar ini sebelum menjalankan perintah. ===

curl --location --request GET 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json"

Java

Untuk contoh SDK, lihat Panduan Cepat Mulai.

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 informasi lebih lanjut tentang cara mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
        // Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan kunci API Model Studio Anda: String apiKey = "sk-xxx"
        String apiKey = System.getenv("DASHSCOPE_API_KEY");

        // Konfigurasi berikut untuk wilayah Singapura. Ganti "{WorkspaceId}" dengan ID ruang kerja Anda yang sebenarnya. Konfigurasi bervariasi tergantung wilayah.
        String apiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/" + taskId;

        OkHttpClient client = new OkHttpClient();

        Request request = new Request.Builder()
                .url(apiUrl)
                .addHeader("Authorization", "Bearer " + apiKey)
                .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

Untuk contoh SDK, lihat Panduan Cepat Mulai.

import os
import requests


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

# Ganti dengan task_id yang sebenarnya.
task_id = "xxx"
# Konfigurasi berikut untuk wilayah Singapura. Ganti "{WorkspaceId}" dengan ID ruang kerja Anda yang sebenarnya. Konfigurasi bervariasi tergantung wilayah.
url = f"https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}"

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

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

task_id string (Wajib)

ID tugas. Teruskan task_id dari respons operasi Kirim tugas untuk mengkueri hasil pengenalan ucapan.

Isi respons

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 pemanggilan ini.

output object

Informasi hasil pemanggilan.

Properti

task_id string

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

task_status string

Status tugas:

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • UNKNOWN: Tugas tidak ada atau statusnya tidak diketahui.

result object

Hasil pengenalan ucapan.

Properti

transcription_url string

URL unduhan untuk file hasil pengenalan. Tautan ini berlaku selama 24 jam. Setelah tautan 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 secara langsung menggunakan permintaan HTTP.







Untuk informasi lebih lanjut, lihat Deskripsi hasil pemanggilan asinkron.

submit_time string

Waktu saat tugas dikirim.

schedule_time string

Waktu saat tugas dijadwalkan, yaitu waktu mulai eksekusi.

end_time string

Waktu saat tugas berakhir.

task_metrics object

Metriks tugas, yang mencakup statistik status subtugas.

Properti

TOTAL integer

Jumlah total subtugas.

SUCCEEDED integer

Jumlah subtugas yang berhasil.

FAILED integer

Jumlah subtugas yang gagal.

code string

Kode kesalahan. Ini dikembalikan hanya saat tugas gagal.

message string

Pesan kesalahan. Ini dikembalikan hanya saat tugas gagal.

usage object

Informasi konsumsi token untuk permintaan ini.

Properti

seconds integer

Durasi audio untuk Qwen3-ASR-Flash dalam detik.

Deskripsi hasil pemanggilan asinkron

{
    "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 along with 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 along with 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 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 trek audio.

Properti

channel_id integer

Indeks trek audio, dimulai dari 0.

text string

Teks yang dikenali.

sentences object

Daftar hasil pengenalan tingkat kalimat.

Properti

begin_time integer

Stempel waktu awal kalimat dalam milidetik.

end_time integer

Stempel waktu akhir kalimat dalam milidetik.

text string

Teks yang dikenali.

sentence_id integer

Indeks kalimat, dimulai dari 0.

language string

Bahasa audio yang dikenali. Jika parameter permintaan language ditentukan, nilai ini sama dengan parameter yang ditentukan.

Nilai yang valid

  • zh: Bahasa 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: 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 audio yang dikenali. Emosi berikut didukung:

  • surprised

  • neutral

  • happy

  • sad

  • disgusted

  • angry

  • fearful

words object

Daftar hasil pengenalan tingkat kata. Hasil ini ditampilkan saat parameter permintaan enable_words diatur ke true.

Properti

begin_time integer

Stempel waktu awal dalam milidetik.

end_time integer

Timestamp akhir dalam milidetik.

text string

Teks yang dikenali.

punctuation string

Tanda baca.