Skip to main content
View as Markdown

Flavor Assets (Transcoded Renditions) - Content Management

Flavor Assets (Transcoded Renditions)​

A "flavor" is a transcoded rendition of the source file (e.g., 360p, 720p, 1080p). Kaltura automatically creates flavors based on the account's conversion profile.

flavorAsset.list -- List Flavors for an Entry​

POST /api_v3/service/flavorAsset/action/list
ParameterTypeDescription
filter[entryIdEqual]stringThe entry ID

Response: List of KalturaFlavorAsset objects with id, flavorParamsId, width, height, bitrate (kbps), size (KB), status, isOriginal.

curl -X POST "$KALTURA_SERVICE_URL/service/flavorAsset/action/list" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "filter[entryIdEqual]=$KALTURA_ENTRY_ID"

flavorAsset.getFlavorAssetsWithParams​

POST /api_v3/service/flavorAsset/action/getFlavorAssetsWithParams

Returns all flavor assets paired with their flavor params for an entry. Includes params without assets (not yet transcoded) and assets without params (custom uploads).

flavorAsset.add + flavorAsset.setContent -- Upload a Custom Rendition​

# Create a flavor asset on the entry
curl -X POST "$KALTURA_SERVICE_URL/service/flavorAsset/action/add" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "entryId=$KALTURA_ENTRY_ID" \
-d "flavorAsset[objectType]=KalturaFlavorAsset" \
-d "flavorAsset[flavorParamsId]=0"

# Upload content to the flavor
curl -X POST "$KALTURA_SERVICE_URL/service/flavorAsset/action/setContent" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "id=$FLAVOR_ASSET_ID" \
-d "contentResource[objectType]=KalturaUploadedFileTokenResource" \
-d "contentResource[token]=$UPLOAD_TOKEN_ID"

Business scenario -- pre-transcoded content: A broadcaster provides pre-transcoded renditions (already encoded at multiple bitrates). Upload each rendition as a separate flavor asset rather than re-transcoding.

flavorAsset.convert / flavorAsset.reconvert​

# Trigger conversion for a specific flavor params
curl -X POST "$KALTURA_SERVICE_URL/service/flavorAsset/action/convert" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "entryId=$KALTURA_ENTRY_ID" \
-d "flavorParamsId=$FLAVOR_PARAMS_ID"

# Re-convert an existing flavor asset
curl -X POST "$KALTURA_SERVICE_URL/service/flavorAsset/action/reconvert" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "id=$FLAVOR_ASSET_ID"

flavorAsset.getUrl -- Get Download URL​

POST /api_v3/service/flavorAsset/action/getUrl
ParameterTypeDescription
idstringFlavor asset ID
storageIdintSpecific storage profile (optional)
forceProxyboolRoute through proxy (optional)

Returns a direct download URL string for that specific flavor.

flavorAsset.export -- Export to Remote Storage​

curl -X POST "$KALTURA_SERVICE_URL/service/flavorAsset/action/export" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "assetId=$FLAVOR_ASSET_ID" \
-d "storageProfileId=$STORAGE_PROFILE_ID"

flavorAsset.setAsSource​

Designates a specific flavor as the "original source" for the entry. Useful when you've uploaded a pre-transcoded rendition and want it treated as the source for further conversions.