Skip to main content
Non-real-time speech recognition (Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash)

Non-real-time speech recognition (Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash) HTTP API

Topik ini menjelaskan parameter dan detail antarmuka API HTTP untuk pengenalan ucapan non-real-time Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash.

Panduan pengguna: Pengenalan ucapan non-real-time. Untuk persyaratan input seperti format audio yang didukung, batas ukuran file, dan batas durasi, lihat Spesifikasi audio.

Titik akhir layanan

  • Singapura
  • Tiongkok (Beijing)
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generationGanti {WorkspaceId} dengan Workspace ID Anda yang sebenarnya.
Alibaba Cloud Model Studio telah merilis domain khusus ruang kerja untuk wilayah Tiongkok (Beijing) dan Singapura. Domain khusus baru ini memberikan performa unggul dan stabilitas lebih tinggi untuk permintaan inferensi. Kami menyarankan migrasi ke domain baru berikut:
  • Tiongkok (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 Workspace ID Anda yang sebenarnya. Domain lama tetap berfungsi sepenuhnya.

Header permintaan

Parameter

Tipe

Wajib

Deskripsi

Authorization

string

Ya

Token otentikasi, dalam format Bearer <your_api_key>. Ganti "<your_api_key>" dengan Kunci API Anda yang sebenarnya.

Content-Type

string

Ya

Tipe media dari badan permintaan. Tetapkan ke application/json.

X-DashScope-SSE

string

Ya

Mengontrol apakah hasil dikembalikan sebagai aliran SSE. Tetapkan ke enable untuk mengaktifkan streaming SSE. Server hanya mengembalikan hasil pengenalan sementara dan akhir dalam beberapa pesan untuk audio yang durasinya minimal 1 menit. Tetapkan ke disable atau abaikan parameter ini untuk hanya mengembalikan hasil akhir.

Badan permintaan

modelstring(Wajib)Nama model. Seri model Qwen-Audio-3.0-ASR-Flash dan Fun-ASR-Flash didukung. Untuk detailnya, lihat Model dan wilayah yang didukung.inputobject(Wajib)Informasi input.

Properti

messagesarray(object)(Wajib)Daftar pesan. Berisi audio yang akan dikenali dan, secara opsional, konteks percakapan yang meningkatkan akurasi pengenalan.
Fitur konteks meningkatkan akurasi pengenalan istilah spesifik domain. Untuk penggunaannya, lihat Peningkatan konteks.Batasan: Satu permintaan dapat mencakup maksimal 5 pesan konteks untuk tiap tipe (input_text dan text). Jika melebihi batas ini, hanya 5 pesan terbaru yang dipertahankan. Total teks konteks per giliran (panjang gabungan bidang text dalam pesan user dan assistant) tidak boleh melebihi 400 karakter, dengan setiap karakter dihitung sebagai 1. Kelebihan akan dipotong dari bagian akhir.
Saat menyertakan konteks, urutan pesan dalam array messages sangat penting: pesan konteks harus diatur berdasarkan giliran percakapan. Dalam tiap giliran, pesan user (bertipe input_text) harus mendahului pesan assistant yang sesuai (bertipe text). Pesan user yang berisi input_audio harus menjadi item terakhir dalam array messages.

Properti

rolestring(Wajib)Peran pesan. Nilai yang valid:
  • user (Wajib): Pesan pengguna. Saat tipe adalah input_audio, berisi audio yang akan dikenali. Saat tipe adalah input_text, berisi hasil pengenalan dari giliran sebelumnya atau daftar kata spesifik domain (opsional, digunakan sebagai konteks).
  • assistant (Opsional, konteks): Balasan dari model bahasa besar pada giliran sebelumnya.
contentarray(object)(Wajib)Daftar isi pesan.

Properti

typestring(Wajib)Tipe konten. Setiap permintaan memerlukan minimal satu pesan bertipe input_audio. Nilai yang valid:
  • input_audio (Wajib): Input audio yang akan dikenali (peran adalah user). Anda juga harus meneruskan objek input_audio.
  • input_text (Opsional, konteks): Hasil pengenalan ucapan pengguna dari giliran sebelumnya, atau daftar kata spesifik domain (peran adalah user). Anda juga harus meneruskan bidang text.
  • text (Opsional, konteks): Balasan dari model bahasa besar pada giliran sebelumnya (peran adalah assistant). Anda juga harus meneruskan bidang text.
input_audioobject(Wajib bersyarat)Wajib saat type bernilai input_audio.

Properti

datastring(Wajib)Data audio yang akan dikenali. Untuk persyaratan input seperti format audio yang didukung, batas ukuran file, dan batas durasi, lihat Spesifikasi audio. Dua metode didukung:
  • URL file audio: Teruskan URL yang dapat diakses publik ke file audio.
  • Data URI Base64: Teruskan data audio terenkripsi Base64 sebagai Data URI. Nilainya adalah awalan data:{MIME_TYPE};base64, yang digabungkan dengan data audio terenkripsi Base64. Tipe MIME yang didukung termasuk audio/wav dan audio/mp3.
Contoh (URL): https://example.com/audio/sample.wavContoh (Base64): data:audio/wav;base64,{BASE64_ENCODED_DATA}
textstring(Wajib bersyarat)Saat type bernilai input_text, masukkan hasil pengenalan ucapan pengguna dari giliran sebelumnya atau daftar kata spesifik domain. Saat type bernilai text, masukkan balasan model bahasa besar dari giliran sebelumnya. Panjang teks diukur dalam karakter, dengan setiap karakter dihitung sebagai 1. Panjang gabungan bidang text di semua pesan dalam satu giliran konteks tidak boleh melebihi 400 karakter. Kelebihan akan dipotong dari bagian akhir.
parametersobject(Wajib)Parameter model.
Text Polishing dinonaktifkan secara default dan belum tersedia.Text Polishing: Saat mentranskripsikan ucapan, model secara otomatis menghapus kata pengisi yang tidak bermakna dan pengulangan akibat gagap, menangani koreksi diri selama berbicara, menghaluskan ekspresi percakapan, serta menstandarkan tanda baca dan format teks. Hasilnya adalah output yang lebih ringkas, lancar, dan mudah dibaca, sekaligus mempertahankan maksud asli pengguna dan informasi penting sebanyak mungkin.

Properti

formatstring(Wajib)Format audio. Atur sesuai dengan format audio Anda yang sebenarnya. Nilai yang didukung termasuk wav, mp3, dan opus. Untuk detailnya, lihat Spesifikasi audio.sample_ratestring(Opsional)Laju sampel audio, dalam Hz. Misalnya, 16000 berarti laju sampel 16 kHz. Untuk detailnya, lihat Spesifikasi audio.vocabulary_idstring(Opsional)ID daftar hot word yang telah dikompilasi sebelumnya.Hasilkan ID ini terlebih dahulu dengan memanggil API pembuatan daftar hot word. Teruskan ID tersebut selama pengenalan untuk menggunakan hot word dalam daftar.Cocok untuk skenario di mana kosakata sudah diketahui dan relatif stabil, serta Anda perlu menggunakan kembali daftar kata yang sama di berbagai permintaan.Untuk detail penggunaan, lihat Hotword yang telah dikompilasi.vocabularyobject(Opsional)Hot word instan.Diteruskan sebagai pasangan kunci-nilai, dengan kunci berupa teks hot word (string) dan nilai berupa bobot hot word (integer). Tidak perlu membuat daftar hot word terlebih dahulu. Bobot berkisar antara [1, 5] atau diatur ke 50: nilai dalam [1, 5] membuat model lebih cenderung mengeluarkan kata tersebut seiring peningkatan nilainya; nilai 50 menunjukkan hot word super, yang sangat meningkatkan recall, tetapi jumlah hot word super tidak boleh melebihi 50.Cocok untuk optimasi hot word sementara tingkat sesi.Jika dikonfigurasi bersama hot word yang telah dikompilasi, hanya hot word instan yang berlaku. Untuk detail penggunaan, lihat Hotword instan.
Hanya qwen-audio-3.0-asr-flash yang mendukung hotword inline.
language_hints array[string](Opsional)Kode bahasa yang akan dikenali. Jika Anda tidak dapat menentukan bahasa sebelumnya, biarkan tidak diatur dan model akan mendeteksi bahasa secara otomatis.Untuk model seri Qwen-Audio-3.0-ASR-Flash, Anda dapat mengatur hingga 4 nilai; jika lebih dari 4, hanya 4 nilai pertama yang berlaku. Untuk model seri Fun-ASR-Flash, Anda hanya dapat mengatur 1 nilai; jika lebih dari satu, hanya nilai pertama yang berlaku.
  • qwen-audio-3.0-asr-flash, fun-asr-flash-2026-06-15:
    • zh: Tionghoa
    • en: Inggris
    • ja: Jepang
    • ko: Korea
    • vi: Vietnam
    • th: Thai
    • id: Bahasa Indonesia
    • ms: Melayu
    • tl: Filipina
    • hi: Hindi
    • ar: Arab
    • fr: Prancis
    • de: Jerman
    • es: Spanyol
    • pt: Portugis
    • ru: Rusia
    • it: Italia
    • nl: Belanda
    • sv: Swedia
    • da: bahasa Denmark
    • fi: Finlandia
    • no: Norwegia
    • el: Yunani
    • pl: Polandia
    • cs: Ceko
    • hu: Hongaria
    • ro: Rumania
    • bg: Bahasa Bulgaria
    • hr: Kroasia
    • sk: Slovak
Contoh berikut menggunakan konfigurasi untuk wilayah Singapura. Ganti "{WorkspaceId}" dengan Workspace ID Anda yang sebenarnya. Konfigurasi berbeda di tiap wilayah, dan Kunci API untuk wilayah Singapura berbeda dari wilayah Beijing.
  • Non-streaming
  • Streaming
  • Dengan konteks - non-streaming
  • Dengan konteks - streaming
  • Base64
  • Hotword inline
curl --location --request POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
     --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
     --header "Content-Type: application/json" \
     --header "X-DashScope-SSE: disable" \
     --data '{
    "model": "qwen-audio-3.0-asr-flash",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "input_audio",
                        "input_audio": {
                            "data": "{YOUR_AUDIO_URL}"
                        }
                    }
                ]
            }
        ]
    },
    "parameters": {
        "format": "wav",
        "sample_rate": "16000"
    }
}'

Isi respons

request_idstringPengidentifikasi unik untuk permintaan ini.outputobjectHasil output.

Properti

textstringTeks lengkap yang telah dikenali hingga saat ini.sentenceobjectDetail kalimat saat ini.

Properti

sentence_idintegerNomor kalimat, dimulai dari 1.sentence_endbooleanApakah ini hasil akhir untuk kalimat tersebut. true menunjukkan bahwa pengenalan kalimat telah selesai.begin_timeintegerWaktu mulai kalimat, dalam milidetik.end_timeintegerWaktu akhir kalimat, dalam milidetik. Dikembalikan hanya saat sentence_end bernilai true.textstringTeks yang dikenali dari kalimat saat ini.channel_idintegerNomor saluran, dimulai dari 0.wordsarrayDaftar timestamp tingkat kata.
textstringKata teks.begin_timeintegerWaktu mulai kata, dalam milidetik.end_timeintegerWaktu akhir kata, dalam milidetik.punctuationstringTanda baca setelah kata. String kosong jika tidak ada tanda baca.fixedbooleanApakah kata tersebut telah distabilkan. false menunjukkan bahwa timestamp kata tersebut mungkin disesuaikan dalam event berikutnya.
usageobjectInformasi penggunaan. Dikembalikan hanya saat sentence_end bernilai true.
durationintegerDurasi audio yang diproses, dalam detik.
  • Non-streaming
  • Streaming
{
    "output": {
        "sentence": {
            "begin_time": 760,
            "channel_id": 0,
            "end_time": 3800,
            "sentence_end": true,
            "sentence_id": 1,
            "text": "Hello World, this is Alibaba Speech Lab.",
            "words": [
                {"begin_time": 760, "end_time": 1040, "fixed": true, "punctuation": "", "text": "Hello"},
                {"begin_time": 1040, "end_time": 1240, "fixed": true, "punctuation": ",", "text": " World"},
                {"begin_time": 1360, "end_time": 1880, "fixed": true, "punctuation": "", "text": "this is"},
                {"begin_time": 1880, "end_time": 2520, "fixed": true, "punctuation": "", "text": "Alibaba"},
                {"begin_time": 2520, "end_time": 2840, "fixed": true, "punctuation": "", "text": "Speech"},
                {"begin_time": 2840, "end_time": 3800, "fixed": true, "punctuation": ".", "text": "Lab"}
            ]
        },
        "text": "Hello World, this is Alibaba Speech Lab."
    },
    "usage": {
        "duration": 4
    },
    "request_id": "40e0734d-096f-9ae3-86c1-a8c013287561"
}

Logika pemrosesan hasil streaming SSE

Dalam mode streaming, klien perlu menangani hal berikut:
  1. Untuk tiap event SSE yang diterima, uraikan JSON dalam bidang data.
  2. Gunakan output.sentence.sentence_end untuk menentukan apakah kalimat saat ini telah selesai. Saat nilai ini true, pengenalan kalimat telah selesai, timestamp tingkat kata telah distabilkan, dan hasilnya dapat digunakan sebagai hasil akhir. Saat nilai ini false, pengenalan masih berlangsung, dan teks serta timestamp mungkin diperbarui dalam event berikutnya.
  3. Informasi usage hanya dikembalikan dalam event akhir kalimat, dan Anda dapat menggunakannya untuk mengukur durasi audio yang diproses.
Pembuatan Gambar
  • FAQ
Video Generation
Model Dunia
Audio
  • Pembuatan audio
Realtime API
Penyematan Teks
TokenPlan
Model production