qwen3-livetranslate-flash-realtime adalah model terjemahan real-time yang diperkaya visi dan mendukung terjemahan antara 18 bahasa, seperti Tiongkok, Inggris, Rusia, dan Prancis. Model ini secara simultan memproses input audio dan gambar dari aliran video real-time atau file video lokal, menggunakan konteks visual untuk meningkatkan akurasi terjemahan serta menghasilkan teks dan audio terjemahan berkualitas tinggi secara real-time.
Untuk demo online, lihat Penerapan satu klik menggunakan Function Compute.
Cara menggunakan
1. Konfigurasikan koneksi
qwen3-livetranslate-flash-realtime terhubung melalui protokol WebSocket. Koneksi memerlukan item konfigurasi berikut:
Item konfigurasi | Deskripsi |
Endpoint | Tiongkok (daratan): wss://dashscope.aliyuncs.com/api-ws/v1/realtime Internasional: wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime |
Parameter kueri | Parameter kueri adalah model. Atur ke nama model yang ingin Anda akses. Contoh: |
Header pesan | Gunakan Bearer Token untuk otentikasi: Authorization: Bearer DASHSCOPE_API_KEY DASHSCOPE_API_KEY adalah Kunci API yang Anda minta dari Alibaba Cloud Model Studio. |
Gunakan contoh kode Python berikut untuk membuat koneksi.
2. Konfigurasikan bahasa, modalitas output, dan suara
Kirim event client session.update:
Bahasa
Bahasa sumber: Gunakan parameter
session.input_audio_transcription.language.Nilai default adalah
en(Inggris).Bahasa target: Gunakan parameter
session.translation.language.Nilai default adalah
en(Inggris).
Untuk informasi selengkapnya, lihat Bahasa yang didukung.
Output hasil pengenalan bahasa sumber
Gunakan parameter
session.input_audio_transcription.model. Saat Anda mengatur parameter keqwen3-asr-flash-realtime, server mengembalikan hasil pengenalan ucapan dari input audio (teks asli dalam bahasa sumber) selain terjemahan.Saat fitur ini diaktifkan, server mengembalikan event berikut:
conversation.item.input_audio_transcription.text: Mengembalikan hasil pengenalan sebagai aliran.conversation.item.input_audio_transcription.completed: Mengembalikan hasil akhir setelah pengenalan selesai.
Modalitas output
Gunakan parameter
session.modalities. Nilai yang didukung adalah["text"](hanya teks) dan["text","audio"](teks dan audio).Timbre
Gunakan parameter
session.voice. Untuk informasi selengkapnya, lihat Suara yang didukung.
3. Input audio dan gambar
Klien mengirim data audio dan gambar yang di-encode Base64 menggunakan event input_audio_buffer.append dan input_image_buffer.append. Input audio wajib, sedangkan input gambar bersifat opsional.
Gambar dapat berasal dari file lokal atau ditangkap secara real-time dari aliran video.
Server secara otomatis mendeteksi awal dan akhir audio serta memicu respons model.
4. Terima respons model
Saat server mendeteksi akhir audio, model memberikan respons. Format respons bergantung pada modalitas output yang dikonfigurasi.
Output hanya teks
Server mengembalikan teks terjemahan lengkap dalam event response.text.done.
Output teks dan audio
Teks
Teks terjemahan lengkap dikembalikan dalam event response.audio_transcript.done.
Audio
Data audio yang di-encode Base64 secara inkremental dikembalikan dalam event response.audio.delta.
Model yang didukung
qwen3-livetranslate-flash-realtime adalah model terjemahan audio dan video real-time multibahasa. Model ini dapat mengenali 18 bahasa dan menerjemahkannya menjadi audio dalam 10 bahasa secara real-time.
Fitur utama:
Dukungan multibahasa: Mendukung 18 bahasa, seperti Tiongkok, Inggris, Prancis, Jerman, Rusia, Jepang, dan Korea, serta 6 dialek Tiongkok, termasuk Mandarin, Kanton, dan Sichuan.
Peningkatan visi: Menggunakan konten visual untuk meningkatkan akurasi terjemahan. Model ini menganalisis gerakan bibir, tindakan, dan teks di layar untuk meningkatkan terjemahan di lingkungan bising atau untuk kata-kata dengan banyak makna.
Latensi 3 detik: Mencapai latensi interpretasi simultan serendah 3 detik.
Interpretasi simultan tanpa kehilangan kualitas: Menggunakan teknologi prediksi unit semantik untuk menyelesaikan masalah urutan kata antarbahasa. Kualitas terjemahan real-time mendekati terjemahan offline.
Suara alami: Menghasilkan ucapan yang alami dan mirip manusia. Model secara otomatis menyesuaikan nada dan emosi berdasarkan audio sumber.
Nama model | Versi | Jendela konteks | Input maksimum | Output maks |
(Token) | ||||
qwen3-livetranslate-flash-realtime Kemampuan saat ini setara dengan qwen3-livetranslate-flash-realtime-2025-09-22 | Stable | 53.248 | 49.152 | 4.096 |
qwen3-livetranslate-flash-realtime-2025-09-22 | Snapshot | |||
Mulai
Persiapkan lingkungan
Versi Python Anda harus 3.10 atau lebih baru.
Pertama, instal pyaudio.
macOS
brew install portaudio && pip install pyaudioDebian/Ubuntu
sudo apt-get install python3-pyaudio or pip install pyaudioCentOS
sudo yum install -y portaudio portaudio-devel && pip install pyaudioWindows
pip install pyaudioSetelah instalasi selesai, gunakan pip untuk menginstal dependensi WebSocket yang diperlukan:
pip install websocket-client==1.8.0 websocketsBuat klien
Buat file Python baru secara lokal, beri nama
livetranslate_client.py, lalu salin kode berikut ke dalam file tersebut:Berinteraksi dengan model
Di folder yang sama dengan
livetranslate_client.py, buat file Python lain, beri namamain.py, lalu salin kode berikut ke dalam file tersebut:Jalankan
main.pydan ucapkan kalimat yang ingin Anda terjemahkan ke mikrofon. Model menghasilkan audio dan teks terjemahan secara real-time. Sistem secara otomatis mendeteksi ucapan Anda dan mengirim audio ke server, sehingga tidak diperlukan tindakan manual.
Gunakan gambar untuk meningkatkan akurasi terjemahan
qwen3-livetranslate-flash-realtime dapat menerima input gambar untuk membantu terjemahan audio. Ini berguna untuk skenario yang melibatkan homonim atau mengenali kata benda proper yang tidak umum. Anda dapat mengirim maksimal dua gambar per detik.
Unduh contoh gambar berikut ke komputer lokal Anda: face_mask.png dan mask.png
Unduh kode berikut ke folder yang sama dengan livetranslate_client.py lalu jalankan. Ucapkan "What is mask?" ke mikrofon. Saat Anda memasukkan gambar masker medis, model menerjemahkan frasa tersebut sebagai "What is a medical mask?". Saat Anda memasukkan gambar topeng pesta kostum, model menerjemahkan frasa tersebut sebagai "What is a masquerade mask?".
import os
import time
import json
import asyncio
import contextlib
import functools
from livetranslate_client import LiveTranslateClient
IMAGE_PATH = "mask_medical.png"
# IMAGE_PATH = "mask_masquerade.png"
def print_banner():
print("=" * 60)
print(" Powered by Qwen qwen3-livetranslate-flash-realtime - Single-turn interaction example (mask)")
print("=" * 60 + "\n")
async def stream_microphone_once(client: LiveTranslateClient, image_bytes: bytes):
pa = client.pyaudio_instance
stream = pa.open(
format=client.input_format,
channels=client.input_channels,
rate=client.input_rate,
input=True,
frames_per_buffer=client.input_chunk,
)
print(f"[INFO] Recording started. Please speak...")
loop = asyncio.get_event_loop()
last_img_time = 0.0
frame_interval = 0.5 # 2 fps
try:
while client.is_connected:
data = await loop.run_in_executor(None, stream.read, client.input_chunk)
await client.send_audio_chunk(data)
# Append an image frame every 0.5 seconds
now = time.time()
if now - last_img_time >= frame_interval:
await client.send_image_frame(image_bytes)
last_img_time = now
finally:
stream.stop_stream()
stream.close()
async def main():
print_banner()
api_key = os.environ.get("DASHSCOPE_API_KEY")
if not api_key:
print("[ERROR] First, configure the API KEY in the DASHSCOPE_API_KEY environment variable.")
return
client = LiveTranslateClient(api_key=api_key, target_language="zh", voice="Cherry", audio_enabled=True)
def on_text(text: str):
print(text, end="", flush=True)
try:
await client.connect()
client.start_audio_player()
message_task = asyncio.create_task(client.handle_server_messages(on_text))
with open(IMAGE_PATH, "rb") as f:
img_bytes = f.read()
await stream_microphone_once(client, img_bytes)
await asyncio.sleep(15)
finally:
await client.close()
if not message_task.done():
message_task.cancel()
with contextlib.suppress(asyncio.CancelledError):
await message_task
if __name__ == "__main__":
asyncio.run(main())Penerapan satu klik menggunakan Function Compute
Konsol saat ini tidak mendukung demo ini. Anda dapat menerapkannya dengan satu klik sebagai berikut:
Buka Templat Function Compute, masukkan Kunci API Anda, lalu klik Create and Deploy Default Environment untuk mencobanya secara online.
Tunggu sekitar satu menit. Di Environment Details > Environment Context, ambil endpoint. Ubah
httpmenjadihttpspada endpoint (misalnya, https://qwen-livetranslate-flash-realtime-intl.fcv3.xxx.ap-southeast-1.fc.devsapp.net/) lalu gunakan tautan tersebut untuk berinteraksi dengan model.PentingTautan ini menggunakan Sertifikat tanda tangan sendiri dan hanya untuk pengujian sementara. Saat pertama kali mengaksesnya, browser Anda akan menampilkan peringatan keamanan. Ini merupakan perilaku yang diharapkan. Jangan gunakan ini di lingkungan produksi. Untuk melanjutkan, ikuti instruksi browser Anda, misalnya klik "Advanced" → "Proceed to (unsafe)".
Untuk mengaktifkan izin Resource Access Management, ikuti instruksi di layar.
Anda dapat melihat kode sumber proyek di bawah Resource Information > Function Resources.
Function Compute dan Alibaba Cloud Model Studio keduanya menawarkan kuota gratis untuk pengguna baru. Kuota ini dapat menutupi biaya pengujian sederhana. Setelah kuota gratis habis, Anda dikenai biaya berdasarkan sistem bayar sesuai penggunaan. Biaya hanya dikenakan saat layanan diakses.
Alur interaksi
Alur interaksi untuk terjemahan ucapan real-time mengikuti model berbasis event WebSocket standar, di mana server secara otomatis mendeteksi awal dan akhir ucapan serta memberikan respons.
Siklus hidup | Event klien | Server event |
Inisialisasi sesi | session.update Konfigurasi sesi | session.created Sesi dibuat session.updated Konfigurasi sesi diperbarui |
Input audio pengguna | input_audio_buffer.append Tambahkan audio ke buffer input_image_buffer.append Tambahkan gambar ke buffer | None |
Output audio server | None | response.created Server mulai menghasilkan respons response.output_item.added Konten output baru dalam respons response.content_part.added Konten output baru ditambahkan ke pesan asisten response.audio_transcript.text Teks transkrip yang dihasilkan secara inkremental response.audio.delta Audio yang dihasilkan secara inkremental oleh model response.audio_transcript.done Transkripsi teks selesai response.audio.done Generasi audio selesai response.content_part.done Streaming konten teks atau audio untuk pesan asisten selesai response.output_item.done Streaming seluruh item output untuk pesan asisten selesai response.done Respons selesai |
Referensi API
Untuk informasi selengkapnya, lihat Terjemahan audio dan video real-time (Qwen-Livetranslate).
Penagihan
Audio: Setiap detik input atau output audio mengonsumsi 12,5 token.
Gambar: Setiap 28×28 piksel input mengonsumsi 0,5 token.
Teks: Jika Anda mengaktifkan fitur pengenalan ucapan bahasa sumber, layanan mengembalikan teks pengenalan ucapan dari input audio (teks asli dalam bahasa sumber) selain hasil terjemahan. Teks pengenalan ini ditagih berdasarkan tarif token standar untuk teks output.
Untuk harga token, lihat Daftar model.
Bahasa yang didukung
Gunakan kode bahasa berikut untuk menentukan bahasa sumber dan target.
Beberapa bahasa target hanya mendukung output teks, bukan output audio.
Kode bahasa | Bahasa | Modalitas output yang didukung |
en | English | Audio + Text |
zh | Chinese | Audio + Text |
ru | Russian | Audio + Text |
fr | French | Audio + Text |
de | German | Audio + Text |
pt | Portuguese | Audio + Text |
es | Spanish | Audio + Text |
it | Italian | Audio + Text |
id | Indonesian | Text |
ko | Korean | Audio + Text |
ja | Japanese | Audio + Text |
vi | Vietnamese | Text |
th | Thai | Text |
ar | Arabic | Text |
yue | Cantonese | Audio + Text |
hi | Hindi | Text |
el | Greek | Text |
tr | Turkish | Text |
Suara yang didukung
Nama |
| Efek Timbre | Deskripsi | Bahasa yang didukung |
QianYue | Cherry | A friendly young woman with a sunny, positive, and natural disposition. | Chinese, English, French, German, Russian, Italian, Spanish, Portuguese, Japanese, Korean | |
Do not eat fish. | Nofish | A designer who cannot pronounce retroflex consonants. | Chinese, English, French, German, Russian, Italian, Spanish, Portuguese, Japanese, Korean | |
Shanghai - Jada | Jada | A lively and energetic Shanghainese woman. | Chinese | |
Beijing - Dylan | Dylan | A young man who grew up in the hutongs of Beijing. | Chinese | |
Sichuan - Sunny | Sunny | A sweet girl from Sichuan who will touch your heart. | Chinese | |
Peter Li, Tianjin | Peter | Tianjin Crosstalk: The art of the supporting role. | Chinese | |
Cantonese - Kiki | Kiki | A sweet best friend from Hong Kong. | Cantonese | |
Chengchuan, Sichuan | Eric | An extraordinary man from Chengdu, Sichuan. | Chinese |