Audio Redub API
POST /redub
About this tool
`/redub` targets localization, emergency fixes, and compliance edits where narration must swap or blend with programmatic clarity. Submit JSON containing `video_url`, `voice_url`, a `mode` switch (`replace` versus `mix`), and `bg_source` strategies such as `keep`, `external`, `centerremove`, or `separate`. Workers align timelines, duck music when instructed, and return async downloadables just like every other FFmpeg operation—always keyed to your subscription’s API credential and never reliant on multipart file spam.
Because audio phase issues cause worse UX than blurry video, the API emits FFmpeg diagnostics when loudness envelopes diverge wildly. Respect sample-rate drift by sourcing voice tracks rendered at identical project tempo; uploading scratch VO from conferencing tools without trimming breaths invites clicks after mux. Enterprises often pair `/redub` with `/silence_process` for automated gatekeeping before QA humans listen once.
Each `bg_source` path maps to a distinct FFmpeg filter topology documented in `/api-docs#...`. Selecting `mix` preserves beds under dialogue when levels cooperate, while `replace` stomps incompatible legacy tracks. Understand these semantics legally as well—mixing copyrighted instrumentals pulled from unknown `voice_url` sources remains your licensing problem, not ours.
Observability treats each job distinctly: log payloads without secrets but keep correlation IDs beside task hashes. Burst traffic from binge dubbing spikes should respect exponential backoff guidelines published for your tier. Consumers hunting “free overdub widgets” won’t find that here; you’re orchestrating FFmpeg as paid infrastructure tied to SLA-minded teams.
Finalize by verifying lip sync tolerances visually; FFmpeg can only stretch audio within the physics encoded in parameters. Iterate via JSON tweaks rather than re-uploading gigantic video blobs—another benefit of immutable remote URLs baked into every Droid Apps tool. Studios juggling multiple regional variants template `mode`, `voice_url`, and `bg_source` per territory while keeping identical `video_url` pointers, letting translation vendors swap stems without rebuilding video edits. Operational analytics show how often `centerremove` succeeds versus falls back—use those KPIs before promising automated music retention in contracts.
Try it now
How it works
Stage both media URLs
Place the master video and isolated voice narration at HTTPS endpoints. Confirm neither requires signed cookies and that codecs are decodable by our worker image.
Declare mode and background policy
Encode `mode` plus `bg_source` in JSON so FFmpeg builds the correct filter graph before muxing output tracks.
POST `/redub` with API key
Await the standard task envelope. No multipart upload path exists—only JSON bodies with remote references.
Poll and retrieve new mux
Watch `status_url` until success, then download the redubbed render for captioning, packaging, or further `/cut` operations.
Frequently asked questions
What does `centerremove` attempt?
It invokes center-channel extraction heuristics suited to stereo music beds. Effectiveness varies with source mixing; read the technical note in the API docs before promising clients perfect isolation.
Can I mix instead of replace?
Yes—set `mode` to `mix` when both tracks should coexist, assuming levels are sane. FFmpeg may normalize or clamp according to documented safety limits.
Why does my job fail instantly?
Most synchronous failures stem from inaccessible `voice_url` hosts or malformed JSON enums. Inspect the returned error dictionary before blaming worker capacity.
How do subscriptions gate concurrency?
Higher tiers unlock more simultaneous FFmpeg graphs. Attempts beyond your cap return explicit rate errors so autoscalers can queue work client-side.
Is multipart streaming on the roadmap?
No—our architecture standardizes JSON plus HTTPS fetches across tools to simplify batch orchestration for API consumers.