Skip to main content
View as Markdown

Overview - Content Management

Captions & Transcripts Overview​

The Captions & Transcripts API manages subtitle files, closed captions, and transcripts attached to media entries. It supports five caption formats (SRT, DFXP/TTML, WebVTT, CAP, SCC), on-the-fly format conversion, HLS segmented delivery, JSON serving for AI/LLM integrations, caption parameter templates, and multi-language workflows. For automated captioning, translation, and dubbing, see the REACH API.

Base URL: https://www.kaltura.com/api_v3 (may differ by region/deployment)
Auth: KS passed as ks parameter in POST form data (see Session Guide)
Format: Form-encoded POST, format=1 for JSON responses
Services: caption_captionAsset (12 actions), caption_captionParams (5 actions)

Important: These are plugin services. The service names use underscore-prefixed compound names: caption_captionAsset, caption_captionParams.

When to Use​

  • Accessibility compliance teams ensuring all video content meets WCAG, ADA, Section 508, or CVAA captioning requirements
  • Content teams adding searchable captions and transcripts to improve video discoverability across libraries
  • Localization workflows managing multi-language subtitle tracks for global audiences
  • AI and automation pipelines retrieving caption data as JSON for RAG, summarization, or knowledge-base ingestion
  • LMS and training platforms providing synchronized transcripts for lecture recordings and compliance training

Prerequisites​

  • KS type: ADMIN KS (type=2) with CAPTION_PLUGIN_PERMISSION and CONTENT_MANAGE_BASE permissions
  • Plugins: Caption plugin enabled on the partner account
  • Session guide: Generate a KS using session.start or appToken.startSession (see Session Guide)

Authentication​

All endpoints require an ADMIN KS (type=2) with appropriate permissions:

  • Caption assets: CAPTION_PLUGIN_PERMISSION + CONTENT_MANAGE_BASE
  • Caption parameters: CAPTION_PLUGIN_PERMISSION + ADMIN_BASE

Generate an ADMIN KS via session.start (see Session Guide) or appToken.startSession (see AppTokens Guide).

# Set up environment
export KALTURA_SERVICE_URL="https://www.kaltura.com/api_v3"