qwen3.5-livetranslate-flash-realtime adalah model terjemahan real-time yang ditingkatkan dengan visi dan mendukung 60 bahasa (29 dengan output audio dan teks, 31 hanya teks). Model ini memproses input audio dan gambar dari aliran video atau file lokal, memanfaatkan konteks visual untuk meningkatkan akurasi, serta menghasilkan teks dan audio terjemahan secara real-time.
Coba demo online dengan penerapan satu klik menggunakan Function Compute.
Fitur
- Dukungan multi-bahasa: Menerjemahkan antara 60 bahasa — 29 dengan output audio dan teks, 31 dengan output hanya teks — termasuk Tiongkok, Inggris, Prancis, Jerman, Rusia, Jepang, Korea, Spanyol, Portugis, dan Arab.
- Peningkatan visual: Menganalisis petunjuk visual, seperti gerakan bibir, isyarat tubuh, dan teks di layar, untuk meningkatkan akurasi terjemahan, terutama di lingkungan berisik atau untuk kata-kata ambigu.
- Latensi 2,8 detik: Memberikan interpretasi simultan dengan latensi serendah 2,8 detik.
- Interpretasi simultan tanpa kehilangan kualitas: Memprediksi unit semantik untuk menyelesaikan perbedaan urutan kata lintas bahasa, mencapai kualitas yang sebanding dengan terjemahan offline.
- Suara alami: Secara otomatis mencocokkan intonasi dan emosi dari audio sumber.
- Konfigurasi hotword: Hotword yang dapat dikonfigurasi meningkatkan akurasi terjemahan untuk istilah tertentu.
- Kloning suara: Mengkloning suara pembicara untuk output terjemahan. Mendukung kloning real-time di sisi server dan profil suara yang telah dikloning sebelumnya.
- Lewati output bahasa yang sama: Ketika bahasa sumber dan target sama, model dapat melewatkan output teks, output audio, atau keduanya. Fitur ini hanya berlaku ketika bahasa target adalah Tiongkok (
zh) atau Inggris (en).
Prosedur
1. Konfigurasikan koneksi
Model terhubung melalui WebSocket dengan parameter berikut:
Selain WebSocket, model ini juga mendukung protokol AOQ dan WebRTC. Untuk integrasi di sisi klien yang memprioritaskan latensi stabil, ketahanan pada jaringan lemah, serta penekanan kebisingan dan pembatalan gema full-duplex bawaan, disarankan menggunakan AOQ. Untuk perbandingan protokol, lihat Ikhtisar API Realtime.
| Parameter | Deskripsi |
|---|---|
| endpoint | Wilayah Tiongkok (Beijing): wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/realtime. Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.Wilayah Singapura: wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/realtime.Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya. |
| query parameter | Parameter kueri model harus diatur ke nama model. Contoh: ?model=qwen3.5-livetranslate-flash-realtime |
| message header | Gunakan Bearer Token untuk otentikasi: Authorization: Bearer DASHSCOPE_API_KEYDASHSCOPE_API_KEY adalah Kunci API Anda dari Model Studio. |
Kode contoh Python untuk koneksi WebSocket
Kode contoh Python untuk koneksi WebSocket
2. Konfigurasikan bahasa, modalitas, dan suara
Kirim event klien session.update dengan parameter berikut:
-
Bahasa
-
Bahasa sumber: Konfigurasikan menggunakan parameter
session.input_audio_transcription.language.Jika tidak ditentukan, model akan secara otomatis mendeteksi bahasa sumber.
-
Bahasa target: Konfigurasikan menggunakan parameter
session.translation.language.Nilai default-nya adalah
en(Inggris).
-
Bahasa sumber: Konfigurasikan menggunakan parameter
-
Output hasil pengenalan bahasa sumber
Atur
session.input_audio_transcription.modelkeqwen3-asr-flash-realtime. Server kemudian akan mengembalikan hasil terjemahan dan hasil pengenalan ucapan (teks asli) untuk audio input. Server mengembalikan event-event berikut:conversation.item.input_audio_transcription.text: Mengalirkan hasil pengenalan.conversation.item.input_audio_transcription.completed: Mengembalikan hasil akhir setelah pengenalan selesai.conversation.item.input_audio_transcription.failed: Mengembalikan informasi error saat pengenalan gagal.
-
Modalitas output
Atur parameter
session.modalitieske["text"](hanya teks) atau["text","audio"](teks dan audio). -
Voice Activity Detection (VAD) dan mode Manual
Konfigurasikan cara mendeteksi batas ucapan menggunakan parameter
session.turn_detection:- Mode VAD (default): Atur
turn_detectionke objek konfigurasi. Server secara otomatis mendeteksi batas ucapan dan memicu terjemahan, cocok untuk skenario di mana klien terus-menerus mengirim aliran audio. - Mode Manual: Atur
turn_detectionkenull. Klien menentukan batas ucapan dan mengirim eventinput_audio_buffer.commituntuk mengirimkan audio setelah setiap tuturan, cocok untuk skenario push-to-talk.
- Mode VAD (default): Atur
-
Suara
Konfigurasikan menggunakan parameter
session.voice. Lihat Suara yang didukung. -
Hotword
Konfigurasikan hotword menggunakan parameter
session.translation.corpus.phrases. Hotword adalah pasangan kunci-nilai yang memetakan istilah sumber ke terjemahan target, meningkatkan akurasi untuk istilah tertentu. Contoh: Petakan"artificial intelligence"ke"Artificial Intelligence". -
Kloning suara
Konfigurasikan menggunakan parameter
session.enable_voice_clone,session.voice_clone_options.frequency, dansession.voice. Mendukung tiga mode: profil suara yang telah dikloning sebelumnya (frequency:never), kloning sekali di sisi server saat sesi dimulai (once), atau kloning real-time sebelum setiap respons (always). Lihat Kloning suara.
3. Input audio dan gambar
Kirim data audio dan gambar yang di-encode Base64 menggunakan event input_audio_buffer.append dan input_image_buffer.append. Input audio wajib; input gambar opsional.
Gambar dapat berasal dari file lokal atau diambil secara real-time dari aliran video.Cara model menentukan bahwa sebuah tuturan telah selesai bergantung pada mode VAD atau mode Manual yang dikonfigurasi melalui parameter turn_detection:
- Mode VAD (default): Klien terus-menerus mengirim event input_audio_buffer.append. Saat server mendeteksi awal/akhir ucapan, server mengembalikan event
input_audio_buffer.speech_starteddaninput_audio_buffer.speech_stoppedmasing-masing, secara otomatis melakukan commit buffer audio, dan memicu terjemahan. Respons terjemahan dihasilkan secara sinkron dengan aliran audio dan biasanya dimulai selama input audio, tanpa menunggu ucapan berakhir. - Mode Manual: Atur
session.turn_detectionkenull. Setelah klien selesai mengirim tuturan lengkap, klien mengirim event input_audio_buffer.commit untuk melakukan commit buffer audio. Setelah server mengembalikan eventinput_audio_buffer.committedsebagai konfirmasi, server secara otomatis mulai menghasilkan respons terjemahan; klien tidak perlu mengirim event lain untuk memicu respons. Untuk menghapus audio yang belum di-commit sebelum melakukan commit, kirim event input_audio_buffer.clear.
4. Terima respons model
Respons terjemahan dihasilkan secara sinkron dengan aliran audio dan biasanya tidak perlu menunggu ucapan berakhir (lihat deskripsi mode VAD/Manual pada bagian sebelumnya). Format respons bergantung pada modalitas output.
- Output hanya teks Server mengalirkan teks terjemahan inkremental (termasuk teks yang dikonfirmasi dan teks prediksi sementara) melalui event response.text.text; setelah selesai, teks terjemahan lengkap dikembalikan dalam event response.text.done.
-
Output teks dan audio
- Teks Server mengalirkan teks terjemahan inkremental melalui event response.audio_transcript.text; setelah selesai, teks terjemahan lengkap dikembalikan dalam event response.audio_transcript.done.
- Audio Server mengembalikan data audio inkremental yang di-encode Base64 dalam event response.audio.delta.
5. Akhiri sesi
Setelah mengirim semua audio, kirim event Client events, lalu tunggu hingga server mengembalikan event session.finished sebelum menutup koneksi WebSocket.
Jika Anda menutup WebSocket tanpa mengirim session.finish, VAD server tidak dapat mendeteksi akhir segmen ucapan terakhir. Hal ini menyebabkan hasil terjemahan untuk segmen tersebut hilang sepenuhnya, dan koneksi mungkin hang tanpa batas waktu. Selalu kirim event ini sebelum memutus koneksi.
Model yang didukung
Model yang direkomendasikan
| Model | Versi | Context window | Max input | Max output |
|---|---|---|---|---|
| (tokens) | ||||
qwen3.5-livetranslate-flash-realtimeAlias untuk qwen3.5-livetranslate-flash-realtime-2026-05-19 | Stable | 53.248 | 49.152 | 4.096 |
| qwen3.5-livetranslate-flash-realtime-2026-05-19 | Snapshot | |||
Model lawas
Model berikut masih tersedia tetapi tidak lagi menjadi pilihan yang direkomendasikan. Untuk kasus penggunaan baru, gunakan model yang lebih baru di atas untuk kualitas terjemahan dan efisiensi biaya yang lebih baik.
| Model | Versi | Context window | Max input | Max output |
|---|---|---|---|---|
| (tokens) | ||||
qwen3-livetranslate-flash-realtimeAlias untuk qwen3-livetranslate-flash-realtime-2025-09-22 | Stable | 53.248 | 49.152 | 4.096 |
| qwen3-livetranslate-flash-realtime-2025-09-22 | Snapshot | |||
Mulai
-
Siapkan lingkungan
Memerlukan Python 3.10 atau lebih baru.
Pertama, instal pyaudio.
Kemudian instal dependensi WebSocket:macOS
-
Buat klien
Buat file bernama
livetranslate_client.pydengan kode berikut:Kode klien - livetranslate_client.py
-
Berinteraksi dengan model
Di direktori yang sama, buat file bernama
main.pydengan kode berikut:Jalankanmain.py
main.pydan bicara ke mikrofon Anda. Model akan menerjemahkan ucapan Anda dan menghasilkan audio serta teks secara real-time.
Kloning suara
Model mengkloning suara pembicara dari audio input dan menggunakannya untuk output terjemahan. Gunakan profil suara yang telah dikloning sebelumnya atau biarkan server melakukan kloning secara real-time. Berguna untuk interpretasi konferensi, siaran langsung, dan dubbing video.
Atur parameter berikut dalam session.update untuk mengaktifkan kloning suara:
-
session.enable_voice_clone: Atur ketrueuntuk mengaktifkan kloning suara. -
session.voice_clone_options.frequency: Mengontrol kapan kloning suara terjadi. Nilai yang diterima:never: Tidak melakukan kloning di server. Menggunakan profil suara yang telah dikloning sebelumnya. Atursession.voiceke ID suara kloning kustom Anda.once: Mengkloning suara dari audio input sekali saat sesi dimulai, lalu menggunakannya kembali untuk semua output berikutnya. Paling cocok untuk skenario pembicara tunggal. Atursession.voicekedefault.always: Mengkloning suara sebelum setiap respons, secara dinamis menyesuaikan dengan perubahan pembicara. Paling cocok untuk percakapan multi-pembicara. Atursession.voicekedefault.
-
session.voice: Menentukan suara output. Nilainya bergantung pada pengaturanfrequency:- Atur ke
default: Gunakan denganfrequencydiatur keonceataualways. Server mengkloning suara pembicara dari audio input. Suara default digunakan hingga proses kloning selesai. - Atur ke ID suara kloning kustom (misalnya,
qwen-translate-vc-xxx-yyy-zzz): Gunakan denganfrequencydiatur kenever. Anda harus menyiapkan suara terlebih dahulu menggunakan Voice Cloning API dengantargetModeldiatur keqwen3.5-livetranslate-flash-realtime.
- Atur ke
Saatfrequencydiatur keonceataualways, parametervoiceharus diatur kedefault. Nilai lain akan menyebabkan server mengembalikan error.
Contoh konfigurasi kloning suara
Profil suara yang telah dikloning sebelumnya (kualitas konsisten; direkomendasikan saat identitas suara yang stabil diperlukan):
Perbaiki terjemahan dengan gambar
Input gambar membantu menghilangkan ambiguitas homonim dan mengenali kata benda proper yang tidak umum selama terjemahan. Kirim tidak lebih dari 2 gambar per detik.
Unduh contoh gambar berikut: medical mask.png, masquerade mask.png
Unduh kode di bawah ini ke direktori yang sama dengan livetranslate_client.py dan jalankan. Ucapkan "What is mask?" ke mikrofon Anda. Model menggunakan gambar untuk menghilangkan ambiguitas: medical mask.png menghasilkan "What is a medical mask?" dan masquerade mask.png menghasilkan "What is a masquerade mask?".
Penerapan satu klik Function Compute
Untuk menerapkan aplikasi:
- Buka Templat Function Compute, masukkan Kunci API Anda, lalu klik Create and Deploy Default Environment untuk menguji aplikasi.
- Tunggu sekitar satu menit. Di Environment Details > Environment Context, ambil endpoint, ubah protokol dari http ke https (misalnya, https://qwen-livetranslate-flash-realtime-intl.fcv3.xxx.ap-southeast-1.fc.devsapp.net/), lalu buka URL tersebut di browser untuk berinteraksi dengan model.
Jika Anda diminta mengonfigurasi izin Resource Access Management, ikuti instruksi di layar.
Untuk melihat kode sumber proyek, buka Resource Information > Function Resources.
Baik Function Compute maupun Model Studio menyediakan kuota gratis untuk pengguna baru, cukup untuk debugging dasar. Setelah kuota gratis habis, penagihan bayar sesuai penggunaan berlaku.
Alur interaksi
Terjemahan menggunakan model WebSocket berbasis event. Cara menentukan batas ucapan bergantung pada mode VAD atau mode Manual (lihat 3. Input audio dan gambar). Tabel di bawah ini berdasarkan mode VAD (default) dan memberi anotasi event server yang berbeda dalam mode Manual.
| Siklus hidup | Event klien | Server event |
|---|---|---|
| Inisialisasi sesi | session.updateKonfigurasi sesi | session.createdSesi dibuatsession.updated Konfigurasi sesi diperbarui |
| Input audio pengguna | input_audio_buffer.appendTambahkan audio ke bufferinput_image_buffer.append Tambahkan gambar ke bufferinput_audio_buffer.commit (Hanya mode Manual) Lakukan commit buffer audio | Mode VAD:input_audio_buffer.speech_startedDeteksi awal ucapaninput_audio_buffer.speech_stopped Deteksi akhir ucapan; server secara otomatis melakukan commit buffer audioMode Manual:input_audio_buffer.committed Dikembalikan setelah klien mengirim input_audio_buffer.commit, mengonfirmasi buffer audio telah di-commit |
| Output audio server | Tidak ada | response.createdMenandakan server mulai menghasilkan respons.response.output_item.added Menandakan item output baru tersedia.conversation.item.created Item pesan baru dibuat dalam percakapan.response.content_part.added Menandakan bagian konten baru telah ditambahkan ke pesan asisten.response.text.text Teks terjemahan inkremental dalam modalitas hanya teksresponse.audio_transcript.text Teks terjemahan inkremental dalam modalitas audio+teksresponse.audio.delta Berisi potongan inkremental audio sintesis.response.text.done Teks terjemahan selesai dalam modalitas hanya teksresponse.audio_transcript.done Teks terjemahan selesai dalam modalitas audio+teksresponse.audio.done Menandakan audio sintesis telah selesai.response.content_part.done Menandakan bagian konten teks atau audio untuk pesan asisten telah selesai.response.output_item.done Menandakan seluruh item output untuk pesan asisten telah selesai.response.done Menandakan seluruh respons telah selesai. |
| Terminasi sesi | session.finishMemberi tahu server bahwa input audio telah selesai | session.finishedPemrosesan server selesai; sesi berakhir |
session.finish dan tunggu session.finished sebelum menutup WebSocket. Jika Anda menutup koneksi tanpa mengirim session.finish, server tidak dapat mengetahui bahwa input audio telah berakhir, dan hasil pengenalan serta terjemahan untuk segmen ucapan terakhir akan hilang.
API
- Qwen-Livetranslate-Realtime.
- AOQ client SDK
- Ikhtisar API Realtime (deskripsi protokol WebRTC)
Penagihan
Qwen3.5-LiveTranslate-Flash-Realtime
- Audio: 7 token per detik audio input; 12,5 token per detik audio output.
- Gambar: Setiap 32×32 piksel mengonsumsi 0,5 token.
- Teks: Saat pengenalan ucapan bahasa sumber diaktifkan, layanan mengembalikan transkrip audio input selain terjemahan. Transkrip ini ditagih sebagai token teks output.
- Audio: Setiap detik audio input atau output mengonsumsi 12,5 token.
- Gambar: Setiap 28×28 piksel mengonsumsi 0,5 token.
- Teks: Saat pengenalan ucapan bahasa sumber diaktifkan, layanan mengembalikan transkrip audio input selain terjemahan. Transkrip ini ditagih sebagai token teks output.
Batas laju
Untuk informasi tentang batas laju model, lihat Pembatasan laju.
Bahasa yang didukung
Gunakan kode bahasa berikut untuk menentukan bahasa sumber dan target.
Beberapa bahasa target hanya mendukung teks. Model lawas qwen3-livetranslate-flash-realtime hanya mendukung 18 bahasa berikut: en, zh, ru, fr, de, pt, es, it, id, ko, ja, vi, th, ar, yue, hi, el, tr.
Kode bahasa | Bahasa | Output |
|---|---|---|
zh | Tiongkok | Audio + teks |
en | Inggris | Audio + teks |
ar | Arab | Audio + teks |
de | Jerman | Audio + teks |
fr | Prancis | Audio + teks |
es | Spanyol | Audio + teks |
pt | Portugis | Audio + teks |
id | Bahasa Indonesia | Audio + teks |
it | Italia | Audio + teks |
ko | Korea | Audio + teks |
ru | Rusia | Audio + teks |
th | Thai | Audio + teks |
vi | Bahasa Vietnam | Audio + teks |
ja | Jepang | Audio + teks |
tr | Turki | Audio + teks |
hi | Hindi | Audio + teks |
ms | Melayu | Audio + teks |
nl | Belanda | Audio + teks |
ur | Urdu | Audio + teks |
nb | Norwegia Bokmål | Audio + teks |
sv | Swedia | Audio + teks |
da | Denmark | Audio + teks |
he | Ibrani | Audio + teks |
fi | Finlandia | Audio + teks |
pl | Polandia | Audio + teks |
is | Islandia | Audio + teks |
cs | Ceko | Audio + teks |
fil | Filipino | Audio + teks |
fa | Persia | Audio + teks |
yue | Kanton | Teks |
el | Yunani | Teks |
af | Afrikaans | Teks |
ast | Asturia | Teks |
be | Belarusia | Teks |
bg | Bahasa Bulgaria | Teks |
bn | Bengali | Teks |
bs | Bahasa Bosnia | Teks |
ca | Katalan | Teks |
ceb | Cebuano | Teks |
et | Estonia | Teks |
gl | Galisia | Teks |
gu | Gujarati | Teks |
hr | Kroasia | Teks |
hu | Hongaria | Teks |
jv | Jawa | Teks |
kk | Kazakh | Teks |
kn | Kannada | Teks |
ky | Kirgiz | Teks |
lv | Latvia | Teks |
mk | Makedonia | Teks |
ml | Malayalam | Teks |
mr | Marathi | Teks |
pa | Punjabi | Teks |
ro | Rumania | Teks |
sk | Slovak | Teks |
sl | Slovenia | Teks |
sw | Swahili | Teks |
tg | Tajik | Teks |
az | Azerbaijan | Teks |
uk | Ukraina | Teks |
Suara yang didukung
Untuk daftar suara yang didukung dan nilai parameter voice yang sesuai, lihat Daftar suara.