In this article we provide examples of calls and responses relative to Translation jobs in Reach integration flows.
Retrieving a task
Retrieving a machine translation task
Example of a response after requesting a task with the REACH profile information for a machine translation job using entryVendorTask.get - Kaltura VPaaS API Documentation:
{ "id": "381257922", "partnerId": 5162732, "vendorPartnerId": 5162702, "createdAt": 1698137683, "entryId": "1_skilm10u", "status": 1, "reachProfileId": 222762, "catalogItemId": 18202, "accessKey": "djJ8NTE2MjczMnw8fp5_FOtBtUK4j4sV--auKnGLuC6EMsYFYMgAuYd8I0pWs6QipGKRhSaYG-9QXR3upOmeoAY9Aorpe4B7n3Vkuf8q9E3aWs3y1RVuoe5lXZ7AvxSrT0GjLQEyA6g1sLuxF_z-AxYZNgjG4vQ0vGDq6bbK_kzMK_q8RybUQBH63Ow5vT3xkQLtA4WnNcdLwGTwFfgR6sJVsveZ2P7FRGKxMXmWDZZY0i7gJXcdhcQRTw==", "version": 11, "taskJobData": {
"captionAssetId": "1_bq18b0sa",
"objectType": "KalturaTranslationVendorTaskData" }, "relatedObjects": {
"reach_vendor_catalog_item": {
"objects": [
{
"targetLanguage": "Spanish",
"enableSpeakerId": false,
"serviceType": 2,
"serviceFeature": 2,
"turnAroundTime": 10800,
"sourceLanguage": "English",
"allowResubmission": false,
"objectType": "KalturaVendorTranslationCatalogItem"
}
],
"totalCount": 1,
"objectType": "KalturaVendorCatalogItemListResponse"
},
"reach_vendor_profile": {
"objects": [
{
"name": "REACH profile - US Region",
"defaultOutputFormat": 1,
"enableMetadataExtraction": true,
"enableSpeakerChangeIndication": false,
"enableAudioTags": false,
"enableProfanityRemoval": true,
"maxCharactersPerCaptionLine": 26,
"labelAdditionForMachineServiceType": "",
"labelAdditionForHumanServiceType": "",
"contentDeletionPolicy": 2,
"flavorParamsIds": "",
"vendorTaskProcessingRegion": 1,
"objectType": "KalturaReachProfile"
}
],
"totalCount": 1,
"objectType": "KalturaReachProfileListResponse"
} }, "objectType": "KalturaEntryVendorTask"
}
Note that the captionAssetId
is indicated in the task output, this information enables you to download the source language caption file.
Retrieving a human translation task
Example of a response after requesting a job with the REACH profile information for a human translation task using entryVendorTask.get - Kaltura VPaaS API Documentation:
{ "id": "362949112", "partnerId": 5486112, "vendorPartnerId": 5484572, "createdAt": 1692429589, "entryId": "1_owvysqdg", "status": 1, "reachProfileId": 251412, "catalogItemId": 20682, "accessKey": "djJ8NTQ4NjExMnzZLXFRWM_oTVMrJhVSjFkImUvnyFGbBV9ePvsUV2F0CFREBbSrZFl0dPweklxti1zidekuoEv0975U6_8dDhKKSikD0_hyLLtIaUls6rWHSzy9JqaagAk8x7kXAyebOaRygf0hAZeXcwAxFLrZfiyKq2b326e-E5AI3V7iQPbXT6wS6Gm28IbNeCxkoBKwKJEIerj7feUCIQbwUUO1d43n86FcoXDScjbb5aoEzorL6g==", "version": 11, "notes": "My instructions for translation using Professional captioning", "relatedObjects": {
"reach_vendor_catalog_item": {
"objects": [
{
"targetLanguage": "Dutch",
"outputFormat": "1",
"enableSpeakerId": false,
"serviceType": 1,
"serviceFeature": 2,
"turnAroundTime": -1,
"engineType": "OpenCalaisReachVendor.OPEN_CALAIS",
"sourceLanguage": "Catalan",
"allowResubmission": false,
"objectType": "KalturaVendorTranslationCatalogItem"
}
],
"totalCount": 1,
"objectType": "KalturaVendorCatalogItemListResponse"
},
"reach_vendor_profile": {
"objects": [
{
"name": "Reach test",
"defaultOutputFormat": 1,
"enableMetadataExtraction": true,
"enableSpeakerChangeIndication": false,
"enableAudioTags": false,
"enableProfanityRemoval": true,
"maxCharactersPerCaptionLine": 26,
"labelAdditionForMachineServiceType": "",
"labelAdditionForHumanServiceType": "",
"contentDeletionPolicy": 2,
"flavorParamsIds": "",
"vendorTaskProcessingRegion": 1,
"objectType": "KalturaReachProfile"
}
],
"totalCount": 1,
"objectType": "KalturaReachProfileListResponse"
} }, "objectType": "KalturaEntryVendorTask"
}
Note that the task does not give an indication of a source caption file, the human translation work is done by the translator who listens to the original soundtrack to produce the translation in the destination language.
Retrieving a translation task which does not require a captions file
Example of a translation task details JSON of an order which does not require a captions file using entryVendorTask.get - Kaltura VPaaS API Documentation:
{
"id": "404434252",
"partnerId": 4358723,
"vendorPartnerId": 4358703,
"createdAt": 1706526665,
"entryId": "1_wzjb7oo5",
"status": 1,
"reachProfileId": 142323,
"catalogItemId": 27622,
"accessKey": "djJ8NDM1ODcyM3wH1x6Y-CYe0EesWOqeGWv00_OTtBVivgkPyB1woVUAGac-D00jzhB9Dl6bJAWtGY4ISmaPfYhJxmxJLip2prX6HcRk-pvgm5tqR1uNl3gRBD8fL1ERaa0pSjp-ReGxwNvBpiU3ErIloS9uBFoTZhShEJXwhP2ZSbyyPx33QHmVtH7O8gsABFE58huogkSn5YUezP5Gv2xKrOtH0VTyvRR21gI39b_niZCJa5zMBnjbAQ==",
"version": 11,
"relatedObjects": {
"reach_vendor_catalog_item": {
"objects": [
{
"targetLanguage": "Welsh",
"requireSource": false,
"enableSpeakerId": false,
"serviceType": 1,
"serviceFeature": 2,
"turnAroundTime": -1,
"engineType": "OpenCalaisReachVendor.OPEN_CALAIS",
"sourceLanguage": "English",
"allowResubmission": false,
"objectType": "KalturaVendorTranslationCatalogItem"
}
],
"totalCount": 1,
"objectType": "KalturaVendorCatalogItemListResponse"
},
"reach_vendor_profile": {
"objects": [
{
"name": "QA Profile",
"defaultOutputFormat": 1,
"enableMetadataExtraction": true,
"enableSpeakerChangeIndication": false,
"enableAudioTags": false,
"enableProfanityRemoval": true,
"maxCharactersPerCaptionLine": 26,
"labelAdditionForMachineServiceType": "",
"labelAdditionForHumanServiceType": "",
"contentDeletionPolicy": 2,
"flavorParamsIds": "",
"vendorTaskProcessingRegion": 1,
"objectType": "KalturaReachProfile"
}
],
"totalCount": 1,
"objectType": "KalturaReachProfileListResponse"
}
},
"objectType": "KalturaEntryVendorTask"
}
Retrieving catalog item details for a translation task
Example of a response after requesting catalog item details for a translation task using vendorCatalogItem.get - Kaltura VPaaS API Documentation:
{
"targetLanguage": "Dutch",
"outputFormat": "1",
"enableSpeakerId": false,
"fixedPriceAddons": 0,
"id": 20682,
"vendorPartnerId": 5484572,
"name": "Translation test",
"systemName": "Translation test",
"createdAt": 1692378647,
"updatedAt": 1692378647,
"status": 2,
"serviceType": 1,
"serviceFeature": 2,
"turnAroundTime": -1,
"pricing": {
"pricePerUnit": 0,
"priceFunction": "kReachUtils::calcPricePerMinute",
"objectType": "KalturaVendorCatalogItemPricing"
},
"engineType": "OpenCalaisReachVendor.OPEN_CALAIS",
"sourceLanguage": "Catalan",
"allowResubmission": false,
"objectType": "KalturaVendorTranslationCatalogItem"
}
Update a job
Example of an API call to update a job using entryVendorTask.updateJob - Kaltura VPaaS API Documentation:
curl -X POST https://www.kaltura.com/api_v3/service/reach_entryvendortask/action/updateJob \
-d "ks=$KALTURA_SESSION" \
-d "id=234343434" \
-d "entryVendorTask[accuracy]=70" \
-d "entryVendorTask[catalogItemId]=873743784" \
-d "entryVendorTask[entryId]=1_eyl6k4e0" \
-d "entryVendorTask[errDescription]=My%20custom%20error" \
-d "entryVendorTask[externalTaskId]=987685474" \
-d "entryVendorTask[status]=6" \
-d "entryVendorTask[taskJobData][objectType]=KalturaTranslationVendorTaskData" \
-d "entryVendorTask[taskJobData][captionAssetId]=1_qu1grtg3" \
-d "entryVendorTask[objectType]=KalturaEntryVendorTask"
Retrieving captionAsset
Example of a response after requesting for a captionAsset using captionAsset.get - Kaltura VPaaS API Documentation:
{ "captionParamsId": 0, "language": "English", "languageCode": "en", "isDefault": false, "label": "English", "format": "1", "status": 2, "accuracy": 100, "displayOnPlayer": true, "id": "1_bq18b0sa", "entryId": "1_skilm10u", "partnerId": 5162732, "version": "1", "size": 3487, "tags": "", "fileExt": "srt", "createdAt": 1698137666, "updatedAt": 1698137667, "description": "", "sizeInBytes": "3487", "objectType": "KalturaCaptionAsset" }
Retrieving a captionAsset download URL
Example of a response after requesting the download URL for a captionAsset using captionAsset.getUrl - Kaltura VPaaS API Documentation:
"https://cfvod.kaltura.com/api_v3/index.php/service/caption_captionAsset/action/serve/captionAssetId/1_bq18b0sa/ks/djJ8NTE2MjczMnyjF9AcFiGp58eGDrsoQw1FdU73dpGxtjkg9aQRwzdd6Hs4bIIVP7jtMoJMjfJnFwA-wEHa1GWrociEl3DBNB0Ho7XeeqcndsOtmAvBVqWHuSMXkT3vqlpYZIrmCflzlj_BsKr-nR_WXmSVrrlm5aRBpmydzvyBxac9x5PIfD-jIU8T8m8h5jszt7Y5i-3rXPegYssg7fkz-MMlJHezzn1p"