A Chrome extension for live-translating YouTube videos with OpenAI Realtime. Choose a language, press Start, and hear translated speech while a live caption overlay follows the video.
- Google Chrome.
- An OpenAI API key.
- A YouTube video.
- Download or clone this repo.
- Open
chrome://extensions. - Enable Developer mode.
- Click Load unpacked.
- Select the
chrome-live-translatorfolder.
- Open a YouTube video.
- Click the extension icon.
- Paste your OpenAI API key.
- Choose the language you want to hear.
- Press Start.
The overlay appears only after you start translation. You can move it, resize it, hide it, change language, and adjust the balance between the original video audio and translated voice.
The default mode stores your OpenAI API key locally in Chrome extension storage. It is not synced to your Google account, and the YouTube page/content script does not receive the key. The background service worker uses the key to create short-lived Realtime client secrets.
For safer testing, create a dedicated OpenAI project key for this extension and monitor usage in your OpenAI dashboard.
If you do not want the extension to store your OpenAI key, use local bridge mode instead.
Create .env.local from .env.example, set OPENAI_API_KEY, then run:
npm startPrint a local bridge token:
npm run bridge:tokenIn the extension popup, open Advanced bridge, enable Use local bridge, paste the token, and press Start.
No-key checks:
npm run check:language-routingLive OpenAI access checks:
npm run check:translation-model
npm run check:accesscheck:translation-model is the focused check for gpt-realtime-translate.
It asks OpenAI for a short-lived Realtime translation client secret and never
prints the secret or your API key.
- This is experimental software.
- It currently targets YouTube.
- Realtime translation quality, supported languages, voices, and latency depend on the OpenAI Realtime API.
MIT
