Skip to content

feat: Add CAMB AI TTS and end-to-end dubbing integration#538

Open
neilruaro-camb wants to merge 1 commit intoHuanshere:mainfrom
neilruaro-camb:feat/camb-ai-integration
Open

feat: Add CAMB AI TTS and end-to-end dubbing integration#538
neilruaro-camb wants to merge 1 commit intoHuanshere:mainfrom
neilruaro-camb:feat/camb-ai-integration

Conversation

@neilruaro-camb
Copy link

Hi there! 👋

We're the team at CAMB AI — we build localization AI and are the engine of choice for major sports brands including the NBA, Premier League, NASCAR, and the Australian Open. We'd love to be added as an integration in VideoLingo!

What this PR adds

1. CAMB AI TTS Backend

A new TTS option (camb_tts) using CAMB AI's MARS speech models:

  • Models: mars-flash (~150ms latency), mars-pro, mars-instruct, mars-nano
  • Languages: 13 supported (en-us, es-es, fr-fr, de-de, ja-jp, hi-in, pt-br, zh-cn, ko-kr, it-it, nl-nl, ru-ru, ar-sa)
  • Streams audio via /tts-stream endpoint
  • Configurable in the sidebar (API key, voice ID, language, model)

2. CAMB AI End-to-End Dubbing

A one-click dubbing option that handles the entire pipeline — transcription, translation, and voiceover — via CAMB AI's /dub API:

  • Accepts YouTube, Google Drive, or direct video URLs
  • 13 language pairs supported
  • Added as a separate tab in the UI alongside the existing VideoLingo pipeline, so users can choose their preferred workflow

Changes

  • core/tts_backend/camb_tts.py — new TTS backend
  • core/tts_backend/tts_main.py — added camb_tts to dispatch
  • core/dubbing_backend/camb_dubbing.py — new end-to-end dubbing module
  • core/st_utils/sidebar_setting.py — CAMB TTS config in sidebar
  • st.py — tab-based UI (VideoLingo Pipeline | CAMB AI Dubbing)
  • config.yaml — default config for camb_tts and camb_dubbing

No breaking changes

The existing VideoLingo pipeline is untouched. CAMB AI features are opt-in and require an API key from studio.camb.ai.

We're happy to iterate on any feedback. Thanks for building such a great tool!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant