🌐 Caption.Ninja Translation Guide

Quick Start: Caption.Ninja offers multiple ways to translate captions in real-time. Choose between free local translation (17 languages) or premium Google Cloud Translation (100+ languages).

Translation Methods Overview

Method Languages Cost Quality Setup Required Best For
Local Translation
(Mozilla Bergamot)
17 languages Free Good None Personal use, privacy-focused
Google Cloud Translation 100+ languages Pay-per-use Excellent API Key required Professional, multi-language

Method 1: Direct Overlay Translation (Simplest)

Free Local Translation

Add translation directly to any overlay URL using Mozilla's Bergamot translation engine.

overlay.html?room=yourRoomID&translate=es

Supported Languages:

bg (Bulgarian), cs (Czech), nl (Dutch), en (English), et (Estonian), de (German), fr (French), is (Icelandic), it (Italian), nb (Norwegian Bokmål), nn (Norwegian Nynorsk), fa (Persian), pl (Polish), pt (Portuguese), ru (Russian), es (Spanish), uk (Ukrainian)

URL Parameters:

Google Cloud Translation in Overlay

Use Google's premium translation API directly in the overlay for 100+ languages.

overlay.html?room=yourRoomID&translate=es&googlekey=YOUR_API_KEY

Additional Parameters:

Get Google API Key: Google Cloud Console

Method 2: Premium Translation Page

The premium translation page provides a full interface for speech recognition and translation.

Features:

Workflow:

  1. Open translate_premium.html
  2. Enter your Google API key
  3. Select source and target languages
  4. Enable microphone and start speaking
  5. Use the generated overlay URL in OBS

Method 3: Free Translation Page

The free translation page uses local Mozilla Bergamot models.

Features:

Note: First-time use requires downloading translation models (~20MB per language pair).

Advanced Features

🌍 Multiple Language Overlays

Create separate overlay windows for different languages:

Window 1: overlay.html?room=abc&translate=es
Window 2: overlay.html?room=abc&translate=fr
Window 3: overlay.html?room=abc&translate=de

📝 Context-Aware Translation

Include previous messages for better translation accuracy:

&context=1&contextsize=5

Especially useful for conversations and technical content.

🔊 Text-to-Speech Integration

Add speech synthesis to translated captions:

&speech=1&voice=Google US English

Supports native browser TTS and premium services.

🎨 Styling Options

Customize overlay appearance:

&clear=1&showtime=3000&html=1

Control caption persistence and formatting.

Multi-Language Speakers

Handling Speakers Who Switch Between Languages

For events where speakers alternate between languages (e.g., French and English), Caption.Ninja offers two approaches:

Option 1: Manual Language Toggle (Free)

Add a quick-switch toggle to the capture page that lets a producer switch between languages on the fly:

index.html?room=yourRoom&lang=en-US&togglelang=en-US,fr-FR

Workflow:

  1. Open index.html?room=myroom&lang=en-US&togglelang=en-US,fr-FR
  2. Open overlay.html?room=myroom&translate=en in OBS
  3. When speaker switches to French, press Ctrl+L or click the toggle
  4. French speech will be transcribed and translated to English

Option 2: Auto-Detect Language (Premium)

With a Google Cloud API key, enable automatic source language detection:

overlay.html?room=yourRoom&translate=en&fromlang=auto&googlekey=YOUR_KEY

Or use the dedicated parameter:

overlay.html?room=yourRoom&translate=en&autodetect&googlekey=YOUR_KEY
Note: Auto-detect only works with Google Cloud Translation (premium). The free local translation (Bergamot) requires you to specify the source language manually using the toggle feature.

Language Codes Reference

Full Language Code List: View all supported language codes at:

Common Use Cases

Live Streaming with Multi-Language Support

  1. Set up your main caption source (e.g., speechin.html)
  2. Create multiple overlay URLs with different target languages
  3. Add each overlay as a separate browser source in OBS
  4. Position overlays for different regions or create scene variants

International Conferences

  1. Use translate_premium.html for source language input
  2. Enable context-aware translation for accuracy
  3. Create overlay URLs for each target language
  4. Provide separate streams or overlay options for attendees

Troubleshooting

Common Issues:

Cost Considerations

Google Cloud Translation Pricing

Cost Optimization Tips: