Doblaj
Chrome extension · bring your own Gemini key

Watch it in Persian

هر ویدیویی را، زنده، به فارسی بشنوید

Doblaj listens to whatever is playing in your tab, works out what language it is on its own, and speaks it back to you in Persian a few seconds later. No subtitles to read, no files to prepare.

Free to use. You pay Google directly for what you dub — nothing goes through us.

A few seconds behind, not thirty

Most translation tools wait for a chunk of audio to finish, transcribe it, translate it, then read it aloud. Every step adds delay. Doblaj holds one open connection to a speech-to-speech model instead, so audio goes out and Persian comes back continuously.

00:00.0

Your tab starts playing

Doblaj captures the tab's audio and passes the original straight through to your speakers, untouched.

00:00.1

Audio streams out in 100ms frames

Nothing waits for a sentence to finish. Frames leave continuously over a single connection.

00:00.4

The language identifies itself

You never pick a source language. The model recognises over 70 of them and switches if the video does.

00:02.8

Persian comes back and plays

The original ducks under the dub and lifts again when the line ends. Each speaker keeps their own pitch and pacing, so men and women still sound like men and women.

It also writes the file

Live playback can never be perfectly in sync — the dub is always a beat behind. So Doblaj records the session on the video's own timeline, where every line sits exactly where it belongs.

WAVdubbed mix

The original ducked underneath the Persian dub, levelled and normalised, ready to listen to as it is.

WAVdub only

Persian speech over silence, if you would rather mix it yourself.

SRTPersian subtitles

Every translated line with real timings, straight from the model's own transcript.

ffmpeg -i video.mp4 -i doblaj-dubbed.wav -map 0:v -map 1:a \
       -c:v copy -c:a aac -shortest dubbed.mp4

Getting set up

Two minutes, and one of those is making the API key.

  1. Get a Gemini API key

    Sign in at aistudio.google.com and create a key. The free tier is enough to try it.

  2. Install Doblaj

    From the Chrome Web Storea>, or download the release and load the unpacked folder at chrome://extensions with Developer mode on.

  3. Paste the key into Settings

    Open the extension, choose Statistics & settings, paste the key and save. Press Test live connection to confirm your key can reach the model.

  4. Play something and press the seal

    Open any video, click the Doblaj icon and press the فا button. The first Persian line arrives a few seconds later.

What happens to your audio

Said plainly

To translate speech, that speech has to be sent somewhere. While dubbing is on, the audio of the tab you are dubbing is streamed to Google's Gemini API using your own key, under your own Google account and its terms. That is the whole point of the extension, and it is worth knowing before you turn it on.

Nothing is sent anywhere else. There is no server of ours in the middle, no account to create, and no analytics. Your API key, your settings and your usage statistics stay in your browser's local storage. Recordings are held in memory only while the session is open, and are never uploaded — they exist so you can save the file yourself.

Doblaj only ever captures the tab you explicitly start it on, and stops the moment you press the button again or close that tab.

Questions

Does it work on Netflix or other paid services?

Usually not. Protected audio can't be captured by extensions, so DRM services are out. YouTube, Twitch, Aparat, news streams, podcasts and ordinary embedded video all work.

What does it cost?

The extension is free. You are billed by Google for the audio you send, on your own key. The dashboard tracks minutes dubbed, calls made and characters spoken so nothing is a surprise, and you can export it all as JSON.

Can I use it the other way round — Persian into English?

Not in this version. Doblaj is built to translate into Persian, and stays silent when the source is already Persian so it doesn't talk over itself.

Why is the dub still a few seconds behind?

Because the extension can only hear audio after it has played. That delay is inherent to live dubbing, not a bug — even human interpreters work a sentence behind. If you need exact sync, export the file, where every line is placed on the true timeline.

Which languages can it dub from?

Over seventy, detected automatically. You never set a source language, and a video that switches languages mid-way is handled without you touching anything.