videodubber
v0.2.3
Published
Official JS/TS SDK for VideoDubber.ai — AI video translation, audio dubbing & voice cloning API (150+ languages). Node 18+. Python client also on PyPI.
Maintainers
Readme
videodubber
Official JavaScript/TypeScript client for VideoDubber.ai — AI video translation, audio dubbing, and voice cloning in 150+ languages. Automate the Partner API at api.videodubber.ai from Node.js, Deno, or any JavaScript runtime with native fetch.
| | | |---|---| | Website | videodubber.ai | | Developer portal | videodubber.ai/developers | | npm (this package) | npmjs.com/package/videodubber | | PyPI (Python client) | pypi.org/project/videodubber | | Full API reference | GitHub: videodubber_client.md | | Pricing & API access | videodubber.ai/pricing |
What does this package do?
Translate video or audio programmatically:
- POST
/api/p/jobswith a public media URL, target language, and voices - Poll
/api/p/jobs/{pid}/statusuntilstatusiscomplete - Download the translated file from
output_urls.translated_media
This client handles rate-limit throttling (12 s minimum between calls), 429 retries, polling, and optional CLI download — the same workflow as the Video Translation app.
Also available for Python: pip install videodubber on PyPI.
Installation
npm install videodubberRequirements: Node.js 18+ (native fetch), a VideoDubber API key, and a stable public http/https URL to your source media.
Quick start (library)
import { VideoDubberClient } from "videodubber";
const client = new VideoDubberClient({
apiKey: process.env.VIDEODUBBER_API_KEY,
});
const status = await client.translateFromUrl({
fileUrl: "https://example.com/video.mp4",
targetLanguage: "Spanish",
originalLanguage: "English",
selectedVoices: ["Elvira"],
speakers: ["Speaker 1"],
filetype: "mp4",
});
console.log(status.translatedMediaUrl);TypeScript
Full types are included. Import TranslationJobParams, JobStatus, and error classes from "videodubber".
CLI
After install, use the videodubber command (Node 18+):
export VIDEODUBBER_API_KEY="your-api-key"
npx videodubber \
--file-url "https://example.com/video.mp4" \
--target-language Spanish \
--voice Elvira \
--output ./translated.mp4Or without installing globally:
npm install -g videodubber
videodubber --helpHow to get an API key
API access is on paid plans:
- Log in at app.videodubber.ai
- Open API Keys in your account
- Click Generate API key and store it securely
Use via environment variable:
export VIDEODUBBER_API_KEY="your-api-key"
# optional: export VIDEODUBBER_API_BASE="https://api.videodubber.ai"Or pass { apiKey: "..." } to VideoDubberClient.
API methods
| Method | Description |
|--------|-------------|
| createJobFromUrl(params) | Submit job; returns { pid, status, ... } |
| getJobStatus(pid) | Single status poll |
| waitForJob(pid, options?) | Poll until complete, failed, or timeout |
| translateFromUrl(params, options?) | Create + wait (full workflow) |
| health() | GET / health check |
See the developer portal and full API docs on GitHub for request fields, languages, voices, and error codes.
Rate limits
- 5 requests / minute per API key on
/api/p/*endpoints - Minimum 12 s between calls (enforced by this client)
- Default poll interval: 15 s
Do not run many parallel jobs on one API key.
Keywords
VideoDubber · video translation API · AI dubbing · voice cloning · subtitle translation · localization · text-to-speech · Node.js SDK · TypeScript client · media translation · 150+ languages
Links
- VideoDubber.ai — try free in the browser
- Developer API docs
- Python client on PyPI
- GitHub repository
- Support
License: GPL-3.0-or-later
