---
title: Caption Parameters (Templates)
url: https://docs.kaltura.com/docs/rich-media-cms-apis/content-management/captions-caption-parameters-templates
---

## Caption Parameters (Templates)


Caption parameter templates define reusable presets for caption assets. When `captionAsset.add` includes a `captionParamsId`, language and label are auto-copied from the template.

### KalturaCaptionParams Object

| Field | Type | Description |
|-------|------|-------------|
| `id` | integer | Auto-generated ID (read-only) |
| `name` | string | Template name |
| `systemName` | string | Machine-friendly identifier |
| `description` | string | Description |
| `language` | string | Default language (insertOnly) |
| `isDefault` | boolean | Whether this is the default template |
| `label` | string | Default display label |
| `format` | integer | Default caption format (insertOnly) |
| `sourceParamsId` | integer | Source params for conversion |
| `tags` | string | Tags for filtering |
| `partnerId` | integer | Partner ID (read-only) |

### Create Caption Params


```bash
curl -X POST "$KALTURA_SERVICE_URL/service/caption_captionParams/action/add" \
  -d "ks=$KALTURA_KS" \
  -d "format=1" \
  -d "captionParams[objectType]=KalturaCaptionParams" \
  -d "captionParams[name]=English SRT Template" \
  -d "captionParams[systemName]=en_srt_template" \
  -d "captionParams[language]=English" \
  -d "captionParams[format]=1" \
  -d "captionParams[isDefault]=1"
```


| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `captionParams[objectType]` | string | Yes | Always `KalturaCaptionParams` |
| `captionParams[name]` | string | Yes | Template name |
| `captionParams[systemName]` | string | No | Machine-friendly identifier |
| `captionParams[language]` | string | No | Default language (insertOnly) |
| `captionParams[format]` | integer | No | Default caption format: `1`=SRT, `2`=DFXP, `3`=WEBVTT (insertOnly) |
| `captionParams[label]` | string | No | Default display label |
| `captionParams[isDefault]` | boolean | No | Set as default template |
| `captionParams[tags]` | string | No | Tags for filtering |
| `captionParams[description]` | string | No | Template description |
| `captionParams[sourceParamsId]` | integer | No | Source params for conversion |

**Response:** `KalturaCaptionParams` object with generated `id`.


```json
{
  "id": 12345,
  "partnerId": 1234567,
  "name": "English SRT Template",
  "systemName": "en_srt_template",
  "language": "English",
  "format": 1,
  "label": "English Subtitles",
  "isDefault": 1,
  "objectType": "KalturaCaptionParams"
}
```


### Get / List / Update / Delete


```bash
# Get
curl -X POST "$KALTURA_SERVICE_URL/service/caption_captionParams/action/get" \
  -d "ks=$KALTURA_KS" \
  -d "format=1" \
  -d "id=$CAPTION_PARAMS_ID"

# List
curl -X POST "$KALTURA_SERVICE_URL/service/caption_captionParams/action/list" \
  -d "ks=$KALTURA_KS" \
  -d "format=1"

# Update
curl -X POST "$KALTURA_SERVICE_URL/service/caption_captionParams/action/update" \
  -d "ks=$KALTURA_KS" \
  -d "format=1" \
  -d "id=$CAPTION_PARAMS_ID" \
  -d "captionParams[objectType]=KalturaCaptionParams" \
  -d "captionParams[label]=English Subtitles"

# Delete
curl -X POST "$KALTURA_SERVICE_URL/service/caption_captionParams/action/delete" \
  -d "ks=$KALTURA_KS" \
  -d "format=1" \
  -d "id=$CAPTION_PARAMS_ID"
```


### Template Inheritance

When `captionAsset.add` includes `captionParamsId`, the server auto-copies `language` and `label` from the template via `setFromAssetParams()`. This ensures consistency when creating caption assets programmatically across many entries.
