qwen3.5-livetranslate-flash-realtime 是視覺增強型即時翻譯模型,支援 60 種語言互譯(其中 29 種支援音頻+文本輸出、31 種僅支援文本輸出),可同時處理音頻與映像輸入,適用於即時視頻流或本地視頻檔案,利用視覺上下文資訊提升翻譯準確性,並即時輸出高品質的翻譯文本與音頻。
線上體驗參見通過Function Compute一鍵部署。
功能特性
-
多語言支援:支援 60 種語言互譯,其中 29 種支援音頻+文本輸出、31 種僅支援文本輸出,覆蓋中文、英語、法語、德語、俄語、日語、韓語、西班牙語、葡萄牙語、阿拉伯語等主流語種。
-
視覺增強:利用視覺內容提升翻譯準確性。模型通過分析畫面中的口型、動作和文字,改善在嘈雜環境下或一詞多義情境中的翻譯效果。
-
2.8 秒延遲:實現低至 2.8 秒的同傳延遲。
-
無損同傳:通過語義單元預測技術,解決跨語言語序問題。即時翻譯品質接近離線翻譯結果。
-
音色自然:產生音色自然的擬人語音。模型能根據源語音內容,自適應調節語氣和情感。
-
配置熱詞:通過熱詞提升特定詞彙的翻譯準確性。
-
聲音複刻:支援複刻發言人音色用於翻譯播報,讓輸出聽起來像本人說外語。支援服務端即時複刻和使用預先複刻的固定音色。
如何使用
1. 配置串連
qwen3.5-livetranslate-flash-realtime 模型通過 WebSocket 通訊協定接入,串連時需要以下配置項:
|
配置項 |
說明 |
|
調用地址 |
華北2(北京)地區:wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/realtime 新加坡地區:wss://{WorkspaceId}.ap-southeast-1.maas.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參數配置。參見支援的音色。 -
熱詞
通過
session.translation.corpus.phrases參數配置。熱詞用於提升特定詞彙的翻譯準確性,以 key-value 形式指定源語言詞彙與目標語言翻譯的映射關係。樣本:將
"人工智慧"指定翻譯為"Artificial Intelligence"。 -
聲音複刻
通過
session.enable_voice_clone、session.voice_clone_options.frequency與session.voice參數配置。支援三種模式:使用預先複刻的音色(frequency為never)、服務端複刻一次(once)或每次複刻(always)。詳見 聲音複刻。
3. 輸入音頻與圖片
用戶端通過 input_audio_buffer.append 和 input_image_buffer.append 事件發送 Base 64 編碼的音頻和圖片資料。音頻輸入是必需的;圖片輸入是可選的。
圖片可以來自本地檔案,或從視頻流中即時採集。
服務端自動檢測音訊起始和結束,並據此觸發模型響應。
4. 接收模型響應
當服務端檢測到音頻終止時,模型會開始回複。模型的響應格式取決於配置的輸出模態。
-
僅輸出文本
服務端通過response.text.text事件流式返回增量翻譯文本(含已確認文本和待確認的預測文本);翻譯完成後,通過response.text.done事件返回完整的翻譯文本。
-
輸出文本+音頻
-
文本
通過response.audio_transcript.text事件流式返回增量翻譯文本;翻譯完成後,通過response.audio_transcript.done事件返回完整的翻譯文本。
-
音頻
通過response.audio.delta事件返回 Base 64 編碼的增量音頻資料。
-
即時語音翻譯模型使用 response.text.text 事件返回增量文本,與全雙工系統語音對話(Omni)模型的 response.text.delta 事件不同,兩者欄位結構和語義有差異,請勿混用。
5. 結束會話
音頻發送完畢後,用戶端必鬚髮送 session.finish 事件通知服務端,然後等待服務端返回 session.finished 事件後再關閉 WebSocket 串連。
如果不發送 session.finish,服務端無法得知音頻輸入已完成,會導致最後一段語音的識別和翻譯結果丟失,串連也可能長時間處於等待狀態。請務必在關閉串連前發送該事件。
支援的模型
|
模型名稱 |
版本 |
上下文長度 |
最大輸入 |
最大輸出 |
|
(Token數) |
||||
|
qwen3.5-livetranslate-flash-realtime 當前能力等同 qwen3.5-livetranslate-flash-realtime-2026-05-19 |
穩定版 |
53,248 |
49,152 |
4,096 |
|
qwen3.5-livetranslate-flash-realtime-2026-05-19 |
快照版 |
|||
|
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,通過麥克風說出要翻譯的句子,模型會即時返回翻譯完成的音頻與文本。系統會檢測您的音頻起始位置並自動發送到服務端,無需手動發送。
聲音複刻
模型支援發言人聲音複刻功能,支援使用預先複刻的固定音色,也支援由服務端即時複刻,讓翻譯播報聽起來像本人說外語。適用於跨語言演講、個人主播、視頻翻譯等需要保留個人音色的情境。
在 session.update 中設定以下參數啟用:
-
session.enable_voice_clone:設定為true,啟用聲音複刻。 -
session.voice_clone_options.frequency:控制聲音複刻時機,取值如下:-
never:不在服務端複刻,使用使用者預先複刻好的音色。此時session.voice需設定為使用者自己的複刻音色 ID。 -
once:服務端在會話開始時基於輸入音頻複刻一次音色,後續翻譯輸出複用該音色。適合單人演講情境。此時session.voice需設定為default。 -
always:服務端在每次產生翻譯音頻前即時複刻,音色跟隨輸入動態變化。適合雙人及以上對話情境。此時session.voice需設定為default。
-
-
session.voice:指定輸出音色,取值取決於frequency的設定。-
設定為
default:搭配frequency為once或always使用,由服務端複刻輸入音訊音色,複刻完成前使用預設音色過渡。 -
設定為使用者複刻的音色 ID(如
qwen-translate-vc-xxx-yyy-zzz):搭配frequency為never使用。需提前通過聲音複刻API準備音色,targetModel需指定為qwen3.5-livetranslate-flash-realtime。
-
當frequency為once或always時,voice必須設定為default,不可設定為其他預設音色,否則服務端會返回錯誤。
聲音複刻配置樣本
使用預先複刻的音色(音質穩定,推薦需要固定音色的情境):
{
"type": "session.update",
"session": {
"modalities": ["text","audio"],
"voice": "qwen-translate-vc-xxx-yyy-zzz",
"translation": {
"language": "en"
},
"enable_voice_clone": true,
"voice_clone_options": {
"frequency": "never"
}
}
}
服務端複刻一次(適合單人演講):
{
"type": "session.update",
"session": {
"modalities": ["text","audio"],
"voice": "default",
"translation": {
"language": "en"
},
"enable_voice_clone": true,
"voice_clone_options": {
"frequency": "once"
}
}
}
服務端每次複刻(適合多人對話):
{
"type": "session.update",
"session": {
"modalities": ["text","audio"],
"voice": "default",
"translation": {
"language": "en"
},
"enable_voice_clone": true,
"voice_clone_options": {
"frequency": "always"
}
}
}
利用映像提升翻譯準確率
qwen3.5-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.5-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", 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.text.text 僅文本模態下增量產生的翻譯文本 response.audio_transcript.text 音頻+文本模態下增量產生的轉錄文字 response.audio.delta 模型增量產生的音頻 response.text.done 僅文本模態下翻譯文本完成 response.audio_transcript.done 音頻+文本模態下文本轉錄完成 response.audio.done 音頻產生完成 response.content_part.done Assistant message 的文本或音頻內容流式輸出完成 response.output_item.done Assistant message 的整個輸出項串流完成 response.done 響應完成 |
|
會話結束 |
session.finish 通知服務端音頻發送完畢 |
session.finished 服務端完成處理,會話結束 |
音頻發送結束後,必鬚髮送 session.finish 事件並等待 session.finished 響應後再中斷連線。如果直接關閉 WebSocket 而不發送 session.finish,服務端 VAD 無法觸發最後一段語音的識別終止,將導致該段語音的翻譯結果全部丟失。
API 參考
計費說明
-
Qwen3.5-LiveTranslate-Flash-Realtime
-
音頻:輸入每秒音頻消耗 7 Token,輸出每秒音頻消耗 12.5 Token。
-
圖片:每輸入 32*32 像素消耗 0.5 Token。
-
文本:啟用源語言語音辨識功能後,服務除返回翻譯結果外,還會返回輸入音訊語音辨識文本(即源語言原文),該識別文本將按輸出文本的 Token 標準計費。
-
-
Qwen3-LiveTranslate-Flash-Realtime
-
音頻:輸入或輸出每秒音頻均消耗 12.5 Token。
-
圖片:每輸入 28*28 像素消耗 0.5 Token。
-
文本:啟用源語言語音辨識功能後,服務除返回翻譯結果外,還會返回輸入音訊語音辨識文本(即源語言原文),該識別文本將按輸出文本的 Token 標準計費。
-
Token 費用請參見選擇模型。
支援的語種
下表中的語種代碼可用於指定源語種與目標語種。
部分目標語種僅支援輸出文本,不支援輸出音頻。老模型 qwen3-livetranslate-flash-realtime 僅支援以下 18 種語種:en、zh、ru、fr、de、pt、es、it、id、ko、ja、vi、th、ar、yue、hi、el、tr。
|
語種代碼 |
語種 |
支援的輸出模態 |
|
zh |
中文 |
音頻+文本 |
|
en |
英語 |
音頻+文本 |
|
ar |
阿拉伯語 |
音頻+文本 |
|
de |
德語 |
音頻+文本 |
|
fr |
法語 |
音頻+文本 |
|
es |
西班牙語 |
音頻+文本 |
|
pt |
葡萄牙語 |
音頻+文本 |
|
id |
印尼語 |
音頻+文本 |
|
it |
意大利語 |
音頻+文本 |
|
ko |
韓語 |
音頻+文本 |
|
ru |
俄語 |
音頻+文本 |
|
th |
泰語 |
音頻+文本 |
|
vi |
越南語 |
音頻+文本 |
|
ja |
日語 |
音頻+文本 |
|
tr |
土耳其語 |
音頻+文本 |
|
hi |
印地語 |
音頻+文本 |
|
ms |
馬來語 |
音頻+文本 |
|
nl |
荷蘭語 |
音頻+文本 |
|
ur |
烏爾都語 |
音頻+文本 |
|
nb |
挪威語 |
音頻+文本 |
|
sv |
瑞典語 |
音頻+文本 |
|
da |
丹麥語 |
音頻+文本 |
|
he |
希伯來語 |
音頻+文本 |
|
fi |
芬蘭語 |
音頻+文本 |
|
pl |
波蘭語 |
音頻+文本 |
|
is |
冰島語 |
音頻+文本 |
|
cs |
捷克語 |
音頻+文本 |
|
fil |
菲律賓語 |
音頻+文本 |
|
fa |
波斯語 |
音頻+文本 |
|
yue |
粵語 |
文本 |
|
el |
希臘語 |
文本 |
|
af |
南非荷蘭語 |
文本 |
|
ast |
阿斯圖里亞斯語 |
文本 |
|
be |
白俄羅斯語 |
文本 |
|
bg |
保加利亞語 |
文本 |
|
bn |
孟加拉語 |
文本 |
|
bs |
波斯尼亞語 |
文本 |
|
ca |
加泰羅尼亞語 |
文本 |
|
ceb |
宿務語 |
文本 |
|
et |
愛沙尼亞語 |
文本 |
|
gl |
加利西亞語 |
文本 |
|
gu |
古吉拉特語 |
文本 |
|
hr |
克羅地亞語 |
文本 |
|
hu |
匈牙利語 |
文本 |
|
jv |
爪哇語 |
文本 |
|
kk |
哈薩克語 |
文本 |
|
kn |
卡納達語 |
文本 |
|
ky |
柯爾克孜語 |
文本 |
|
lv |
拉脫維亞語 |
文本 |
|
mk |
馬其頓語 |
文本 |
|
ml |
馬拉雅拉姆語 |
文本 |
|
mr |
馬拉地語 |
文本 |
|
pa |
旁遮普語 |
文本 |
|
ro |
羅馬尼亞語 |
文本 |
|
sk |
斯洛伐克語 |
文本 |
|
sl |
斯洛文尼亞語 |
文本 |
|
sw |
斯瓦希裡語 |
文本 |
|
tg |
塔吉克語 |
文本 |
|
az |
阿塞拜疆語 |
文本 |
|
uk |
烏克蘭語 |
文本 |
支援的音色
即時翻譯支援的音色與voice參數取值參見音色列表。