Media Engine Webhook Actions
Media Engine supports third-party integration using webhook actions created through the Signiant Platform API. Once an asset is indexed and a webhook action is created, the action can collect metadata and send it to a third-party service.

Webhooks use metadata to provide information to third-party applications and integrations. For an example of the information contained within a webhook response, see the example webhook metadata body.
Custom Webhook Icons
Webhooks support custom icons for webhook actions to provide Media Engine users with an easy way to identify webhook integrations, ensuring asset metadata is sent to the correct destination.

Icons can be assigned to a webhook action when created with a POST
call, or added to an existing webhook action using PATCH
.
Webhook icon images have the following requirements:
svg
orpng
file format- 24 px in width and height
- Maximum of 5 KB
Once an image is converted into a base64 string, you must prepend one of the data type prefixes to the string when creating the API request.
- SVG images:
data:image/svg+xml;base64,
- PNG images
data:image/png;base64,
An image can be converted to a base64 string using a third-party utility, or by using Windows Powershell or the Linux/macOS terminal.
Windows Powershell
PowerShell requires a file be converted to bytes before it can be converted to a base64 string.
To generate a base64 string from an icon using Powershell:
- In PowerShell, navigate to the icon file directory:
cd c:\path\to\icon\
- Use the
certutil
utility to create a text file containing the base64 string:
certutil -encode icon.svg icon.txt
-
In a text editor, remove the certificate header and footer, and all line breaks.
-
Copy the file contents to your clipboard.
With the file contents on your clipboard, you can now construct an API call. Ensure that the data type prefix is included in the API call.
Linux
To generate a base64 string from an icon using terminal:
- In your terminal, navigate to the icon file directory:
cd /path/to/icon/
- Use the
base64
utility to create a text file containing the base64 string:
base64 icon.svg > icon.txt
-
In a text editor, remove all line breaks.
-
Copy the file contents to your clipboard.
With the file contents on your clipboard, you can now construct an API call. Ensure that the data type prefix is included in the API call.
macOS
To generate a base64 string from an icon using terminal:
- In your terminal, navigate to the icon file directory:
cd /path/to/icon/
- Use the
base64
utility to create a text file containing the base64 string:
base64 -i icon.svg -o icon.txt
-
Open
icon.txt
in a text editor. -
Copy the file contents to your clipboard.
With the file contents on your clipboard, you can now construct an API call. Ensure that the data type prefix is included in the API call.
Example Metadata Body
The default metadata body sent using a webhook similar to the following format:
{
"webhookId": "50fe1ec8-1234-4628-b17c-0e57883a1453",
"triggeredBy": "user@example.com",
"triggeredOn": "2025-04-01T18:22:01.653Z",
"item": {
"itemId": "362e522f-1234-449e-1234-2e448f71de15.2bfcb6a4d97a4cee9c679076f50867dd",
"filePath": "/path/to/example/example-video.mp4",
"filename": "example-video.mp4",
"fileSize": 42032695,
"contentType": "video/mp4v-es",
"lastModifiedOn": "2025-01-31T18:36:32.076Z",
"accountId": "12345678-abcd-1234-abcd-123451234512",
"technicalMetadata": {
"state": "complete",
"format": "MP4",
"bitRate": 13461567,
"duration": { "value": 25.8115 },
"video": {
"codec": "H.264",
"bitRate": 13338267,
"frameRate": { "value": 60, "numerator": 60, "denominator": 1 },
"width": 1884,
"height": 906,
"displayWidth": 1884,
"displayHeight": 906,
"scanType": "progressive",
"pixelFormatInfo": "YUV 4:2:0 8 bit",
"profile": "Main",
"level": "4.2"
},
"audio": {
"codec": "AAC",
"bitRate": 129817,
"layout": "1.0 Mono",
"sampleRate": 48000
}
},
"resources": {
"thumbnail_240": {
"state": "complete",
"url": "https://storage-indexing-resources.123451234512.services.cloud.signiant.com/12345678-abcd-1234-abcd-123451234512/362e522f-6ab5-449e-a3f4-2e448f71de15/2bfcb6a4d97a4cee9c679076f50867dd/..."
},
"thumbnail_strip_240": {
"state": "complete",
"url": "https://storage-indexing-resources.123451234512.services.cloud.signiant.com/12345678-abcd-1234-abcd-123451234512/362e522f-6ab5-449e-a3f4-2e448f71de15/2bfcb6a4d97a4cee9c679076f50867dd/..."
}
},
"storage": {
"storageProfileId": "362e522f-6ab5-449e-a3f4-2e448f71de15",
"storageProfileType": "ON_PREMISE_FILE_STORAGE",
"name": "Example SDCX Server"
},
"hlsStream": {
"playlistUrl": "https://media-engine-play-sdcx-us-east-1.123451234512.services.cloud.signiant.com/362e522f-6ab5-449e-a3f4-2e448f71de15/...",
"state": "available"
},
"clipPresets": [
{
"presetId": "preset.clip.prores",
"filenamePattern": "example-video_clip_prores_user@example.com_{startInMillis}_{durationInMillis}.mov"
}
]
}
}