Parameter dan detail API untuk HTTP API pengenalan ucapan non-real-time Paraformer.
Prasyarat
Anda telah mengaktifkan layanan dan mendapatkan Kunci API. Harap konfigurasikan Kunci API sebagai Variabel lingkungan alih-alih melakukan hardcoding di kode Anda untuk mencegah risiko keamanan akibat kebocoran kode.
Antarmuka pengiriman tugas
Informasi dasar
| Deskripsi titik akhir API | Mengirimkan tugas pengenalan ucapan. |
| URL | |
| Metode permintaan | POST |
| Header permintaan | |
| Isi pesan | Kode berikut menunjukkan isi pesan yang berisi semua parameter permintaan. Anda dapat menghilangkan bidang opsional sesuai kebutuhan. |
Parameter permintaan
Klik untuk melihat contoh permintaan
Klik untuk melihat contoh permintaan
| Parameter | Tipe | Nilai default | Wajib | Deskripsi |
|---|---|---|---|---|
| model | string | Ya | Nama model Paraformer yang digunakan untuk transkripsi file audio dan video. Untuk informasi selengkapnya, lihat model. | |
| file_urls | array[string] | Ya | Daftar URL untuk transkripsi file audio dan video (HTTP/HTTPS). Satu permintaan hanya mendukung 1 URL.Jika file audio Anda disimpan di OSS, RESTful API mendukung URL sementara yang diawali dengan prefiks oss://. | |
| vocabulary_id | string | Tidak | ID kosakata kustom. Didukung oleh model v2+ dengan konfigurasi bahasa. Hotword untuk ID ini berlaku untuk pengenalan ucapan saat ini. Dinonaktifkan secara default. Untuk penggunaan, lihat Hotword kustom. | |
| channel_id | array[integer] | [0] | Tidak | Menentukan indeks trek audio yang akan dikenali dalam file audio multi-trek. Indeks dimulai dari 0. Misalnya, [0] berarti mengenali trek pertama, dan [0, 1] berarti mengenali trek pertama dan kedua secara simultan. Jika parameter ini dihilangkan, hanya trek pertama yang diproses secara default. |
| disfluency_removal_enabled | boolean | false | Tidak | Memfilter kata-kata pengisi. Dinonaktifkan secara default. |
| timestamp_alignment_enabled | boolean | false | Tidak | Mengaktifkan fitur penyelarasan timestamp. Dinonaktifkan secara default. |
| special_word_filter | string | Tidak | Menentukan kata-kata sensitif yang akan diproses selama pengenalan ucapan dan mendukung pengaturan metode pemrosesan berbeda untuk kata-kata sensitif yang berbeda.Jika parameter ini tidak diberikan, sistem menggunakan logika penyaringan kata sensitif bawaan, dan kata-kata yang cocok dengan daftar kata sensitif Alibaba Cloud Model Studio dalam hasil pengenalan akan diganti dengan * dengan panjang yang sama.Jika parameter ini diberikan, strategi pemrosesan kata sensitif berikut dapat diterapkan:
| |
| language_hints | array[string] | ["zh", "en"] | Tidak | Menentukan kode bahasa dari ucapan yang akan dikenali.Parameter ini hanya berlaku untuk model paraformer-v2.Kode bahasa yang didukung:
|
| diarization_enabled | boolean | false | Tidak | Diarizasi speaker otomatis. Dinonaktifkan secara default.Hanya berlaku untuk audio mono. Audio multi-channel tidak mendukung diarizasi speaker.Saat fitur ini diaktifkan, hasil pengenalan akan menyertakan bidang speaker_id untuk membedakan speaker yang berbeda.Jika diarizasi speaker diaktifkan, disarankan agar durasi audio tidak melebihi 2 jam, jika tidak pengenalan dapat gagal atau timeout. speaker_id, lihat Deskripsi hasil pengenalan. |
| speaker_count | integer | Tidak | Nilai referensi jumlah speaker (integer dari 2 hingga 100, inklusif).Berlaku saat diarization_enabled bernilai true.Jumlah speaker ditentukan secara otomatis secara default. Mengonfigurasi parameter ini membantu algoritma menargetkan jumlah yang ditentukan tetapi tidak menjamin output yang tepat. |
Parameter respons
Klik untuk melihat contoh respons
Klik untuk melihat contoh respons
Parameter | Type | Description |
|---|---|---|
audio_format | string | Format audio dari file sumber. |
channels | array[integer] | Informasi indeks Track audio dari file sumber. Mengembalikan [0] untuk audio mono, [0, 1] untuk audio dua Track, dan seterusnya. |
original_sampling_rate | integer | Laju pengambilan sampel (Hz) audio dalam file sumber. |
original_duration | integer | Durasi audio asli (ms) dari file sumber. |
channel_id | integer | Indeks Track audio dari hasil transkripsi, dimulai dari 0. |
content_duration | integer | Durasi (ms) konten yang diidentifikasi sebagai ucapan dalam Track audio. Layanan model speech recognition Paraformer hanya mentranskripsi dan mengukur konten yang diidentifikasi sebagai ucapan dalam Track audio, serta menagih sesuai dengan itu. Konten non-ucapan tidak diukur maupun ditagih. Umumnya, durasi konten ucapan lebih pendek daripada durasi audio asli. Karena penentuan keberadaan konten ucapan dilakukan oleh model AI, mungkin terdapat sedikit penyimpangan dari situasi aktual. |
transcript | string | Hasil transkripsi ucapan tingkat paragraf. |
sentences | array | Hasil transkripsi ucapan tingkat kalimat. |
words | array | Hasil transkripsi ucapan tingkat kata. |
begin_time | integer | Timestamp awal (ms). |
end_time | integer | Timestamp akhir (ms). |
text | string | Hasil transkripsi ucapan. |
speaker_id | integer | Indeks speaker saat ini, dimulai dari 0, digunakan untuk membedakan speaker yang berbeda. Bidang ini hanya ditampilkan dalam hasil pengenalan ketika speaker diarization diaktifkan. |
punctuation | string | Tanda baca yang diprediksi setelah kata tersebut (jika ada). |
Antarmuka kueri tugas
Informasi dasar
| Deskripsi titik akhir API | Menanyakan status dan hasil tugas pengenalan ucapan. |
| URL | |
| Metode permintaan | GET |
| Header permintaan | |
| Isi pesan | Tidak ada. |
Parameter permintaan
Klik untuk melihat contoh permintaan
Klik untuk melihat contoh permintaan
Parameter | Tipe | Nilai default | Wajib | Deskripsi |
|---|---|---|---|---|
task_id | string | - | Ya | ID tugas yang diperlukan untuk kueri. Dikembalikan oleh antarmuka pengiriman tugas. |
Parameter respons
Klik untuk melihat contoh respons
Klik untuk melihat contoh respons
SUCCEEDED jika ada subtugas yang berhasil. Anda harus memeriksa bidang subtask_status untuk menentukan hasil setiap subtugas.- Contoh normal
- Contoh pengecualian
Parameter | Tipe | Deskripsi |
|---|---|---|
task_id | string | ID tugas yang dikueri. |
task_status | string | Status tugas yang dikueri. Untuk tugas dengan beberapa subtugas, task_status menunjukkan |
subtask_status | string | Status subtugas. |
file_url | string | URL file yang diproses dalam tugas transkripsi file. |
transcription_url | string | Tautan untuk mendapatkan hasil pengenalan (berlaku 24 jam). Setelah kedaluwarsa, kueri tugas dan unduhan hasil gagal. Hasil pengenalan disimpan sebagai JSON. Unduh dari tautan ini atau baca langsung melalui permintaan HTTP. Untuk detail bidang JSON, lihat Deskripsi hasil pengenalan. |
Deskripsi hasil pengenalan
Hasil pengenalan disimpan sebagai file JSON.
Klik untuk melihat contoh hasil pengenalan
Klik untuk melihat contoh hasil pengenalan
Parameter | Type | Deskripsi |
|---|---|---|
audio_format | string | Format audio file sumber. |
channels | array[integer] | Informasi indeks trek audio file sumber. Mengembalikan [0] untuk audio mono, [0, 1] untuk audio dua trek, dan seterusnya. |
original_sampling_rate | integer | Laju sampling (Hz) audio dalam file sumber. |
original_duration | integer | Durasi audio asli (ms) file sumber. |
channel_id | integer | Indeks trek audio hasil transkripsi, dimulai dari 0. |
content_duration | integer | Durasi (ms) konten yang diidentifikasi sebagai ucapan dalam trek audio. Layanan model pengenalan ucapan Paraformer hanya mentranskripsi dan mengukur konten yang diidentifikasi sebagai ucapan dalam trek audio, dan menagih sesuai dengan itu. Konten non-ucapan tidak diukur maupun ditagih. Biasanya, durasi konten ucapan lebih pendek daripada durasi audio asli. Karena penentuan keberadaan konten ucapan dilakukan oleh model AI, mungkin terdapat sedikit penyimpangan dari situasi aktual. |
transcript | string | Hasil transkripsi ucapan tingkat paragraf. |
sentences | array | Hasil transkripsi ucapan tingkat kalimat. |
words | array | Hasil transkripsi ucapan tingkat kata. |
begin_time | integer | Timestamp mulai (ms). |
end_time | integer | Timestamp akhir (ms). |
text | string | Hasil transkripsi ucapan. |
speaker_id | integer | Indeks speaker saat ini, dimulai dari 0, digunakan untuk membedakan speaker yang berbeda. Bidang ini hanya ditampilkan dalam hasil pengenalan saat diarizasi speaker diaktifkan. |
punctuation | string | Tanda baca yang diprediksi setelah kata (jika ada). |
Contoh lengkap
Gunakan pustaka HTTP bawaan untuk mengimplementasikan permintaan pengiriman dan kueri tugas. Pertama kirimkan tugas pengenalan, lalu kueri berulang hingga selesai.
Kode berikut memberikan contoh dalam Python:
Kode kesalahan
Jika Anda mengalami kesalahan, lihat Kode kesalahan untuk troubleshooting.
Jika masalah berlanjut, bergabunglah dengan komunitas developer untuk melaporkan masalah dan berikan Request ID untuk investigasi lebih lanjut.
Saat tugas berisi beberapa subtugas, selama ada subtugas yang berhasil, status keseluruhan tugas ditandai sebagai SUCCEEDED. Anda perlu memeriksa bidang subtask_status untuk menentukan hasil setiap subtugas.
Contoh respons kesalahan:
Lebih banyak contoh
Untuk lebih banyak contoh, lihat repositori GitHub kami.
FAQ
Fitur
T: Apakah mendukung audio yang diencode Base64?
Tidak. Audio yang diencode Base64 tidak didukung. Hanya audio yang dapat diakses melalui URL publik yang didukung. Aliran biner dan pengenalan file lokal langsung tidak didukung.
T: Bagaimana cara menyediakan file audio sebagai URL publik?
Secara umum, ikuti langkah-langkah berikut (ini merupakan pendekatan umum; rincian bervariasi tergantung produk penyimpanan. Kami merekomendasikan mengunggah audio ke Alibaba Cloud OSS):
1. Pilih metode penyimpanan dan hosting
1. Pilih metode penyimpanan dan hosting
-
Layanan Penyimpanan Objek (disarankan):
- Gunakan layanan penyimpanan objek penyedia cloud (seperti Alibaba Cloud OSS) untuk mengunggah file audio ke bucket dan mengaturnya agar dapat diakses publik.
- Keuntungan: Ketersediaan tinggi, dukungan akselerasi CDN, manajemen mudah.
-
Server web:
- Tempatkan file audio di server web yang mendukung akses HTTP/HTTPS (seperti Nginx atau Apache).
- Keuntungan: Cocok untuk proyek kecil atau pengujian lokal.
-
Content Delivery Network (CDN):
- Host file audio di CDN dan akses melalui URL yang disediakan CDN.
- Keuntungan: Pengiriman file dipercepat, cocok untuk skenario konkurensi tinggi.
2. Unggah file audio
2. Unggah file audio
-
Layanan Penyimpanan Objek:
- Masuk ke konsol penyedia cloud dan buat bucket.
- Unggah file audio dan atur izin file ke "baca publik" atau hasilkan tautan akses sementara.
-
Server web:
- Tempatkan file audio di direktori yang ditentukan server (seperti
/var/www/html/audio/). - Pastikan file dapat diakses melalui HTTP/HTTPS.
- Tempatkan file audio di direktori yang ditentukan server (seperti
3. Hasilkan URL publik
3. Hasilkan URL publik
-
Layanan Penyimpanan Objek:
- Setelah diunggah, sistem secara otomatis menghasilkan URL akses publik (biasanya dalam format
https://<bucket-name>.<region>.aliyuncs.com/<file-name>). - Jika Anda memerlukan domain yang lebih ramah pengguna, Anda dapat mengikat domain kustom dan mengaktifkan HTTPS.
- Setelah diunggah, sistem secara otomatis menghasilkan URL akses publik (biasanya dalam format
-
Server web:
- URL akses file biasanya merupakan alamat server ditambah jalur file (seperti
https://your-domain.com/audio/file.mp3).
- URL akses file biasanya merupakan alamat server ditambah jalur file (seperti
-
CDN:
- Setelah mengonfigurasi akselerasi CDN, gunakan URL yang disediakan CDN (seperti
https://cdn.your-domain.com/audio/file.mp3).
- Setelah mengonfigurasi akselerasi CDN, gunakan URL yang disediakan CDN (seperti
4. Verifikasi aksesibilitas URL
4. Verifikasi aksesibilitas URL
- Buka URL di browser dan periksa apakah file audio dapat diputar.
- Gunakan alat (seperti
curlatau Postman) untuk memverifikasi apakah URL mengembalikan respons HTTP yang benar (kode status 200).
oss:// tidak didukung.
Saat menggunakan RESTful API, jika file audio disimpan di Alibaba Cloud OSS, URL sementara dengan prefiks oss:// didukung:
- URL sementara berlaku selama 48 jam dan tidak dapat digunakan setelah kedaluwarsa. Jangan menggunakannya di lingkungan produksi.
- API untuk mendapatkan kredensial unggah dibatasi hingga 100 QPS dan tidak mendukung penskalaan. Jangan menggunakannya di lingkungan produksi, skenario konkurensi tinggi, atau skenario uji stres.
- Untuk lingkungan produksi, gunakan layanan penyimpanan stabil seperti OSS untuk memastikan ketersediaan file jangka panjang dan menghindari masalah pembatasan laju.
T: Berapa lama waktu yang dibutuhkan untuk mendapatkan hasil pengenalan?
Setelah dikirimkan, tugas memasuki status antrian (PENDING). Waktu antrian tergantung pada panjang antrian dan durasi file serta tidak dapat diperkirakan secara tepat, tetapi biasanya selesai dalam beberapa menit. Harap bersabar. File audio yang lebih panjang memerlukan waktu pemrosesan lebih lama.
Troubleshooting
Jika Anda mengalami kesalahan, rujuk informasi di Kode kesalahan.
T: Apa yang harus saya lakukan jika hasil pengenalan tidak tersinkronisasi dengan pemutaran audio?
Atur parameter permintaan timestamp_alignment_enabled ke true. Ini menyinkronkan hasil pengenalan dengan pemutaran audio.
T: Apa yang harus saya lakukan jika mendapatkan kesalahan InvalidFile.DownloadFailed setelah mengirimkan tugas?
Periksa apakah URL file berisi spasi, karakter Tionghoa, atau karakter khusus lainnya. Jika nama file mencakup spasi (misalnya, "Meeting Recording Q1 2024.mp4"), lakukan URL-encode pada nama file dengan mengganti spasi dengan %20 sebelum meneruskannya ke parameter file_urls.
T: Apa yang harus saya lakukan jika URL akses publik sementara file audio OSS tidak dapat diakses?
Atur X-DashScope-OssResourceResolve ke enable di header.
Tidak disarankan.
SDK Java dan SDK Python pengenalan ucapan non-real-time Paraformer tidak mendukung konfigurasi header.
T: Tidak dapat mendapatkan hasil setelah polling terus-menerus?
Ini mungkin karena pembatasan laju. Harap bersabar. Jika Anda memerlukan ekspansi kapasitas, bergabunglah dengan komunitas developer untuk mengajukan permohonan.
T: Mengapa tidak ada hasil pengenalan (tidak dapat mengenali ucapan)?
- Periksa apakah audio memenuhi persyaratan (format, laju sampling).
- Jika Anda menggunakan model
paraformer-v2, periksa apakah pengaturanlanguage_hintssudah benar. - Jika tidak ada yang menyelesaikan masalah, Anda dapat menyesuaikan hotword untuk meningkatkan pengenalan kata-kata tertentu.