Kirim prompt teks dan audio referensi melalui HTTPS untuk menerima file audio yang dihasilkan. Halaman ini menjelaskan permintaan, respons, dan penanganan error.
Prasyarat
Dapatkan kunci API dan ID workspace. Tetapkan keduanya sebagai variabel lingkungan DASHSCOPE_API_KEY dan SFM_WORKSPACE_ID.
Kirim permintaan POST HTTPS ke endpoint berikut. Ganti {WorkspaceId} dengan ID workspace Anda.
Header
| Header | Wajib | Deskripsi |
|---|---|---|
| Authorization | Ya | Bearer <API Key> |
| Content-Type | Ya | application/json |
Contoh permintaan
output.audio.url dari respons aktual. URL berlaku selama 24 jam. Jangan gunakan URL placeholder di atas untuk mengunduh audio.
Parameter permintaan
model adalah field tingkat atas. Semua parameter generasi berada dalam objek input.
| Field | Tipe | Wajib | Default | Deskripsi |
|---|---|---|---|---|
| model | string | Ya | — | ID Model. Lihat Model yang didukung. |
| input | object | Ya | — | Input pembuatan audio. |
| input.text_prompt | string | Ya | — | Deskripsi audio atau teks untuk disintesis. Gunakan @voice1, @voice2, dan @voice3 untuk mereferensikan klip audio secara berurutan. Batas panjang tercantum dalam tabel model. |
| input.references | array | Tidak | — | Klip audio referensi. Abaikan untuk generasi teks saja. Model saat ini menerima hingga 3 klip, masing-masing tidak lebih dari 30 detik dan tidak lebih besar dari 10 MB. |
| input.references[].audio_url | string | Kondisional | — | URL audio publik yang dapat diakses oleh layanan. Berikan field ini atau audio_data, jangan keduanya. |
| input.references[].audio_data | string | Kondisional | — | URI data audio: data:{mime_type};base64,{base64_encoded_data}. Saling eksklusif dengan audio_url. |
| input.format | string | Tidak | wav | Format output: wav, mp3, atau pcm. Output Opus tidak didukung. |
| input.sample_rate | integer | Tidak | 48000 | Laju sampel output dalam Hz: 8000, 16000, 24000, 44100, atau 48000. |
| input.channels | integer | Tidak | 2 | Jumlah saluran: 1 (mono) atau 2 (stereo). |
| input.volume | integer | Tidak | 50 | Volume. Rentang: [0, 100]. |
| input.enable_cbr | boolean | Tidak | false | Hanya MP3. true mengaktifkan bitrate konstan (CBR); false menggunakan bitrate variabel (VBR). |
| input.bit_rate | integer | Tidak | 128 | Hanya CBR MP3, dalam kbps. Output aktual bergantung pada laju sampel dan level bitrate MP3 yang didukung. Lihat di bawah. |
| input.quality | integer | Tidak | 5 | Hanya VBR MP3. Rentang: [0, 9], di mana 0 adalah kualitas tertinggi. |
| input.rate | float | Tidak | 1.0 | Kecepatan bicara. Rentang: [0.5, 2.0]. |
| input.seed | integer | Tidak | 42 | Seed acak tingkat permintaan. |
| input.enable_aigc_tag | boolean | Tidak | false | Apakah akan menambahkan watermark identifikasi AIGC ke audio yang dihasilkan. |
Bitrate CBR MP3
| Laju sampel (Hz) | Bitrate output minimum (kbps) | Bitrate output maksimum (kbps) |
|---|---|---|
| 8000 | 8 | 64 |
| 16000, 24000 | 8 | 160 |
| 44100, 48000 | 32 | 320 |
Kirim audio referensi
Contoh Python ini menggunakan dua klip audio referensi untuk menghasilkan percakapan dua pembicara. Instal requests, siapkan reference1.wav dan reference2.wav, masing-masing berisi pembicara yang berbeda dan memenuhi batas model, serta tetapkan variabel lingkungan yang dijelaskan di atas.
Slot mengikuti urutan daftar references: item pertama, reference1.wav, sesuai dengan @voice1; item kedua, reference2.wav, sesuai dengan @voice2. Contoh ini melakukan encoding Base64 pada setiap klip dan mereferensikan kedua pembicara dalam prompt.
{"audio_url": "publicly accessible audio URL"} dan abaikan audio_data. Nomor referensi mengikuti urutan daftar dan harus merujuk ke item yang ada.
Parameter respons
| Field | Tipe | Deskripsi |
|---|---|---|
| request_id | string | ID Permintaan untuk pemecahan masalah. |
| output.finish_reason | string | "stop" saat penyelesaian normal. |
| output.audio.data | string | String kosong untuk mode permintaan ini. Unduh audio lengkap dari output.audio.url. |
| output.audio.url | string | URL unduhan audio lengkap, berlaku selama 24 jam. |
| output.audio.id | string | ID audio yang dihasilkan. |
| output.audio.expires_at | integer | Stempel waktu kedaluwarsa URL unduhan. |
| output.audio.duration | float | Durasi audio yang dihasilkan dalam detik. |
| usage.duration | integer | Durasi audio yang dihasilkan dibulatkan ke detik terdekat. Field ini tidak digunakan untuk menghitung biaya token. |
Model yang didukung
| ID Model | Batas prompt | Durasi hasil generasi maksimum per permintaan |
|---|---|---|
| qwen-audio-3.1-tts-next | 3,000 karakter | Podcast: 240 detik (4 menit); skenario lain: 120 detik |
Penanganan error
Contoh respons error:
| Status HTTP | kode | Tindakan |
|---|---|---|
| 400 | CLIENT_ERROR | Periksa panjang prompt, jumlah dan durasi referensi, eksklusivitas URL/Base64, indeks referensi, dan penggunaan field voice yang tidak didukung. |
| 404 | InvalidParameter | Untuk "Model tidak ada.", periksa ID model, wilayah, dan ketersediaan model untuk akun Anda. |
| 401 | InvalidApiKey | Periksa validitas kunci API. |
| 403 | AccessDenied | Periksa izin akses model. |
| 429 | Throttling.RateQuota | Kurangi laju permintaan. |
| 400 | DataInspectionFailed | Periksa apakah prompt atau audio referensi memenuhi persyaratan keamanan konten. |
| 500 | InternalError | Simpan request_id dan coba lagi nanti atau hubungi dukungan teknis. |