Logo
Logo

Gradium develops audio language models designed to deliver natural, expressive, ultra-low latency voice interactions at scale and capable of performing any voice task.

Product

  • Models
  • On-Device
  • Pricing
  • API Docs

Showcase

  • Agent Demo
  • Gradbot
  • App Gallery

About us

  • Who we are
  • Blog
  • Careers
  • Contact
  • Press

Socials

  • X
  • GitHub
  • LinkedIn
  • Discord
Background Logo

© 2026 Gradium. All rights reserved.

Terms of ServicePrivacy Policy

GradiumTranslateReal-Time Translation

Try Now →See the Benchmarks →
Translate to
Voice
Translation

Speak in any supported language, we'll detect it automatically. Your translated text appears here, and the translated speech plays back directly.

The best live translation API

Translate speech in real time into text or speech, with the highest accuracy and lowest latency.

Read the full blog post →
BLEU and MetricX versus latency: Gradium leads translation quality at low latency versus gemini-3.5-live-translate and gpt-realtime-translate

Translate in a few lines of code

Stream audio through the Gradium Speech-To-Speech endpoint and get translated audio back in real time.

translate.py
python
import numpy as np
from gradium import client as gradium_client

grc = gradium_client.GradiumClient()
setup = {
    "model_name": "s2s-translate",
    "input_format": "pcm_24000",
    "output_format": "pcm_48000",
    "voice_id": "cLONiZ4hQ8VpQ4Sz",
    "stt_model_name": "stt-translate",
    "tts_model_name": "default",
    "target_language": "en",
}

async with grc.s2s_realtime(wait_for_ready_on_start=True, **setup) as s2s:
    async def send_loop():
        for i in range(0, len(pcm), 1920):
            await s2s.send_audio(pcm[i : i + 1920])
        await s2s.send_eos()

    async def recv_loop():
        async for msg in s2s:
            if msg["type"] == "audio":
                out_pcm = np.frombuffer(b"".join(all_bytes), dtype=np.int16)
            elif msg["type"] == "text":
                print(msg["text"], end=" ", flush=True)

    async with asyncio.TaskGroup() as tg:
        tg.create_task(send_loop())
        tg.create_task(recv_loop())