Dubbing Quickstart

Dub audio or video into another language in 5 minutes. No SDK needed — just REST API calls.

Prerequisites

  • A Pinch API key from the Developer Portal
  • An audio file (WAV, MP3, FLAC, OGG, M4A, AAC, WMA) or video file (MP4, MOV, MKV, WebM, AVI) — or a public URL

Quick example

Code

# 1. Create a dubbing job from a URL
curl -X POST https://api.startpinch.com/api/dubbing/jobs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source_url": "https://example.com/video.mp4",
    "source_lang": "auto",
    "target_lang": "es"
  }'

# Response: { "job_id": "abc-123", "status": "pending", ... }

# 2. Poll for completion
curl https://api.startpinch.com/api/dubbing/jobs/abc-123 \
  -H "Authorization: Bearer YOUR_API_KEY"

# 3. Download the result when status is "completed"
curl https://api.startpinch.com/api/dubbing/jobs/abc-123/result \
  -H "Authorization: Bearer YOUR_API_KEY"

# Response: { "download_url": "https://...", "expires_at": "..." }

Upload a local file

If your file isn’t publicly accessible, upload it first:

Code

# 1. Get a presigned upload URL
curl -X POST https://api.startpinch.com/api/dubbing/upload-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename": "my-video.mp4", "content_type": "video/mp4"}'

# Response: { "upload_url": "https://...", "source_url": "https://..." }

# 2. Upload the file directly to S3
curl -X PUT "UPLOAD_URL_FROM_STEP_1" \
  -H "Content-Type: video/mp4" \
  --data-binary @my-video.mp4

# 3. Create the dubbing job using the source_url from step 1
curl -X POST https://api.startpinch.com/api/dubbing/jobs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source_url": "SOURCE_URL_FROM_STEP_1",
    "target_lang": "es"
  }'

Job lifecycle

Jobs go through these statuses:

Code

pending → downloading → processing → uploading → completed
                                                → failed

Poll GET /api/dubbing/jobs/{id} to track progress. Typical processing time is 2-5 minutes for 1 minute of input.

Pricing & limits

Price $0.50 per minute of input media
Max duration 10 minutes
Min duration 1 second
Max file size 500 MB
Input formats Video: MP4, MOV, MKV, WebM, AVI; Audio: WAV, MP3, FLAC, OGG, M4A, AAC, WMA
Output format Video input: MP4 (H.264 + AAC); Audio input: MP3 or WAV
Rate limit 10 jobs per minute
Output expiry Download URLs expire after 48 hours

Supported languages

Code Language
en English
es Spanish
fr French
de German
it Italian
pt Portuguese
ru Russian
ja Japanese
ko Korean
zh Chinese

Next steps

Guides