Topik ini menjelaskan parameter dan detail antarmuka HTTP API untuk pengenalan ucapan non-real-time menggunakan Qwen-Audio-3.0-ASR-Flash-Filetrans dan Fun-ASR.
Cara kerja
Berbeda dengan panggilan DashScope sinkron yang langsung mengembalikan hasil dalam satu permintaan, panggilan asinkron dirancang untuk file audio panjang atau tugas yang memakan waktu. Mode ini menggunakan alur dua langkah (submit-and-poll) untuk menghindari timeout permintaan akibat penantian lama:
-
Langkah 1: Kirim tugas.
- Klien mengirim permintaan pemrosesan asinkron.
- Setelah memvalidasi permintaan, server tidak langsung menjalankan tugas. Sebagai gantinya, server mengembalikan
task_idunik untuk menunjukkan bahwa tugas berhasil dibuat.
-
Langkah 2: Ambil hasil.
- Klien menggunakan
task_idyang dikembalikan untuk melakukan polling berulang ke antarmuka kueri. - Saat tugas selesai, antarmuka kueri mengembalikan hasil pengenalan akhir.
- Klien menggunakan
Titik akhir layanan
- Singapura
- Tiongkok (Beijing)
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcriptionAntarmuka kueri tugas: GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}Ganti {WorkspaceId} dengan Workspace ID Anda yang sebenarnya.Header permintaan
Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
Authorization | string | Ya | Token autentikasi dalam format |
Content-Type | string | Ya | Jenis media dari badan permintaan. Hanya diperlukan untuk antarmuka kirim tugas. Nilai tetap: |
X-DashScope-Async | string | Ya | Flag tugas asinkron. Hanya diperlukan untuk antarmuka kirim tugas. Nilai tetap: |
Antarmuka kirim tugas
Mengirim tugas pengenalan ucapan. Antarmuka ini mengembalikan respons secara asinkron, sehingga Anda perlu melakukan polling status tugas melalui Antarmuka kueri tugas.
Isi permintaanmodelstring(Wajib)Nama model. Nilai yang didukung mencakup keluarga model Qwen-Audio-3.0-ASR-Flash-Filetrans dan Fun-ASR. Untuk detailnya, lihat Model dan wilayah yang didukung.inputobject(Wajib)Objek parameter input.
Properti file_urls array[string](Wajib)Daftar URL file audio atau video yang akan ditranskripsikan. HTTP dan HTTPS didukung. Satu permintaan hanya mendukung satu URL. Untuk persyaratan input seperti format audio yang didukung, batas ukuran file, dan batas durasi, lihat Spesifikasi audio.Jika rekaman disimpan di Alibaba Cloud OSS, RESTful API mendukung URL sementara dengan awalan oss://, sedangkan SDK tidak mendukung URL sementara dengan awalan oss://.contextarray(object)(Opsional)Daftar pesan yang menyediakan konteks percakapan opsional untuk meningkatkan akurasi pengenalan.
Properti role string(Wajib)Peran pesan. Nilai yang valid:
array(object)(Wajib)Daftar item konten pesan.
Properti type string(Wajib)Tipe konten. Nilai yang valid:
string(Wajib bersyarat)Saat type adalah input_text, masukkan hasil pengenalan ucapan user dari giliran sebelumnya atau daftar kata spesifik domain. Saat type adalah text, masukkan balasan model bahasa besar dari giliran sebelumnya. Teks dihitung per karakter, dan 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 akhir.object(Opsional)Objek parameter permintaan.
Properti vocabulary_id string(Opsional)ID daftar kata kunci yang telah dikompilasi sebelumnya.Hasilkan ID ini terlebih dahulu dengan memanggil API pembuatan daftar kata kunci. Kirimkan ID tersebut saat pengenalan untuk menggunakan kata kunci dalam daftar tersebut.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 Kata kunci yang telah dikompilasi.vocabulary object(Opsional)Kata kunci instan.Dikirim sebagai pasangan kunci-nilai, di mana kunci adalah teks kata kunci (string) dan nilai adalah bobot kata kunci (integer). Tidak perlu membuat daftar kata kunci 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 menandakan kata kunci super, yang sangat meningkatkan recall, tetapi jumlah kata kunci super tidak boleh melebihi 50.Cocok untuk optimasi kata kunci sementara pada tingkat sesi.Saat dikonfigurasi bersama kata kunci yang telah dikompilasi, hanya kata kunci instan yang berlaku. Untuk detail penggunaan, lihat Kata kunci instan.channel_id array[integer](Opsional)Indeks trek audio yang akan dikenali dalam file audio multi-trek. Indeks dimulai dari 0. Misalnya, [0] mengenali trek pertama, dan [0, 1] mengenali trek pertama dan kedua secara bersamaan. Jika Anda menghilangkan parameter ini, hanya trek pertama yang diproses.Nilai default: [0].special_word_filter string(Opsional)Kata sensitif yang akan diproses selama pengenalan ucapan. Anda dapat mengatur metode penanganan berbeda untuk setiap kata sensitif. Untuk detailnya, lihat Penyaringan kata sensitif.diarization_enabled boolean(Opsional)Apakah akan mengaktifkan diarization pembicara. Secara default dinonaktifkan.Hanya berlaku untuk audio mono. Audio multi-channel tidak mendukung diarization pembicara.Saat diaktifkan, hasil pengenalan menyertakan bidang speaker_id yang membedakan pembicara berbeda.Saat diarization pembicara diaktifkan, pastikan durasi audio tidak melebihi 2 jam. Jika tidak, pengenalan mungkin gagal atau timeout. speaker_id, lihat Deskripsi hasil pengenalan.Nilai default: false.speaker_count integer(Opsional)Nilai referensi jumlah pembicara. Rentang valid adalah bilangan bulat dari 2 hingga 100 (inklusif).Secara default, jumlah pembicara dideteksi secara otomatis. Jika Anda mengatur nilai ini, nilai tersebut hanya membimbing algoritma untuk menghasilkan jumlah yang ditentukan bila memungkinkan dan tidak menjamin jumlah pasti tersebut.Tidak ada nilai default.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 Qwen-Audio-3.0-ASR-Flash-Filetrans, Anda dapat mengatur hingga 4 nilai; nilai tambahan setelah 4 nilai pertama akan diabaikan. Untuk model Fun-ASR, Anda hanya dapat mengatur 1 nilai; jika Anda mengatur beberapa nilai, hanya nilai pertama yang berlaku.
Klik untuk melihat kode bahasa yang didukung
|
Contoh berikut menggunakan wilayah Singapura. Ganti "{WorkspaceId}" dengan Workspace ID Anda yang sebenarnya. Konfigurasi berbeda tergantung wilayah. Wilayah Singapura dan Beijing menggunakan Kunci API yang berbeda. |
Isi responsrequest_idstringPengidentifikasi unik panggilan ini.outputobjectData yang dikembalikan oleh antarmuka kirim tugas.
Properti task_id stringID tugas. Kirimkan ID ini sebagai string di Antarmuka kueri tugas.task_statusstringStatus tugas. Mengembalikan PENDING saat pengiriman berhasil. |
Antarmuka kueri tugas
Menanyakan status eksekusi dan hasil tugas pengenalan ucapan. Lakukan polling ke antarmuka ini hingga tugas mencapai status terminal.
Isi permintaantask_idstring(Wajib)Untuk menanyakan tugas, tentukan ID-nya. ID ini adalah task_id yang dikembalikan saat memanggil Antarmuka kirim tugas. | Contoh berikut menggunakan wilayah Singapura. Ganti "{WorkspaceId}" dengan Workspace ID Anda yang sebenarnya. Konfigurasi berbeda tergantung wilayah. Wilayah Singapura dan Beijing menggunakan Kunci API yang berbeda. |
Isi responsrequest_idstringPengidentifikasi unik panggilan ini.outputobjectData yang dikembalikan oleh antarmuka kueri tugas.
Properti task_id stringID tugas yang ditanyakan.task_statusstringStatus tugas yang ditanyakan.Saat tugas berisi beberapa subtugas, status tugas keseluruhan ditandai sebagai SUCCEEDED selama ada subtugas yang berhasil. Periksa bidang subtask_status untuk menentukan hasil subtugas tertentu.stringWaktu tugas dikirim.scheduled_timestringWaktu tugas dijadwalkan untuk dijalankan.end_timestringWaktu tugas berakhir.resultsarray[object]Daftar hasil subtugas, satu untuk setiap file audio yang akan dikenali.
Properti subtask_status stringStatus subtugas.file_urlstringURL file yang diproses oleh tugas transkripsi file.transcription_urlstringTautan ke hasil pengenalan. Tautan ini berlaku selama 24 jam. Setelah kedaluwarsa, Anda tidak dapat menanyakan tugas atau mengunduh hasil melalui URL yang dikembalikan oleh kueri sebelumnya.Hasil pengenalan disimpan sebagai file JSON. Anda dapat mengunduh file tersebut melalui tautan di atas atau membaca isinya langsung dengan permintaan HTTP. Untuk arti setiap bidang dalam data JSON, lihat Deskripsi hasil pengenalan.codestringKode kesalahan subtugas yang gagal.messagestringPesan kesalahan subtugas yang gagal.objectStatistik eksekusi keseluruhan untuk tugas.
Properti TOTAL integerJumlah total subtugas.SUCCEEDEDintegerJumlah subtugas yang berhasil.FAILEDintegerJumlah subtugas yang gagal. |
Antarmuka lain: kueri batch status tugas / batalkan tugas
Untuk detailnya, lihat Mengelola tugas asinkron: Anda dapat melakukan kueri batch terhadap tugas pengenalan ucapan non-real-time yang dikirim dalam 24 jam terakhir, dan membatalkan tugas yang berada dalam status PENDING (antrian).
Deskripsi hasil pengenalan
Hasil pengenalan disimpan sebagai file JSON.
Klik untuk melihat contoh hasil pengenalan
Klik untuk melihat contoh hasil pengenalan
Parameter | Tipe | Deskripsi |
|---|---|---|
audio_format | string | Format audio file sumber. |
channels | array[integer] | Indeks trek audio dalam file sumber. Untuk audio satu trek, [0] dikembalikan; untuk audio dua trek, [0, 1] dikembalikan; dan seterusnya. |
original_sampling_rate | integer | Frekuensi sampling (Hz) audio dalam file sumber. |
original_duration_in_milliseconds | integer | Durasi audio asli (ms) dalam file sumber. |
channel_id | integer | Indeks trek hasil transkripsi, dimulai dari 0. |
content_duration | integer | Durasi (ms) konten dalam trek yang diidentifikasi sebagai ucapan. Layanan model pengenalan ucapan hanya mentranskripsikan konten dalam trek yang diidentifikasi sebagai ucapan, dan mengukur serta menagih berdasarkan durasi tersebut. Konten non-ucapan tidak diukur atau ditagih. Biasanya, durasi konten ucapan lebih pendek daripada durasi audio asli. Karena keberadaan konten ucapan ditentukan oleh model AI, hasilnya mungkin sedikit berbeda dari situasi aktual. |
transcript | string | Hasil transkripsi tingkat paragraf. |
sentences | array | Hasil transkripsi tingkat kalimat. |
words | array | Hasil transkripsi tingkat kata. |
begin_time | integer | Timestamp mulai (ms). |
end_time | integer | Timestamp akhir (ms). |
text | string | Hasil transkripsi. |
speaker_id | integer | Indeks pembicara saat ini, dimulai dari 0, digunakan untuk membedakan pembicara berbeda. Bidang ini muncul dalam hasil pengenalan hanya saat diarization pembicara diaktifkan. |
punctuation | string | Tanda baca yang diprediksi setelah kata, jika ada. |