
Traduction orale simultanée via un WebSocket. Définir la langue cible, puis parler; le modèle répond dans cette langue avec du texte et de l’audio.
Traduction orale simultanée via un WebSocket. Définir la langue cible, puis parler; le modèle répond dans cette langue avec du texte et de l’audio.
La session est configurée avec des événements session.update via le socket plutôt que des paramètres de requête. La langue cible est requise. Les jetons texte et audio facturent à des débits séparés.
Aussi connu sous le nom Alibaba Cloud Qwen3.8 LiveTranslate Flash Realtime
qwen3-8-livetranslate-flash-realtime/v1/realtimeqwen3.8-livetranslate-flash-realtimealibaba/qwen3-8-livetranslate-flash-realtimeTarifs à l'usage en direct du catalogue EmpirioLabs. Vous ne payez que ce que vous utilisez, sans minimum mensuel.
Qwen3.8 LiveTranslate Flash Realtime est une traduction parlée en direct via un WebSocket sur wss://api.empiriolabs.ai/v1/realtime?model=qwen3-8-livetranslate-flash-realtime, et non via les endpoints HTTP. Connectez-vous avec l'id de modèle qwen3-8-livetranslate-flash-realtime et envoyez votre clé API EmpirioLabs dans un en-tête Authorization: Bearer lors du handshake. Définissez la langue cible avec un session.update avant d'envoyer de l'audio. L'audio circule dans les deux sens en PCM 16 bits encodé en base64. Un navigateur ne peut pas définir d'en-têtes sur un WebSocket : ouvrez donc cette connexion depuis votre serveur et relayez l'audio vers le navigateur via votre propre socket. Obtenez une clé API depuis le tableau de bord EmpirioLabs.
import asyncio, json, os, websockets
async def main():
async with websockets.connect(
"wss://api.empiriolabs.ai/v1/realtime?model=qwen3-8-livetranslate-flash-realtime",
additional_headers=[
("Authorization", f"Bearer {os.environ['EMPIRIOLABS_API_KEY']}"),
],
max_size=None,
) as ws:
print(json.loads(await ws.recv())["type"]) # session.created
import base64
await ws.send(json.dumps({
"type": "session.update",
"session": {
"voice": "Tina",
"translation": {"language": "en"},
"modalities": ["text", "audio"],
},
}))
# 16-bit PCM microphone audio, base64 encoded, in small chunks.
for chunk in read_microphone_chunks():
await ws.send(json.dumps({
"type": "input_audio_buffer.append",
"audio": base64.b64encode(chunk).decode(),
}))
async for raw in ws:
event = json.loads(raw)
if event["type"] == "response.audio.delta":
... # base64 audio chunk, append to your playback buffer
elif event["type"] in ("response.audio_transcript.text", "response.text.text"):
print(event.get("text") or "")
elif event["type"] == "response.done":
break
asyncio.run(main())Paramètres de requête pris en charge par l'API Qwen3.8 LiveTranslate Flash Realtime sur EmpirioLabs. Les valeurs par défaut s'appliquent quand un champ est omis.
| Paramètre | Type | Par défaut | Plage / valeurs | Description |
|---|---|---|---|---|
| voice | enum | Tina | Tina, Serena, Ethan, Cindy | Voix parlée pour l’audio traduit. Configurez-le avec session.update avant que le modèle ne produise un audio. |
| target_language | enum | en | zh, en, ar, de, fr, es, pt, id, it, ko, ru, th, vi, ja, tr, h... | Le langage dans lequel le modèle traduit. Obligatoire. Configurez-le avec session.update avant d’envoyer l’audio. |
| source_language | enum | auto | auto, zh, en, ar, de, fr, es, pt, id, it, ko, ru, th, vi, ja,... | Le langage que vous parlez. Laissez auto pour que le modèle le détecte. |
| modalities | string | ["text","audio"] | - | Quels types de sortie le modèle retourne pour un tour. Coupez l’audio pour une traduction uniquement textuelle. |
| input_audio_format | enum | pcm | pcm | Encodage de l’audio que vous ajoutez au tampon d’entrée: PCM base64 16 bits. |
| output_audio_format | enum | pcm | pcm | Encodage de l’audio que le modèle transmet en arrière: PCM base64 16 bits. |
Traduction orale via un WebSocket à wss://api.empiriolabs.ai/v1/realtime ?model=qwen3-8-livetranslate-flash-realtime, authentifiée avec l’en-tête Authorization Bearer ordinaire. Définissez la langue cible avec session.update avant d’envoyer l’audio. Utilisez une voix acceptée par ce modèle, ou laissez la Tina par défaut. Les jetons audio et texte sont tarifés séparément, et chaque tour complété est facturé séparément selon l’utilisation rapportée par le modèle.
Sur EmpirioLabs, Qwen3.8 LiveTranslate Flash Realtime est facturé à l'usage : Entrée: audio $15.00 par 1M de jetons d’entrée audio; Entrée $1.10 par 1M de jetons d’invite; Produit $40.00 par 1M de jetons générés; Sortie: audio $60.00 par 1M de jetons audio générés. La grille tarifaire en direct de cette page correspond toujours à ce que l'API facture.
Qwen3.8 LiveTranslate Flash Realtime prend en charge une fenêtre de contexte de 53K tokens avec jusqu'à 4 096 tokens de sortie par réponse.
Qwen3.8 LiveTranslate Flash Realtime est servi via WEBSOCKET /v1/realtime sur api.empiriolabs.ai avec une authentification standard par token Bearer.
Ouvrez le playground EmpirioLabs et appuyez sur Start session pour l'essayer dans votre navigateur. Qwen3.8 LiveTranslate Flash Realtime fonctionne sur un WebSocket plutôt qu'en requête et réponse, donc pour l'intégrer commencez par le guide de démarrage voix en temps réel. Connectez-vous depuis votre serveur avec votre clé API EmpirioLabs et l'id de modèle qwen3-8-livetranslate-flash-realtime, puis diffusez l'audio dans les deux sens.
Créez un compte EmpirioLabs, puis générez une clé sous API Keys dans le tableau de bord. La facturation utilise des crédits à l'usage : vous ne payez que vos requêtes.
Consultez nos tarifs ou contactez-nous si vous souhaitez que votre propre modèle soit déployé sur notre stack.