Media Caption API v1
Transcriptions
Transcribe an existing cloud object without copying it into Media Caption storage, then poll the result.
Create from cloud storage
POST
/v1/transcriptionsCloud source behavior
Provide a public or presigned HTTPS URL. Media Caption probes its size and duration without retaining the file, charges the exact credits, and passes the URL directly to ElevenLabs. The maximum source size is 3 GB. Signed URLs must remain valid while the source is fetched.
Create example
curl -X POST https://api.mediacaption.io/v1/transcriptions \
-H "Authorization: Bearer mc_live_xxx" \
-H "Content-Type: application/json" \
-d '{"sourceUrl":"https://storage.example.com/meeting.mp4?signature=..."}'Poll a transcription
GET
/v1/transcriptions/{id}Retention
API transcriptions are retained for 3 days after completion. After expiration, the endpoint returns 410 transcription_expired.
Poll example
curl https://api.mediacaption.io/v1/transcriptions/tr_3f6e5c6a-0d31-4f8c-9b1d-7f3b9e6a2c11 \
-H "Authorization: Bearer mc_live_xxx"Example response
{
"transcriptionId": "tr_3f6e5c6a-0d31-4f8c-9b1d-7f3b9e6a2c11",
"source": "public",
"status": "completed",
"language": "en",
"sourceUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"durationSec": 184,
"expiresAt": "2026-05-14T10:00:01.000Z",
"transcript": [{ "startSec": 0, "durationSec": 2.4, "text": "Example transcript text" }]
}