Documentation
API REFERENCE
Submit a video URL for dubbing. Returns a job ID to track progress.
Check the status of a dubbing job. Returns progress and download URL when complete.
Returns a list of all supported languages with their codes.
Returns your current API usage, remaining calls and billing period.
Code Examples
# Install: pip install requests
import requests
API_KEY = "your_api_key_here"
BASE_URL = "https://api.watchanylanguage.com/v1"
# Submit video for dubbing
response = requests.post(
f"{BASE_URL}/dub",
headers={"X-API-Key": API_KEY},
json={
"url": "https://youtube.com/watch?v=xxx",
"target_lang": "en",
"source_lang": "auto"
}
)
job = response.json()
job_id = job["job_id"]
print(f"Job started: {job_id}")
# Check status
status = requests.get(
f"{BASE_URL}/dub/{job_id}",
headers={"X-API-Key": API_KEY}
).json()
print(f"Status: {status['status']}")
if status["status"] == "done":
print(f"Download: {status['video_url']}")
// Using fetch API
const API_KEY = 'your_api_key_here';
const BASE_URL = 'https://api.watchanylanguage.com/v1';
// Submit video for dubbing
const response = await fetch(`${BASE_URL}/dub`, {
method: 'POST',
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: 'https://youtube.com/watch?v=xxx',
target_lang: 'en',
source_lang: 'auto'
})
});
const { job_id } = await response.json();
console.log(`Job started: ${job_id}`);
// Poll for status
const status = await fetch(`${BASE_URL}/dub/${job_id}`, {
headers: { 'X-API-Key': API_KEY }
}).then(r => r.json());
if (status.status === 'done') {
console.log(`Download: ${status.video_url}`);
}
# Submit video for dubbing
curl -X POST https://api.watchanylanguage.com/v1/dub \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"url": "https://youtube.com/watch?v=xxx",
"target_lang": "en",
"source_lang": "auto"
}'
# Response:
# { "job_id": "job_abc123", "status": "processing" }
# Check status
curl https://api.watchanylanguage.com/v1/dub/job_abc123 \
-H "X-API-Key: your_api_key_here"
# Response when done:
# { "status": "done", "video_url": "https://..." }