Acts 2ACTS 2Get Acts 2

Customer story · First paying integration

DAP-DIPLO
Diplomado en Ministerio

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

3languages

ES native + EN + PT-BR

<5minutes

Upload to published captions + audio

$2.16per class

Validated ~2-minute video

2days

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-video
POST 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.”
DD
Pastoral Director
DAP-Diplo · Placeholder — pending final attribution

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

Metrics 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.