Media Caption API v1
Bulk Public Transcripts
Create an async job for multiple public YouTube transcript lookups.
Endpoint
POST
/v1/transcripts/bulkRequest
items: 1 to 100 transcript requests.items[].externalId: optional customer ID returned in job results and webhooks.webhookId: optional active webhook ID from the platform dashboard.
Example
curl https://api.mediacaption.io/v1/transcripts/bulk \
-H "Authorization: Bearer mc_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"items": [
{
"externalId": "lesson-001",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
},
{ "externalId": "lesson-002", "videoId": "aqz-KE-bpKQ", "language": "en" }
],
"webhookId": "wh_01jz7m8a3yk9pnx2g6bc8n4a8m"
}'Accepted response
{
"jobId": "job_01jz7m91bxkpbqha0wt8whm76r",
"type": "public_transcripts_bulk",
"status": "queued",
"itemCount": 2,
"creditsFrozen": 2
}Lifecycle
- Jobs move through queued, processing, completed, completed_with_errors, failed, or canceled.
- Each item moves through queued, processing, completed, or failed.
- Poll GET /v1/jobs/{id}; use nextCursor when present.
- Webhook delivery, when configured, sends exactly one final job-level event.