🌐 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 remote APIs (Google/OpenAI-compatible/Anthropic).

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

OpenAI-Compatible / Anthropic Providers

You can also use OpenAI-compatible APIs (including Ollama-compatible endpoints) or Anthropic via URL parameters.

Example URLs:

overlay.html?room=yourRoomID&translate=es&tprovider=openai&tmodel=gpt-4o-mini&tkey=YOUR_KEY
overlay.html?room=yourRoomID&translate=es&tprovider=ollama&turl=http://127.0.0.1:11434/v1&tmodel=llama3.1
overlay.html?room=yourRoomID&translate=es&tprovider=anthropic&tmodel=claude-3-5-haiku-latest&tkey=YOUR_KEY

Additional Parameters:

UI Shortcut: On index.html, click Customize Overlay and use the Provider dropdown to build these URLs without manual query editing.

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. Select your translation provider
  3. Enter API key (if required) and optional endpoint/model for advanced providers
  4. Select source and target languages
  5. Enable microphone and start speaking
  6. 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 remote translation provider, enable automatic source language detection:

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

OpenAI-compatible example:

overlay.html?room=yourRoom&translate=en&fromlang=auto&tprovider=openai&turl=https://your-proxy.example/v1&tmodel=gpt-4o-mini&tkey=YOUR_KEY

Or use the dedicated parameter:

overlay.html?room=yourRoom&translate=en&autodetect&googlekey=YOUR_KEY
Note: Auto-detect only works with remote providers. 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: