qwen3-livetranslate-flash-realtime 是視覺增強型即時翻譯模型,支援 18 種語言(中、英、俄、法等)互譯,可同時處理音頻與映像輸入,適用於即時視頻流或本地視頻檔案,利用視覺上下文資訊提升翻譯準確性,並即時輸出高品質的翻譯文本與音頻。
線上體驗參見通過Function Compute一鍵部署。
如何使用
1. 配置串連
qwen3-livetranslate-flash-realtime 模型通過 WebSocket 通訊協定接入,串連時需要以下配置項:
|
配置項 |
說明 |
|
調用地址 |
中國大陸版:wss://dashscope.aliyuncs.com/api-ws/v1/realtime 國際版:wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime |
|
查詢參數 |
查詢參數為model,需指定為訪問的模型名。樣本: |
|
訊息頭 |
使用 Bearer Token 鑒權:Authorization: Bearer DASHSCOPE_API_KEY DASHSCOPE_API_KEY 是您在百鍊上申請的API-KEY。 |
可通過以下 Python 範例程式碼建立串連。
2. 配置語種、輸出模態與音色
發送用戶端事件session.update:
-
語種
-
源語種:通過
session.input_audio_transcription.language參數配置。預設值為
en(英語)。 -
目標語種:通過
session.translation.language參數配置。預設值為
en(英語)。
取值範圍參見支援的語種。
-
-
輸出源語言識別結果
通過
session.input_audio_transcription.model參數配置。設定為qwen3-asr-flash-realtime後,服務端會在翻譯的同時返回輸入音訊語音辨識結果(源語言原文)。啟用後,服務端會返回以下事件:
-
conversation.item.input_audio_transcription.text:流式返回識別結果。 -
conversation.item.input_audio_transcription.completed:識別完成後返回最終結果。
-
-
輸出模態
通過
session.modalities參數配置。支援設定為["text"](僅輸出文本)或["text","audio"](輸出文本與音頻)。 -
音色
通過
session.voice參數配置。參見支援的音色。
3. 輸入音頻與圖片
用戶端通過 input_audio_buffer.append 和 input_image_buffer.append 事件發送 Base 64 編碼的音頻和圖片資料。音頻輸入是必需的;圖片輸入是可選的。
圖片可以來自本地檔案,或從視頻流中即時採集。
服務端自動檢測音訊起始和結束,並據此觸發模型響應。
4. 接收模型響應
當服務端檢測到音頻終止時,模型會開始回複。模型的響應格式取決於配置的輸出模態。
-
僅輸出文本
服務端通過發送response.text.done事件返回完整的翻譯文本。
-
輸出文本+音頻
-
文本
通過response.audio_transcript.done事件返回完整的翻譯文本。
-
音頻
通過response.audio.delta事件返回 Base 64 編碼的增量音頻資料。
-
支援的模型
qwen3-livetranslate-flash-realtime 是一款多語言音視頻即時翻譯模型,可識別 18 種語言,並即時翻譯為 10 種語言的音頻。
核心特性:
-
多語言支援:支援 18 種語言和 6 種漢語方言,包括中文、英語、法語、德語、俄語、日語、韓語,以及普通話、粵語、四川話等。
-
視覺增強:利用視覺內容提升翻譯準確性。模型通過分析畫面中的口型、動作和文字,改善在嘈雜環境下或一詞多義情境中的翻譯效果。
-
3秒延遲:實現低至 3 秒的同傳延遲。
-
無損同傳:通過語義單元預測技術,解決跨語言語序問題。即時翻譯品質接近離線翻譯結果。
-
音色自然:產生音色自然的擬人語音。模型能根據源語音內容,自適應調節語氣和情感。
|
模型名稱 |
版本 |
上下文長度 |
最大輸入 |
最大輸出 |
|
(Token數) |
||||
|
qwen3-livetranslate-flash-realtime 當前能力等同 qwen3-livetranslate-flash-realtime-2025-09-22 |
穩定版 |
53,248 |
49,152 |
4,096 |
|
qwen3-livetranslate-flash-realtime-2025-09-22 |
快照版 |
|||
快速開始
-
準備運行環境
您的 Python 版本需要不低於 3.10。
首先安裝 pyaudio。
macOS
brew install portaudio && pip install pyaudioDebian/Ubuntu
sudo apt-get install python3-pyaudio 或者 pip install pyaudioCentOS
sudo yum install -y portaudio portaudio-devel && pip install pyaudioWindows
pip install pyaudio安裝完成後,通過 pip 安裝 websocket 相關的依賴:
pip install websocket-client==1.8.0 websockets -
建立用戶端
在本地建立一個 Python 檔案,命名為
livetranslate_client.py,並將以下代碼複製進檔案中: -
與模型互動
在
livetranslate_client.py的同級目錄下建立另一個 Python 檔案,命名為main.py,並將以下代碼複製進檔案中:運行
main.py,通過麥克風說出要翻譯的句子,模型會即時返回翻譯完成的音頻與文本。系統會檢測您的音頻起始位置並自動發送到服務端,無需手動發送。
利用映像提升翻譯準確率
qwen3-livetranslate-flash-realtime 模型可以接收映像輸入,輔助音頻翻譯,適用於同音異義、低頻專有名詞識別情境。建議每秒發送不超過2張圖片。
將以下代碼下載到livetranslate_client.py同級目錄並運行,向麥克風說"What is mask?",在輸入口罩圖片時,模型會翻譯為“什麼是口罩?”;輸入面具圖片時,模型會翻譯為“什麼是面具?”
import os
import time
import json
import asyncio
import contextlib
import functools
from livetranslate_client import LiveTranslateClient
IMAGE_PATH = "口罩.png"
# IMAGE_PATH = "面具.png"
def print_banner():
print("=" * 60)
print(" 基於千問 qwen3-livetranslate-flash-realtime —— 單輪互動樣本 (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] 開始錄音,請講話……")
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)
# 每 0.5 秒追加一幀圖片
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] 請先在環境變數 DASHSCOPE_API_KEY 中配置 API KEY")
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())
通過Function Compute一鍵部署
控制台暫不支援體驗。可通過以下方式一鍵部署:
-
開啟我們寫好的Function Compute模板,填入 API Key, 單擊建立並部署預設環境即可線上體驗。
-
等待約一分鐘,在 環境詳情 > 環境資訊 中擷取訪問網域名稱,將訪問網域名稱的
http改成https(例如https://qwen-livetranslate-flash-realtime-intl.fcv3.xxx.ap-southeast-1.fc.devsapp.net/),通過該連結與模型互動。重要此連結使用自我簽署憑證,僅用於臨時測試。首次訪問時,瀏覽器會顯示安全警告,這是預期行為,請勿在生產環境使用。如需繼續,請按瀏覽器提示操作(如點擊“進階” → “繼續前往(不安全)”)。
如需開通存取控制許可權,請跟隨頁面指引操作。
通過資源資訊-函數資源查看專案原始碼。
Function Compute與阿里雲百鍊均為新使用者提供免費額度,可以覆蓋簡單調試所需成本,額度耗盡後隨用隨付。只有在訪問的情況下會產生費用。
互動流程
即時語音翻譯的互動流程遵循標準的 WebSocket 事件驅動模型,服務端自動檢測語音起止並進行響應。
|
生命週期 |
用戶端事件 |
服務端事件 |
|
會話初始化 |
session.update 會話配置 |
session.created 會話已建立 session.updated 會話配置已更新 |
|
使用者音頻輸入 |
input_audio_buffer.append 添加音頻到緩衝區 input_image_buffer.append 添加圖片到緩衝區 |
無 |
|
服務端音訊輸出 |
無 |
response.created 服務端開始產生響應 response.output_item.added 響應時有新的輸出內容 response.content_part.added 新的輸出內容添加到assistant message response.audio_transcript.text 增量產生的轉錄文字 response.audio.delta 模型增量產生的音頻 response.audio_transcript.done 文本轉錄完成 response.audio.done 音頻產生完成 response.content_part.done Assistant message 的文本或音頻內容流式輸出完成 response.output_item.done Assistant message 的整個輸出項串流完成 response.done 響應完成 |
API 參考
計費說明
-
音頻:輸入或輸出每秒音頻均消耗 12.5 Token。
-
圖片:每輸入 28*28 像素消耗 0.5 Token。
-
文本:啟用源語言語音辨識功能後,服務除返回翻譯結果外,還會返回輸入音訊語音辨識文本(即源語言原文),該識別文本將按輸出文本的 Token 標準計費。
Token 費用請參見模型列表。
支援的語種
下表中的語種代碼可用於指定源語種與目標語種。
部分目標語種僅支援輸出文本,不支援輸出音頻。
|
語種代碼 |
語種 |
支援的輸出模態 |
|
en |
英語 |
音頻+文本 |
|
zh |
中文 |
音頻+文本 |
|
ru |
俄語 |
音頻+文本 |
|
fr |
法語 |
音頻+文本 |
|
de |
德語 |
音頻+文本 |
|
pt |
葡萄牙語 |
音頻+文本 |
|
es |
西班牙語 |
音頻+文本 |
|
it |
意大利語 |
音頻+文本 |
|
id |
印尼語 |
文本 |
|
ko |
韓語 |
音頻+文本 |
|
ja |
日語 |
音頻+文本 |
|
vi |
越南語 |
文本 |
|
th |
泰語 |
文本 |
|
ar |
阿拉伯語 |
文本 |
|
yue |
粵語 |
音頻+文本 |
|
hi |
印地語 |
文本 |
|
el |
希臘語 |
文本 |
|
tr |
土耳其語 |
文本 |
支援的音色
|
音色名 |
|
音色效果 |
描述 |
支援的語種 |
|
芊悅 |
Cherry |
陽光積極、親切自然小姐姐。 |
中文、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
|
不吃魚 |
Nofish |
不會翹舌音的設計師。 |
中文、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
|
上海-阿珍 |
Jada |
風風火火的滬上阿姐。 |
中文 |
|
|
北京-曉東 |
Dylan |
北京胡同裡長大的少年。 |
中文 |
|
|
四川-晴兒 |
Sunny |
甜到你心裡的川妹子。 |
中文 |
|
|
天津-李彼得 |
Peter |
天津相聲,專業捧人。 |
中文 |
|
|
粵語-阿清 |
Kiki |
甜美的港妹閨蜜。 |
粵語 |
|
|
四川-程川 |
Eric |
一個跳脫市井的四川成都男子。 |
中文 |