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. PentingFitur 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. PentingSaat 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.wav Contoh (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. CatatanText 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. PentingHanya 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. Klik untuk melihat kode bahasa yang didukung | 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-streamingcurl --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"
}
}'
Streamingcurl --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: enable" \
--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"
}
}'
Dengan konteks - non-streamingcurl --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_text",
"text": "Hello"
}
]
},
{
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello, I'm Qwen. How can I help you?"
}
]
},
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": "{YOUR_AUDIO_URL}"
}
}
]
}
]
},
"parameters": {
"format": "wav",
"sample_rate": "16000"
}
}'
Dengan konteks - streamingcurl --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: enable" \
--data '{
"model": "qwen-audio-3.0-asr-flash",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "Hello"
}
]
},
{
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello, I'm Qwen. How can I help you?"
}
]
},
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": "{YOUR_AUDIO_URL}"
}
}
]
}
]
},
"parameters": {
"format": "wav",
"sample_rate": "16000"
}
}'
Base64Anda dapat meneruskan data terenkripsi Base64 (Data URL) dalam format data:<mediatype>;base64,<data>.
-
<mediatype>: Tipe MIME.
Nilainya bergantung pada format audio. Contohnya:
- WAV:
audio/wav
- MP3:
audio/mpeg
-
<data>: String audio yang dienkripsi Base64.
Pengenkripsian Base64 memperbesar ukuran data. Kendalikan ukuran file asli agar data terenkripsi tetap memenuhi batas ukuran input audio (10 MB).
-
Contoh: data:audio/wav;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjI5LjEwMAAAAAAAAAAAAAAA//PAxABQ/BXRbMPe4IQAhl9
Klik untuk melihat contoh kode
import base64, pathlib
import os
import requests
# Ganti dengan path ke file audio Anda sendiri dan pastikan memenuhi persyaratan audio
file_path = pathlib.Path("{YOUR_AUDIO_FILE}")
base64_str = base64.b64encode(file_path.read_bytes()).decode()
data_uri = f"data:audio/wav;base64,{base64_str}"
# Ganti "{WorkspaceId}" dengan Workspace ID Anda yang sebenarnya
url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation"
headers = {
"Authorization": f"Bearer {os.environ['DASHSCOPE_API_KEY']}",
"Content-Type": "application/json",
"X-DashScope-SSE": "disable",
}
payload = {
"model": "qwen-audio-3.0-asr-flash",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": data_uri,
},
}
],
}
]
},
"parameters": {
"format": "wav",
"sample_rate": "16000",
},
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
Hotword inlinecurl --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",
"vocabulary": {"John Smith": 5, "Jane Doe": 5}
}
}'
|