Customer story · First paying integration
How DAP-Diplo brought pastoral training to 3 languages overnight
A Spanish-language seminary curriculum, two new audiences in Brazil and the US Hispanic church, and a pastor's actual voice carrying every lecture into Portuguese and English — without hiring a single interpreter.
At a glance
ES native + EN + PT-BR
Upload to published captions + audio
Validated ~2-minute video
API key issued to first live class
The challenge
Pastoral education is fragmented by language.
DAP-Diplo runs a full Diplomado en Ministerio para Pastores y Líderes — a multi-module pastoral training program taught by Latin American instructors for Latin American pastors. The curriculum is rich, the instructors carry decades of pastoral weight, and demand for the program had begun spilling across language lines: bilingual cohorts in the US Hispanic church, Brazilian Pentecostal communities asking for the same teaching in Portuguese, English-only adult children of Spanish-speaking pastors wanting their parents' world.
The options were grim. Burn each class into static subtitles and lose the warmth of the instructor's voice — the very thing that makes a sermon land. Or hire interpreters and re-record every lecture in two languages at a cost that would have killed the program before module four. Generic AI dubs were a non-starter; a pastoral voice telling stories in someone else's vocal cords reads as inauthentic to a congregation. DAP-Diplo needed a third option that didn't exist yet.
The solution
One REST endpoint. Webhook in. Webhook out.
The DAP-Diplo team already had a working Mux pipeline — instructors upload finished lectures, Mux fires a webhook when the asset is ready, the LMS publishes it to enrolled students. We slipped Acts 2 into the seam between those two events.
When Mux signals video.asset.ready, DAP-Diplo's server posts to /api/process-video with the playback URL, source language, the target languages, and a stable speaker ID so the cloned voice stays consistent across the entire course. Acts 2 returns a jobIdand a 202; the LMS marks the class as "translating" and moves on. Whisper handles transcription, Claude Opus does the theology- aware translation pass, and ElevenLabs renders the dub in the instructor's cloned voice.
When the job finishes, Acts 2 calls DAP-Diplo's webhook with a signed payload containing a VTT and an audio track URL per language. DAP-Diplo attaches them to the Mux asset as text tracks and audio renditions, and the student-facing player picks them up automatically.
Request — fired by DAP-Diplo
POST /api/process-videoPOST https://api.acts2.io/api/process-video
Authorization: Bearer act2_live_...
{
"videoUrl": "https://stream.mux.com/abc123.m3u8",
"sourceLanguage": "es",
"targetLanguages": ["en", "pt-BR"],
"voiceClone": true,
"speakerId": "pastor_dap_001",
"callbackUrl": "https://dap-diplo.vercel.app/api/acts2/webhook",
"metadata": { "classId": "mod-04-lesson-02" }
}Webhook — fired by Acts 2 on completion
POST {callbackUrl}POST https://dap-diplo.vercel.app/api/acts2/webhook
X-Acts2-Signature: t=1716...,v1=8a3f...
{
"jobId": "job_01HF2X7N4QK9...",
"status": "completed",
"sourceLanguage": "es",
"results": [
{
"language": "en",
"vttUrl": "https://cdn.acts2.io/...en.vtt",
"audioUrl": "https://cdn.acts2.io/...en.m4a",
"durationSec": 132
},
{
"language": "pt-BR",
"vttUrl": "https://cdn.acts2.io/...pt-BR.vtt",
"audioUrl": "https://cdn.acts2.io/...pt-BR.m4a",
"durationSec": 132
}
],
"costUsd": 2.16
}The outcome
The instructor's voice — in Portuguese, in English.
The voice landed first, not the speed or the savings. A Brazilian student in São Paulo opens module two and hears the instructor — the same warmth, cadence, and preacher's rhythm — speaking native Brazilian Portuguese. An English-speaking student in Houston hears the same instructor in English. Nothing about the pastor's identity got flattened into a synthetic narrator.
The economics did the second round of convincing. A validated ~2-minute class clocks in at $2.16 of API cost. Projected across a full sermon-length lecture, that's roughly $55 per finished hour of translated, voice-cloned content. A 40-hour curriculum dubs into English and Portuguese for under $2,200 in compute — against the $30,000 to $50,000 a traditional studio dub would have cost for two languages. Time-to-publish dropped to under five minutes from instructor upload to a Brazilian student loading the player with captions and a Portuguese audio track already attached.
“We were sketching out a six-figure dubbing budget for the Portuguese cohort. Two days after Acts 2 issued our API key, our instructor was already speaking Portuguese on the platform — in his own voice. The pastoral warmth didn't survive the translation. It wasthe translation.”
Technical stack
What DAP-Diplo runs on.
- Frontend
- Next.js 16 (App Router)
- Auth + DB
- Supabase Postgres + RLS
- Video
- Mux (HLS + text & audio tracks)
- Billing
- Stripe (subscriptions)
- Translation
- Acts 2 REST API
- Voice
- Acts 2 cloned-voice dub (ElevenLabs)
Two days to live
Want to integrate Acts 2 like DAP-Diplo did?
Two days from API key to your first translated class. Bring your video pipeline; we'll bring the voices.
Keep reading
Developer docs
More about Acts 2's REST API
The same endpoints DAP-Diplo wired into Mux, with full payload specs and webhook signing details.
Read the API overviewCustomers
Other Acts 2 customers
Churches, seminaries, and LMS platforms running Acts 2 in production. More stories landing soon.
Browse customersMetrics reflect DAP-Diplo's production integration as of June 2026. Per-video cost is measured across validated ~2-minute classes; per-hour projection scales linearly with audio duration. Questions about the integration? hola@acts2.io.