
Manage Gumlet video, live streams, analytics, and workspaces from an MCP client.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Gumlet API key. Create one in the dashboard under Developer, API keys.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
This operation adds a single asset or a list of assets to a playlist.
Playlist ID in which the asset needs to be added.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http mcp https://mcp.gumlet.com/mcp/v1 \ --header 'GUMLET_API_KEY: YOUR_GUMLET_API_KEY'
Headers
GUMLET_API_KEY (required): Gumlet API key. Create one in the dashboard under Developer, API keys.This operation adds a single asset or a list of assets to a playlist.
| Argument | Type | Description |
|---|---|---|
| asset_list | array | |
| playlist_id* | string | Playlist ID in which the asset needs to be added. |
{
"type": "object",
"required": [
"playlist_id"
],
"properties": {
"asset_list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"asset_id": {
"type": "string",
"description": "Asset ID"
},
"position": {
"type": "integer",
"format": "int32",
"description": "Optional, if not provided asset will added at the back/last of playlist"
}
},
"x-apidog-orders": [
"asset_id",
"position"
]
}
},
"playlist_id": {
"type": "string",
"description": "Playlist ID in which the asset needs to be added."
}
}
}This endpoint retrieves aggregated data of the given metrics.
| Argument | Type | Description |
|---|---|---|
| filters | array | Get aggregations for metrics with multiple filters, `value` should be an exact match |
| aggregate | array | Aggregate multiple metrics at the same time |
| timeframe | object | The timeframe to get the data for. The maximum range between start_at and end_at is 60 days. |
| workspace_id | string | The unique identifier of the Gumlet workspace ID available on the Video Workspaces. |
{
"type": "object",
"required": [],
"properties": {
"filters": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"value"
],
"properties": {
"name": {
"enum": [
"meta_browser",
"meta_operating_system",
"meta_operating_system_version",
"meta_device_category",
"meta_device_manufacturer",
"meta_device_name",
"meta_device_display_width",
"meta_device_display_height",
"meta_country",
"meta_city",
"meta_region",
"player_software",
"player_software_version",
"player_height_pixels",
"player_width_pixels",
"player_language_code",
"meta_page_url",
"meta_asn",
"custom_user_id",
"user_name",
"user_email",
"custom_video_id",
"custom_video_title",
"video_source_url",
"video_source_hostname",
"video_source_format",
"custom_video_language",
"custom_video_variant",
"custom_data_1",
"custom_data_2",
"custom_data_3",
"custom_data_4",
"custom_data_5"
],
"type": "string",
"description": "Name of the breakdown to filter data on."
},
"value": {
"type": "string",
"description": "Value to be matched for the given filter name. Currently we support exact matches."
},
"operator": {
"enum": [
"equals",
"does not equal",
"contains",
"does not contain",
"is set",
"is not set"
],
"type": "string",
"default": "equals",
"description": "Operator to be used while filtering the data"
}
}
},
"description": "Get aggregations for metrics with multiple filters, `value` should be an exact match"
},
"aggregate": {
"type": "array",
"items": {
"type": "object",
"required": [
"metric",
"function"
],
"properties": {
"metric": {
"enum": [
"views",
"unique_views",
"completion_percent_by_views",
"playing_time",
"concurrent_users",
"impressions",
"widget_form_submitted",
"cta_clicks"
],
"type": "string",
"description": "The metric to be aggregated for this request."
},
"function": {
"enum": [
"sum",
"average"
],
"type": "string",
"description": "Aggregation function which is to be used."
}
}
},
"description": "Aggregate multiple metrics at the same time"
},
"timeframe": {
"type": "object",
"required": [
"start_at",
"end_at"
],
"properties": {
"end_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
},
"start_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
}
},
"description": "The timeframe to get the data for. The maximum range between start_at and end_at is 60 days."
},
"workspace_id": {
"type": "string",
"description": "The unique identifier of the Gumlet workspace ID available on the Video Workspaces."
}
}
}Read viewer metrics for one workspace, grouped by a breakdown field, for a date range of at most 60 days. This does not change assets or delivery.
| Argument | Type | Description |
|---|---|---|
| filters | array | Build *segments* of users using multiple filters on the data, `value` should be an *exact match* |
| breakdowns | array | Breakdown fields and metrics to retrieve data for. Supports 1 to 3 breakdowns per request. |
| date_range | object | The timeframe to get the data for. The maximum range between start_at and end_at is 60 days. |
| workspace_id | string | The five to ten character unique identifier of the Gumlet workspace ID available on the Video Workspaces. |
{
"type": "object",
"required": [],
"properties": {
"filters": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"value"
],
"properties": {
"name": {
"enum": [
"meta_browser",
"meta_operating_system",
"meta_operating_system_version",
"meta_device_category",
"meta_device_manufacturer",
"meta_device_name",
"meta_device_display_width",
"meta_device_display_height",
"meta_country",
"meta_city",
"meta_region",
"player_software",
"player_software_version",
"player_language_code",
"player_name",
"meta_page_url",
"meta_asn",
"custom_user_id",
"custom_user_email",
"custom_video_id",
"custom_video_title",
"video_source_url",
"custom_video_variant_name",
"custom_video_language",
"custom_video_variant",
"custom_data_1",
"custom_data_2",
"custom_data_3",
"custom_data_4",
"custom_data_5"
],
"type": "string",
"description": "Name of the breakdown to filter data on."
},
"value": {
"type": "string",
"description": "Value to be matched for the given filter name. Currently we support exact matches."
},
"operator": {
"enum": [
"equals",
"does not equal",
"contains",
"does not contain",
"is set",
"is not set"
],
"type": "string",
"default": "equals",
"description": "Operator to be used while filtering the data"
}
}
},
"description": "Build *segments* of users using multiple filters on the data, `value` should be an *exact match*"
},
"breakdowns": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"metric"
],
"properties": {
"name": {
"enum": [
"meta_browser",
"meta_operating_system",
"meta_operating_system_version",
"meta_device_category",
"meta_device_manufacturer",
"meta_device_name",
"meta_device_display_width",
"meta_device_display_height",
"meta_country",
"meta_city",
"meta_region",
"player_software",
"player_software_version",
"player_language_code",
"player_name",
"meta_page_url",
"meta_asn",
"custom_user_id",
"custom_user_email",
"custom_video_id",
"custom_video_title",
"video_source_url",
"custom_video_variant_name",
"custom_video_language",
"custom_video_variant",
"custom_data_1",
"custom_data_2",
"custom_data_3",
"custom_data_4",
"custom_data_5"
],
"type": "string",
"description": "Name of the field to break down the data by."
},
"page": {
"type": "integer",
"default": 1,
"description": "Page number for paginated results."
},
"metric": {
"enum": [
"views",
"unique_views",
"impressions",
"completion_percent_by_views",
"playing_time",
"concurrent_users",
"widget_form_submitted",
"cta_clicks"
],
"type": "string",
"description": "The metric to retrieve breakdown data for."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page."
}
}
},
"maxItems": 3,
"minItems": 1,
"description": "Breakdown fields and metrics to retrieve data for. Supports 1 to 3 breakdowns per request."
},
"date_range": {
"type": "object",
"required": [
"start_at",
"end_at"
],
"properties": {
"end_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
},
"start_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
}
},
"description": "The timeframe to get the data for. The maximum range between start_at and end_at is 60 days."
},
"workspace_id": {
"type": "string",
"description": "The five to ten character unique identifier of the Gumlet workspace ID available on the Video Workspaces."
}
}
}Get video analytics for a single asset.
| Argument | Type | Description |
|---|---|---|
| metrics | array | List of metrics to return in response. |
| asset_id* | string | Gumlet asset ID |
| group_by | string | Group the data by this period. |
| page_size | integer | Number of items to return per page |
| date_range | object | |
| page_number | integer | Page number to fetch. Starting at 1 |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"metrics": {
"type": "array",
"items": {
"enum": [
"impressions",
"views",
"playing_time",
"top_countries",
"top_pages",
"top_cities",
"top_device_types",
"top_browsers",
"heatmap",
"widget_data"
],
"type": "string",
"x-apidog-enum": [
{
"name": "",
"value": "impressions",
"description": ""
},
{
"name": "",
"value": "views",
"description": ""
},
{
"name": "",
"value": "playing_time",
"description": ""
},
{
"name": "",
"value": "top_countries",
"description": ""
},
{
"name": "",
"value": "top_pages",
"description": ""
},
{
"name": "",
"value": "top_cities",
"description": ""
},
{
"name": "",
"value": "top_device_types",
"description": ""
},
{
"name": "",
"value": "top_browsers",
"description": ""
},
{
"name": "",
"value": "heatmap",
"description": ""
},
{
"name": "",
"value": "widget_data",
"description": ""
}
]
},
"description": "List of metrics to return in response."
},
"asset_id": {
"type": "string",
"description": "Gumlet asset ID"
},
"group_by": {
"enum": [
"daily",
"monthly",
"weekly"
],
"type": "string",
"description": "Group the data by this period.",
"x-apidog-enum": [
{
"name": "",
"value": "daily",
"description": ""
},
{
"name": "",
"value": "monthly",
"description": ""
},
{
"name": "",
"value": "weekly",
"description": ""
}
]
},
"page_size": {
"type": "integer",
"description": "Number of items to return per page"
},
"date_range": {
"type": "object",
"required": [
"start_at",
"end_at"
],
"properties": {
"end_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
},
"start_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
}
},
"x-apidog-orders": [
"start_at",
"end_at"
]
},
"page_number": {
"type": "integer",
"description": "Page number to fetch. Starting at 1"
}
}
}Add any audio file to the video asset. The response of this API call gives `upload_url` for each language specified. You need to send a `PUT` request of the audio files to those URLs. Once that's done, you need to call the audio upload complete API. Only after that will Gumlet add audio to the asset.
| Argument | Type | Description |
|---|---|---|
| asset_ID* | string | An asset id for the previously created asset. |
| language_codes | array | List of language codes to upload audio file (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes) |
{
"type": "object",
"required": [
"asset_ID"
],
"properties": {
"asset_ID": {
"type": "string",
"description": "An asset id for the previously created asset."
},
"language_codes": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of language codes to upload audio file (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes)"
}
}
}This endpoint retrieves the history of a live video asset that has previously been created.
| Argument | Type | Description |
|---|---|---|
| live_asset_id* | string | A live asset id for the previously created asset. |
{
"type": "object",
"required": [
"live_asset_id"
],
"properties": {
"live_asset_id": {
"type": "string",
"description": "A live asset id for the previously created asset."
}
}
}Delete multiple VOD assets at once.
| Argument | Type | Description |
|---|---|---|
| source_id | string | Workspace ID from which assets needs to be deleted. |
| asset_list | array | LIst of asset ids to delete |
{
"type": "object",
"required": [],
"properties": {
"source_id": {
"type": "string",
"description": "Workspace ID from which assets needs to be deleted."
},
"asset_list": {
"type": "array",
"items": {
"type": "string"
},
"description": "LIst of asset ids to delete"
}
}
}Add / remove tags from multiple assets at once.
| Argument | Type | Description |
|---|---|---|
| add_tags | array | List of tags to add to given assets. |
| source_id | string | Workspace ID in which the videos needs the operation |
| asset_list | array | List of asset ids to update the tags for. |
| remove_tags | array | List of tags to remove from given assets. Pass empty array if nothing is to be removed. |
{
"type": "object",
"required": [],
"properties": {
"add_tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of tags to add to given assets."
},
"source_id": {
"type": "string",
"description": "Workspace ID in which the videos needs the operation"
},
"asset_list": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of asset ids to update the tags for."
},
"remove_tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of tags to remove from given assets. Pass empty array if nothing is to be removed."
}
}
}Finish adding audio tracks to an existing video asset. Call this only after the audio files have been PUT to the upload URLs from the add-audio call. This attaches those tracks to the asset.
| Argument | Type | Description |
|---|---|---|
| asset_ID* | string | An asset id for the previously created asset. |
| upload_responses | array |
{
"type": "object",
"required": [
"asset_ID"
],
"properties": {
"asset_ID": {
"type": "string",
"description": "An asset id for the previously created asset."
},
"upload_responses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uploaded": {
"type": "boolean",
"description": "Status of language uploaded audio file. (If status code was 200, You can mark true else false)"
},
"language_code": {
"type": "string",
"description": "Language code for uploaded audio file."
}
}
}
}
}
}This endpoint allows marking live assets complete. Once the live asset is marked complete, it can no longer be used to ingest the live stream on Gumlet.
| Argument | Type | Description |
|---|---|---|
| live_asset_id* | string | Live asset id of the live stream which needs to be completed. |
{
"type": "object",
"required": [
"live_asset_id"
],
"properties": {
"live_asset_id": {
"type": "string",
"description": "Live asset id of the live stream which needs to be completed."
}
}
}Once you upload all parts to S3 bucket via pre-signed URL, use this endpoint to complete the multipart upload.
| Argument | Type | Description |
|---|---|---|
| parts | array | List of object containing part number with ETag received as a response header while uploading each part |
| asset_id* | string | An asset id for which you are uploading original video via multipart |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"parts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ETag": {
"type": "string",
"description": "ETag received while uploading the part using PUT"
},
"PartNumber": {
"type": "integer",
"format": "int32",
"description": "Part number"
}
},
"x-apidog-orders": [
"PartNumber",
"ETag"
]
},
"description": "List of object containing part number with ETag received as a response header while uploading each part"
},
"asset_id": {
"type": "string",
"description": "An asset id for which you are uploading original video via multipart"
}
}
}This API must be called after adding subtitles; the add subtitle call gives you URLs to upload, and you complete a `PUT` request to those URLs. Once that is done, calling this initiates the process to actually add the subtitle to the video.
| Argument | Type | Description |
|---|---|---|
| asset_ID* | string | An asset id for the previously created asset. |
| upload_responses | array | Array of objects of uploaded languages |
{
"type": "object",
"required": [
"asset_ID"
],
"properties": {
"asset_ID": {
"type": "string",
"description": "An asset id for the previously created asset."
},
"upload_responses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uploaded": {
"type": "boolean",
"description": "Status of language uploaded .srt or .vtt file. (If status code was 200, You can mark true else false)"
},
"language_code": {
"type": "string",
"description": "Language code for uploaded .srt or .vtt file."
}
},
"x-apidog-orders": [
"language_code",
"uploaded"
]
},
"description": "Array of objects of uploaded languages"
}
}
}An asset refers to media content/video that is processed, stored, and delivered through Gumlet. This endpoint creates an asset allowing users to ingest media content into the Gumlet system for processing and delivery.
| Argument | Type | Description |
|---|---|---|
| pad | object | This transformation can be used to add padding to the video. |
| tag | array | Specify a text string or identifier which can identify an asset or bunch of assets later. |
| crop | object | This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video. |
| trim | object | Trim transformation can be used to trim videos based on time duration. |
| input | string | URL or web address of a file that Gumlet should download to create a new asset. |
| title | string | Specify a text string or identifier which can be used for filtering or searching the asset. |
| width | string | Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Applicable only when specified format is `MP4`. |
| folder | string | Add this asset to an existing folder by `folder_id`. |
| format | string | Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`. |
| height | string | Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Applicable only when specified format is `MP4`. |
| metadata | object | Add your metadata you want to associate with this asset.<br/> Example: <br/> <code> { "internal_video_id" : "123Abc" } </code> |
| audio_only | boolean | This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`** |
| enable_drm | boolean | Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs. |
| mp4_access | boolean | Creates `MP4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`** |
| profile_id | string | Provide `profile_id` of the previously created video profile. This parameter will override all the parameters (except `input` and `collection_id`) from the video profile. |
| resolution | string | Required resolutions of the transformed asset in case of HLS or MPEG-DASH delivery format. Can be a comma-separated string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p`. Resized rendition will retain the input aspect ratio. |
| description | string | Attach some textual data with the asset. This field is neither searchable nor filterable. |
| playlist_id | string | Add this asset to a playlist. |
| animated_gif | object | Create an animated GIF from the video. |
| text_overlay | object | Text overlay can be used to brand a video or add a label in the form of text. |
| workspace_id | string | Gumlet video workspace id. |
| image_overlay | object | Image overlay can be used to brand a video or add a visual label in the form of an image. |
| call_to_actions | array | A CTA is an explicit prompt within the video content encouraging viewers to take a particular action. |
| additional_tracks | array | Add additional Audio / Subtitle tracks to Gumlet for transcoding and delivery along with video asset track. |
| generate_subtitles | object | Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes) |
| per_title_encoding | boolean | Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`** |
| process_low_resolution_input | boolean | Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`** |
{
"type": "object",
"required": [],
"properties": {
"pad": {
"type": "object",
"properties": {
"top": {
"type": "string",
"description": "Width of padding on the top side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
},
"left": {
"type": "string",
"description": "Width of padding on the left side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
},
"color": {
"type": "string",
"description": "Color of padding area. **Default: `black`**"
},
"right": {
"type": "string",
"description": "Width of padding on the right side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
},
"bottom": {
"type": "string",
"description": "Width of padding on the bottom side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
}
},
"description": "This transformation can be used to add padding to the video.",
"x-apidog-orders": [
"top",
"left",
"bottom",
"right",
"color"
]
},
"tag": {
"type": "array",
"items": {
"type": "string",
"x-stoplight": {
"id": "ukzi2mra8hepj"
}
},
"description": "Specify a text string or identifier which can identify an asset or bunch of assets later."
},
"crop": {
"type": "object",
"required": [
"width",
"height"
],
"properties": {
"width": {
"type": "string",
"description": "Width of the cropping area in pixels."
},
"height": {
"type": "string",
"description": "Height of the cropping area in pixels."
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
}
},
"description": "This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video.",
"x-apidog-orders": [
"horizontal_margin",
"vertical_margin",
"width",
"height"
]
},
"trim": {
"type": "object",
"required": [
"start_offset",
"end_offset"
],
"properties": {
"duration": {
"type": "number",
"format": "float",
"description": "Duration can be used in conjunction with `start_offset` parameter, can be specified in number of seconds."
},
"end_offset": {
"type": "number",
"format": "float",
"description": "End offset in number of seconds or in `HH:MM:SS` format."
},
"start_offset": {
"type": "number",
"format": "float",
"description": "Start offset in number of seconds or in `HH:MM:SS` format."
}
},
"description": "Trim transformation can be used to trim videos based on time duration.",
"x-apidog-orders": [
"start_offset",
"end_offset",
"duration"
]
},
"input": {
"type": "string",
"description": "URL or web address of a file that Gumlet should download to create a new asset."
},
"title": {
"type": "string",
"description": "Specify a text string or identifier which can be used for filtering or searching the asset."
},
"width": {
"type": "string",
"description": "Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Applicable only when specified format is `MP4`."
},
"folder": {
"type": "string",
"description": "Add this asset to an existing folder by `folder_id`."
},
"format": {
"enum": [
"ABR",
"MP4"
],
"type": "string",
"description": "Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`."
},
"height": {
"type": "string",
"description": "Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Applicable only when specified format is `MP4`."
},
"metadata": {
"type": "object",
"properties": {},
"description": "Add your metadata you want to associate with this asset.<br/> Example: <br/> <code> { \"internal_video_id\" : \"123Abc\" } </code>",
"x-apidog-orders": [],
"additionalProperties": {}
},
"audio_only": {
"type": "boolean",
"description": "This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`**"
},
"enable_drm": {
"type": "boolean",
"description": "Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs."
},
"mp4_access": {
"type": "boolean",
"description": "Creates `MP4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**"
},
"profile_id": {
"type": "string",
"description": "Provide `profile_id` of the previously created video profile. This parameter will override all the parameters (except `input` and `collection_id`) from the video profile."
},
"resolution": {
"type": "string",
"description": "Required resolutions of the transformed asset in case of HLS or MPEG-DASH delivery format. Can be a comma-separated string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p`. Resized rendition will retain the input aspect ratio."
},
"description": {
"type": "string",
"description": "Attach some textual data with the asset. This field is neither searchable nor filterable."
},
"playlist_id": {
"type": "string",
"description": "Add this asset to a playlist."
},
"animated_gif": {
"type": "object",
"properties": {
"fps": {
"type": "string",
"description": "The frame rate of the generated GIF. Defaults to `15` fps. Max `30` fps."
},
"width": {
"type": "string",
"description": "The width in pixels (or in percentage value of asset width) of the animated GIF. Max width is `640px`."
},
"height": {
"type": "string",
"description": "The height in pixels (or in percentage value of asset height) of the animated GIF. Max height is `640px`."
},
"end_offset": {
"type": "string",
"description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the GIF ends. Defaults to `10` seconds after the start_offset. Maximum duration of GIF is limited to `10` seconds."
},
"start_offset": {
"type": "string",
"description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the animated gif should begin. **Default: `0`**"
}
},
"description": "Create an animated GIF from the video.",
"x-apidog-orders": [
"start_offset",
"end_offset",
"width",
"height",
"fps"
]
},
"text_overlay": {
"type": "object",
"required": [
"text"
],
"properties": {
"box": {
"type": "boolean",
"description": "This parameter allows drawing a rectangular box over the overlaid text. **Default: `false`**"
},
"font": {
"type": "string",
"description": "Font family type for text. **Default: `sans`**"
},
"text": {
"type": "string",
"description": "Text to be overlaid on video."
},
"color": {
"type": "string",
"description": "Font color for text. **Default: `black`**"
},
"opacity": {
"type": "string",
"description": "Overlay text opacity can be specified with opacity parameter where value can be between `0` and `100` where `0` is considered completely transparent and `100` is considered completely opaque. **Default: `100`**"
},
"box_color": {
"type": "string",
"description": "Box color can be specified with this parameter. **Default: `white`**"
},
"font_size": {
"type": "string",
"description": "Font size in pixels. **Default: `16`**"
},
"box_border": {
"type": "string",
"description": "Padding between the box border and the text can be specified with this parameter in pixels. **Default: `0`**"
},
"box_opacity": {
"type": "string",
"description": "Box opacity can be specified with this parameter. **Default: `100`**"
},
"vertical_align": {
"type": "string",
"description": "This parameter specifies the vertical alignment of the overlaid text and can be either `top` or `bottom`. **Default: `bottom`**"
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the corner (determined by vertical_align) of the overlay area. Values can be an absolute number of pixels relative to the video height. **Default: `0`**"
},
"horizontal_align": {
"type": "string",
"description": "This parameter specifies the horizontal alignment of the overlaid text and can be either `left` or `right`. **Default: `right`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels relative to the video width. **Default: `0`**"
}
},
"description": "Text overlay can be used to brand a video or add a label in the form of text.",
"x-apidog-orders": [
"text",
"horizontal_align",
"vertical_align",
"horizontal_margin",
"vertical_margin",
"color",
"font",
"font_size",
"opacity",
"box",
"box_color",
"box_opacity",
"box_border"
]
},
"workspace_id": {
"type": "string",
"description": "Gumlet video workspace id."
},
"image_overlay": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "This is the required parameter for image overlay; it can be a URL to an image that needs to be overlaid."
},
"width": {
"type": "string",
"description": "Width of the overlaid image. **Default: `image width`**"
},
"height": {
"type": "string",
"description": "Height of the overlaid image. **Default: `image height`**"
},
"vertical_align": {
"type": "string",
"description": "This parameter specifies the vertical alignment of the overlaid image and can be either `top` or `bottom`. **Default: `bottom`**"
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the corner (determined by `vertical_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
},
"horizontal_align": {
"type": "string",
"description": "This parameter specifies the horizontal alignment of the overlaid image and can be either `left` or `right`. **Default: `right`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
}
},
"description": "Image overlay can be used to brand a video or add a visual label in the form of an image.",
"x-apidog-orders": [
"url",
"horizontal_margin",
"vertical_margin",
"horizontal_align",
"vertical_align",
"width",
"height"
]
},
"call_to_actions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"text": {
"type": "string"
},
"end_time": {
"type": "integer",
"format": "int32"
},
"font_color": {
"type": "string",
"description": "hex value of color"
},
"start_time": {
"type": "integer",
"format": "int32"
},
"background_color": {
"type": "string",
"description": "hex code of color"
},
"position_from_top": {
"type": "integer",
"format": "int32",
"description": "number of pixels from top"
},
"position_from_right": {
"type": "integer",
"format": "int32",
"description": "number of pixels from right"
}
},
"x-apidog-orders": [
"text",
"url",
"start_time",
"end_time",
"font_color",
"background_color",
"position_from_top",
"position_from_right"
]
},
"description": "A CTA is an explicit prompt within the video content encouraging viewers to take a particular action."
},
"additional_tracks": {
"type": "array",
"items": {
"type": "object",
"required": [
"url",
"type",
"language_code"
],
"properties": {
"url": {
"type": "string",
"description": "URL or web address of a file that Gumlet should download to add a stream."
},
"name": {
"type": "string",
"description": "The name of the track containing a human-readable description."
},
"type": {
"type": "string",
"description": "Type of additional track. Value can be either audio or subtitle."
},
"language_code": {
"type": "string",
"description": "The language code value represents BCP 47 specification compliant value. For example, en for English."
}
},
"x-apidog-orders": [
"url",
"type",
"language_code",
"name"
]
},
"description": "Add additional Audio / Subtitle tracks to Gumlet for transcoding and delivery along with video asset track."
},
"generate_subtitles": {
"type": "object",
"properties": {
"audio_language": {
"type": "string",
"description": "Language code for native language of the audio."
},
"subtitle_languages": {
"type": "string",
"description": "Comma separated string of language codes for which subtitle needs to be generated. Maximum four language codes are allowed."
}
},
"description": "Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes)",
"x-apidog-orders": [
"audio_language",
"subtitle_languages"
]
},
"per_title_encoding": {
"type": "boolean",
"description": "Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**"
},
"process_low_resolution_input": {
"type": "boolean",
"description": "Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**"
}
}
}This endpoint creates a video asset allowing upload of a video from the local file system and ingest media content into the Gumlet system for processing and delivery. Body parameters are the same as the Create Asset body parameters except for the `input` parameter, which this endpoint does not take. A successful response will be returned with `upload_url` field. You can make `PUT` request to that URL to upload video. To upload video using `upload_url` refer to [this](https://docs.gumlet.com/docs/direct-upload#2-use-the-url-to-upload-a-file).
| Argument | Type | Description |
|---|---|---|
| pad | object | This transformation can be used to add padding to the video. |
| tag | array | Specify a text string or identifier which can identify an asset or bunch of assets later. |
| crop | object | This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video. |
| trim | object | Trim transformation can be used to trim videos based on time duration. |
| title | string | Specify a text string or identifier which can be used for filtering or searching the asset. |
| width | string | Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Applicable only when specified format is `MP4`. |
| folder | string | Add this asset to an existing folder by `folder_id`. |
| format | string | Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`. |
| height | string | Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Applicable only when specified format is `MP4`. |
| metadata | object | Add your metadata you want to associate with this asset.<br/> Example: <br/> <code> { "internal_video_id" : "123Abc" } </code> |
| audio_only | boolean | This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`** |
| enable_drm | boolean | Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs. |
| mp4_access | boolean | Creates `MP4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`** |
| profile_id | string | Provide `profile_id` of the previously created video profile. This parameter will override all the parameters (except `input` and `collection_id`) from the video profile. |
| resolution | string | Required resolutions of the transformed asset in case of HLS or MPEG-DASH delivery format. Can be a comma-separated string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p`. Resized rendition will retain the input aspect ratio. |
| description | string | Attach some textual data with the asset. This field is neither searchable nor filterable. |
| playlist_id | string | Add this asset to a playlist. |
| animated_gif | object | Create an animated GIF from the video. |
| text_overlay | object | Text overlay can be used to brand a video or add a label in the form of text. |
| collection_id | string | Gumlet video workspace id. |
| image_overlay | object | Image overlay can be used to brand a video or add a visual label in the form of an image. |
| call_to_actions | array | A CTA is an explicit prompt within the video content encouraging viewers to take a particular action. |
| additional_tracks | array | Add additional Audio / Subtitle tracks to Gumlet for transcoding and delivery along with video asset track. |
| generate_subtitles | object | Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes) |
| per_title_encoding | boolean | Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`** |
| process_low_resolution_input | boolean | Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`** |
{
"type": "object",
"required": [],
"properties": {
"pad": {
"type": "object",
"properties": {
"top": {
"type": "string",
"description": "Width of padding on the top side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
},
"left": {
"type": "string",
"description": "Width of padding on the left side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
},
"color": {
"type": "string",
"description": "Color of padding area. **Default: `black`**"
},
"right": {
"type": "string",
"description": "Width of padding on the right side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
},
"bottom": {
"type": "string",
"description": "Width of padding on the bottom side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
}
},
"description": "This transformation can be used to add padding to the video."
},
"tag": {
"type": "array",
"items": {
"type": "string",
"x-stoplight": {
"id": "ukzi2mra8hepj"
}
},
"description": "Specify a text string or identifier which can identify an asset or bunch of assets later."
},
"crop": {
"type": "object",
"required": [
"width",
"height"
],
"properties": {
"width": {
"type": "string",
"description": "Width of the cropping area in pixels."
},
"height": {
"type": "string",
"description": "Height of the cropping area in pixels."
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
}
},
"description": "This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video."
},
"trim": {
"type": "object",
"required": [
"start_offset",
"end_offset"
],
"properties": {
"duration": {
"type": "number",
"format": "float",
"description": "Duration can be used in conjunction with `start_offset` parameter, can be specified in number of seconds."
},
"end_offset": {
"type": "number",
"format": "float",
"description": "End offset in number of seconds or in `HH:MM:SS` format."
},
"start_offset": {
"type": "number",
"format": "float",
"description": "Start offset in number of seconds or in `HH:MM:SS` format."
}
},
"description": "Trim transformation can be used to trim videos based on time duration."
},
"title": {
"type": "string",
"description": "Specify a text string or identifier which can be used for filtering or searching the asset."
},
"width": {
"type": "string",
"description": "Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Applicable only when specified format is `MP4`."
},
"folder": {
"type": "string",
"description": "Add this asset to an existing folder by `folder_id`."
},
"format": {
"enum": [
"ABR",
"MP4"
],
"type": "string",
"description": "Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`."
},
"height": {
"type": "string",
"description": "Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Applicable only when specified format is `MP4`."
},
"metadata": {
"type": "object",
"properties": {},
"description": "Add your metadata you want to associate with this asset.<br/> Example: <br/> <code> { \"internal_video_id\" : \"123Abc\" } </code>",
"additionalProperties": {}
},
"audio_only": {
"type": "boolean",
"description": "This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`**"
},
"enable_drm": {
"type": "boolean",
"description": "Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs."
},
"mp4_access": {
"type": "boolean",
"description": "Creates `MP4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**"
},
"profile_id": {
"type": "string",
"description": "Provide `profile_id` of the previously created video profile. This parameter will override all the parameters (except `input` and `collection_id`) from the video profile."
},
"resolution": {
"type": "string",
"description": "Required resolutions of the transformed asset in case of HLS or MPEG-DASH delivery format. Can be a comma-separated string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p`. Resized rendition will retain the input aspect ratio."
},
"description": {
"type": "string",
"description": "Attach some textual data with the asset. This field is neither searchable nor filterable."
},
"playlist_id": {
"type": "string",
"description": "Add this asset to a playlist."
},
"animated_gif": {
"type": "object",
"properties": {
"fps": {
"type": "string",
"description": "The frame rate of the generated GIF. Defaults to `15` fps. Max `30` fps."
},
"width": {
"type": "string",
"description": "The width in pixels (or in percentage value of asset width) of the animated GIF. Max width is `640px`."
},
"height": {
"type": "string",
"description": "The height in pixels (or in percentage value of asset height) of the animated GIF. Max height is `640px`."
},
"end_offset": {
"type": "string",
"description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the GIF ends. Defaults to `10` seconds after the start_offset. Maximum duration of GIF is limited to `10` seconds."
},
"start_offset": {
"type": "string",
"description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the animated gif should begin. **Default: `0`**"
}
},
"description": "Create an animated GIF from the video."
},
"text_overlay": {
"type": "object",
"required": [
"text"
],
"properties": {
"box": {
"type": "boolean",
"description": "This parameter allows drawing a rectangular box over the overlaid text. **Default: `false`**"
},
"font": {
"type": "string",
"description": "Font family type for text. **Default: `sans`**"
},
"text": {
"type": "string",
"description": "Text to be overlaid on video."
},
"color": {
"type": "string",
"description": "Font color for text. **Default: `black`**"
},
"opacity": {
"type": "string",
"description": "Overlay text opacity can be specified with opacity parameter where value can be between `0` and `100` where `0` is considered completely transparent and `100` is considered completely opaque. **Default: `100`**"
},
"box_color": {
"type": "string",
"description": "Box color can be specified with this parameter. **Default: `white`**"
},
"font_size": {
"type": "string",
"description": "Font size in pixels. **Default: `16`**"
},
"box_border": {
"type": "string",
"description": "Padding between the box border and the text can be specified with this parameter in pixels. **Default: `0`**"
},
"box_opacity": {
"type": "string",
"description": "Box opacity can be specified with this parameter. **Default: `100`**"
},
"vertical_align": {
"type": "string",
"description": "This parameter specifies the vertical alignment of the overlaid text and can be either `top` or `bottom`. **Default: `bottom`**"
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the corner (determined by vertical_align) of the overlay area. Values can be an absolute number of pixels relative to the video height. **Default: `0`**"
},
"horizontal_align": {
"type": "string",
"description": "This parameter specifies the horizontal alignment of the overlaid text and can be either `left` or `right`. **Default: `right`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels relative to the video width. **Default: `0`**"
}
},
"description": "Text overlay can be used to brand a video or add a label in the form of text."
},
"collection_id": {
"type": "string",
"description": "Gumlet video workspace id."
},
"image_overlay": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "This is the required parameter for image overlay; it can be a URL to an image that needs to be overlaid."
},
"width": {
"type": "string",
"description": "Width of the overlaid image. **Default: `image width`**"
},
"height": {
"type": "string",
"description": "Height of the overlaid image. **Default: `image height`**"
},
"vertical_align": {
"type": "string",
"description": "This parameter specifies the vertical alignment of the overlaid image and can be either `top` or `bottom`. **Default: `bottom`**"
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the corner (determined by `vertical_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
},
"horizontal_align": {
"type": "string",
"description": "This parameter specifies the horizontal alignment of the overlaid image and can be either `left` or `right`. **Default: `right`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
}
},
"description": "Image overlay can be used to brand a video or add a visual label in the form of an image."
},
"call_to_actions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"text": {
"type": "string"
},
"end_time": {
"type": "integer",
"format": "int32"
},
"font_color": {
"type": "string",
"description": "hex value of color"
},
"start_time": {
"type": "integer",
"format": "int32"
},
"background_color": {
"type": "string",
"description": "hex code of color"
},
"position_from_top": {
"type": "integer",
"format": "int32",
"description": "number of pixels from top"
},
"position_from_right": {
"type": "integer",
"format": "int32",
"description": "number of pixels from right"
}
}
},
"description": "A CTA is an explicit prompt within the video content encouraging viewers to take a particular action."
},
"additional_tracks": {
"type": "array",
"items": {
"type": "object",
"required": [
"url",
"type",
"language_code"
],
"properties": {
"url": {
"type": "string",
"description": "URL or web address of a file that Gumlet should download to add a stream."
},
"name": {
"type": "string",
"description": "The name of the track containing a human-readable description."
},
"type": {
"type": "string",
"description": "Type of additional track. Value can be either audio or subtitle."
},
"language_code": {
"type": "string",
"description": "The language code value represents BCP 47 specification compliant value. For example, en for English."
}
}
},
"description": "Add additional Audio / Subtitle tracks to Gumlet for transcoding and delivery along with video asset track."
},
"generate_subtitles": {
"type": "object",
"properties": {
"audio_language": {
"type": "string",
"description": "Language code for native language of the audio."
},
"subtitle_languages": {
"type": "string",
"description": "Comma separated string of language codes for which subtitle needs to be generated. Maximum four language codes are allowed."
}
},
"description": "Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes)"
},
"per_title_encoding": {
"type": "boolean",
"description": "Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**"
},
"process_low_resolution_input": {
"type": "boolean",
"description": "Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**"
}
}
}Create a folder inside a video workspace. Optionally provide `parent_id` to create a nested folder.
| Argument | Type | Description |
|---|---|---|
| name | string | Folder name. |
| parent_id | string | null | Parent folder id. Send `null` or omit it to create a root-level folder. |
| workspace_id* | string | Video workspace id. |
{
"type": "object",
"required": [
"workspace_id"
],
"properties": {
"name": {
"type": "string",
"description": "Folder name."
},
"parent_id": {
"type": [
"string",
"null"
],
"description": "Parent folder id. Send `null` or omit it to create a root-level folder."
},
"workspace_id": {
"type": "string",
"description": "Video workspace id."
}
}
}This endpoint allows users to create image source.
| Argument | Type | Description |
|---|---|---|
| aws | object | This is a required field if source type is aws. |
| gcs | object | This is a required field if source type is gcs. |
| type | string | |
| azure | object | This is a required field if source type is azure. |
| proxy | object | This is a required field if source type is proxy. |
| linode | object | This is a required field if source type is linode. |
| wasabi | object | This is a required field if source type is wasabi. |
| backblaze | object | This is a required field if source type is backblaze. |
| dostorage | object | This is a required field if source type is dostorage. |
| namespace | string | unique subdomain associated with the image source |
| webfolder | object | |
| cloudflare | object | This is a required field if source type is cloudflare. |
| cloudinary | object | This is a required field if source type is cloudinary. |
{
"type": "object",
"required": [],
"properties": {
"aws": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"endpoint": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is aws."
},
"gcs": {
"type": "object",
"required": [
"bucket_name",
"service_account_key"
],
"properties": {
"bucket_name": {
"type": "string"
},
"service_account_key": {
"type": "string"
}
},
"description": "This is a required field if source type is gcs."
},
"type": {
"enum": [
"proxy",
"webfolder",
"aws",
"gcs",
"dostorage",
"wasabi",
"cloudinary",
"azure",
"linode",
"backblaze",
"cloudflare",
"zoom"
],
"type": "string"
},
"azure": {
"type": "object",
"required": [
"azure_account_name",
"azure_container_name",
"azure_shared_token",
"azure_path"
],
"properties": {
"azure_path": {
"type": "string"
},
"azure_account_name": {
"type": "string"
},
"azure_shared_token": {
"type": "string"
},
"azure_container_name": {
"type": "string"
}
},
"description": "This is a required field if source type is azure."
},
"proxy": {
"type": "object",
"required": [
"whitelisted_domains"
],
"properties": {
"whitelisted_domains": {
"type": "string"
}
},
"description": "This is a required field if source type is proxy."
},
"linode": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is linode."
},
"wasabi": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is wasabi."
},
"backblaze": {
"type": "object",
"required": [
"bucket_name",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"endpoint": {
"type": "string",
"description": "bucket_region or endpoint"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string",
"description": "bucket_region or endpoint"
}
},
"description": "This is a required field if source type is backblaze."
},
"dostorage": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is dostorage."
},
"namespace": {
"type": "string",
"description": "unique subdomain associated with the image source"
},
"webfolder": {
"type": "object",
"properties": {
"base_url": {
"type": "string",
"x-stoplight": {
"id": "8nxga6djly0mz"
}
}
},
"x-stoplight": {
"id": "kt4iq0r4ofkar"
}
},
"cloudflare": {
"type": "object",
"required": [
"bucket_name",
"access_key",
"account_id",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"account_id": {
"type": "string"
},
"bucket_name": {
"type": "string"
}
},
"description": "This is a required field if source type is cloudflare."
},
"cloudinary": {
"type": "object",
"required": [
"host_name",
"cloud_name"
],
"properties": {
"host_name": {
"type": "string"
},
"cloud_name": {
"type": "string"
}
},
"description": "This is a required field if source type is cloudinary."
}
}
}A live asset refers to media content/video that is live-streamed through Gumlet. This endpoint creates a live streaming asset allowing users to live stream a video that will be pushed to Gumlet.
| Argument | Type | Description |
|---|---|---|
| title | string | Your live stream asset title |
| start_at | string | |
| mp4_access | boolean | Creates <code>MP4</code> version for download purpose. |
| resolution | string | Required resolutions in HLS delivery format for live stream. Can be an array of string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p`. Resized rendition will retain the input aspect ratio. |
| orientation | string | |
| live_source_id | string | Gumlet live video source/collection id. |
{
"type": "object",
"required": [],
"properties": {
"title": {
"type": "string",
"description": "Your live stream asset title"
},
"start_at": {
"type": "string",
"format": "date-time"
},
"mp4_access": {
"type": "boolean",
"description": "Creates <code>MP4</code> version for download purpose."
},
"resolution": {
"type": "string",
"description": "Required resolutions in HLS delivery format for live stream. Can be an array of string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p`. Resized rendition will retain the input aspect ratio."
},
"orientation": {
"enum": [
"landscape",
"potrait"
],
"type": "string"
},
"live_source_id": {
"type": "string",
"description": "Gumlet live video source/collection id."
}
}
}Create new playlist inside video wprkspace
| Argument | Type | Description |
|---|---|---|
| title | string | Playlist title |
| description | string | Playlist description |
| collection_id | string | Workspace ID in which the playlist should be created |
{
"type": "object",
"required": [],
"properties": {
"title": {
"type": "string",
"description": "Playlist title"
},
"description": {
"type": "string",
"description": "Playlist description"
},
"collection_id": {
"type": "string",
"description": "Workspace ID in which the playlist should be created"
}
}
}Gumlet provides the functionality of creating multiple video assets using the same set of parameters. A Video profile is a set of parameters that can be referenced/used while creating a video as a single parameter.
| Argument | Type | Description |
|---|---|---|
| pad | object | This transformation can be used to add padding to the video. |
| crop | object | This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video. |
| name | string | Profile name or identifier. |
| trim | object | Trim transformation can be used to trim videos based on time duration. |
| width | string | Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Only applicable when specified `format` is `MP4`. |
| format | string | Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`. |
| height | string | Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Only applicable when specified `format` is `MP4`. |
| audio_only | boolean | This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case,This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`** |
| enable_drm | boolean | Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs. |
| mp4_access | boolean | Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`** |
| resolution | string | Required resolutions of the transformed asset in case of HLS or MPEG-DASH delivery format. Can be a comma-separated string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p `. Resized rendition will retain the input aspect ratio. |
| transcribe | boolean | This will generate the subtitles in the native audio. |
| animated_gif | object | Create an animated GIF from a video. |
| text_overlay | object | Text overlay can be used to brand a video or add a label in the form of text. |
| image_overlay | object | Image overlay can be used to brand a video or add a visual label in the form of an image. |
| generate_subtitles | object | Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes). Remove this object if you do not want to generate AI subtitles. |
| per_title_encoding | boolean | Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`** |
| process_low_resolution_input | boolean | Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`** |
{
"type": "object",
"required": [],
"properties": {
"pad": {
"type": "object",
"properties": {
"top": {
"type": "string",
"description": "Width of padding on the top side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
},
"left": {
"type": "string",
"description": "Width of padding on the left side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
},
"color": {
"type": "string",
"description": "Color of padding area. **Default: `black`**"
},
"right": {
"type": "string",
"description": "Width of padding on the right side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
},
"bottom": {
"type": "string",
"description": "Width of padding on the bottom side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
}
},
"description": "This transformation can be used to add padding to the video."
},
"crop": {
"type": "object",
"required": [
"width",
"height"
],
"properties": {
"width": {
"type": "string",
"description": "Width of the cropping area in pixels."
},
"height": {
"type": "string",
"description": "Height of the cropping area in pixels."
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
}
},
"description": "This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video."
},
"name": {
"type": "string",
"default": "Gumlet-Profile-1",
"description": "Profile name or identifier."
},
"trim": {
"type": "object",
"required": [
"start_offset",
"end_offset"
],
"properties": {
"duration": {
"type": "number",
"format": "float",
"description": "Duration can be used in conjunction with `start_offset` parameter, can be specified in number of seconds."
},
"end_offset": {
"type": "number",
"format": "float",
"description": "End offset in number of seconds or in `HH:MM:SS` format."
},
"start_offset": {
"type": "number",
"format": "float",
"description": "Start offset in number of seconds or in `HH:MM:SS` format."
}
},
"description": "Trim transformation can be used to trim videos based on time duration."
},
"width": {
"type": "string",
"description": "Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Only applicable when specified `format` is `MP4`."
},
"format": {
"enum": [
"ABR",
"MP4"
],
"type": "string",
"default": "ABR",
"description": "Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`."
},
"height": {
"type": "string",
"description": "Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Only applicable when specified `format` is `MP4`."
},
"audio_only": {
"type": "boolean",
"description": "This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case,This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`**"
},
"enable_drm": {
"type": "boolean",
"description": "Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs."
},
"mp4_access": {
"type": "boolean",
"description": "Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**"
},
"resolution": {
"type": "string",
"description": "Required resolutions of the transformed asset in case of HLS or MPEG-DASH delivery format. Can be a comma-separated string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p `. Resized rendition will retain the input aspect ratio."
},
"transcribe": {
"type": "boolean",
"default": false,
"description": "This will generate the subtitles in the native audio."
},
"animated_gif": {
"type": "object",
"properties": {
"fps": {
"type": "string",
"description": "The frame rate of the generated GIF. Defaults to `15` fps. Max `30` fps."
},
"width": {
"type": "string",
"description": "The width in pixels (or in percentage value of asset width) of the animated GIF. Max width is `640px`."
},
"height": {
"type": "string",
"description": "The height in pixels (or in percentage value of asset height) of the animated GIF. Max height is `640px`."
},
"end_offset": {
"type": "string",
"description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the GIF ends. Defaults to `10` seconds after the start_offset. Maximum duration of GIF is limited to `10` seconds."
},
"start_offset": {
"type": "string",
"description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the animated gif should begin. **Default: `0`**"
}
},
"description": "Create an animated GIF from a video."
},
"text_overlay": {
"type": "object",
"required": [
"text"
],
"properties": {
"box": {
"type": "boolean",
"description": "This parameter allows drawing a rectangular box over the overlaid text. **Default: `false`**"
},
"font": {
"type": "string",
"description": "Font family type for text. **Default: `sans`**"
},
"text": {
"type": "string",
"description": "Text to be overlaid on video."
},
"color": {
"type": "string",
"description": "Font color for text. **Default: `black`**"
},
"opacity": {
"type": "string",
"description": "Overlay text opacity can be specified with opacity parameter where value can be between `0` and `100` where `0` is considered completely transparent and `100` is considered completely opaque. **Default: `100`**"
},
"box_color": {
"type": "string",
"description": "Box color can be specified with this parameter. **Default: `white`**"
},
"font_size": {
"type": "string",
"description": "Font size in pixels. **Default: `16`**"
},
"box_border": {
"type": "string",
"description": "Padding between the box border and the text can be specified with this parameter in pixels. **Default: `0`**"
},
"box_opacity": {
"type": "string",
"description": "Box opacity can be specified with this parameter. **Default: `100`**"
},
"vertical_align": {
"type": "string",
"description": "This parameter specifies the vertical alignment of the overlaid text and can be either `top` or `bottom`. **Default: `bottom`**"
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the corner (determined by vertical_align) of the overlay area. Values can be an absolute number of pixels relative to the video height. **Default: `0`**"
},
"horizontal_align": {
"type": "string",
"description": "This parameter specifies the horizontal alignment of the overlaid text and can be either `left` or `right`. **Default: `right`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels relative to the video width. **Default: `0`**"
}
},
"description": "Text overlay can be used to brand a video or add a label in the form of text."
},
"image_overlay": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "This is the required parameter for image overlay; it can be a URL to an image that needs to be overlaid."
},
"width": {
"type": "string",
"description": "Width of the overlaid image. **Default: `image width`**"
},
"height": {
"type": "string",
"description": "Height of the overlaid image. **Default: `image height`**"
},
"vertical_align": {
"type": "string",
"description": "This parameter specifies the vertical alignment of the overlaid image and can be either `top` or `bottom`. **Default: `bottom`**"
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the corner (determined by `vertical_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
},
"horizontal_align": {
"type": "string",
"description": "This parameter specifies the horizontal alignment of the overlaid image and can be either `left` or `right`. **Default: `right`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
}
},
"description": "Image overlay can be used to brand a video or add a visual label in the form of an image."
},
"generate_subtitles": {
"type": "object",
"properties": {
"subtitle_languages": {
"type": "string",
"description": "Array of string of language codes for which subtitle needs to be generated. Maximum four language codes are allowed."
}
},
"description": "Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes). Remove this object if you do not want to generate AI subtitles."
},
"per_title_encoding": {
"type": "boolean",
"description": "Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**"
},
"process_low_resolution_input": {
"type": "boolean",
"description": "Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**"
}
}
}This endpoint will create/update video asset chapters.
| Argument | Type | Description |
|---|---|---|
| asset_id* | string | Gumlet asset ID |
| chapters | array | List of chapters |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"asset_id": {
"type": "string",
"description": "Gumlet asset ID"
},
"chapters": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"startTime"
],
"properties": {
"label": {
"type": "string",
"description": "Label for the chapter"
},
"startTime": {
"type": "integer",
"format": "int32",
"description": "Start time of chapter in seconds. 0 means chapter is put as the video starts."
}
},
"x-apidog-orders": [
"label",
"startTime"
]
},
"description": "List of chapters"
}
}
}Creates a new webhook listener. Gumlet POSTs JSON to `url` for each matching event and sends `secret_token` in the `x-gumlet-token` header. Payload schemas are documented in the webhooks section.
| Argument | Type | Description |
|---|---|---|
| url | string | URL from the application you want to send data to. |
| sources | array | List of video collection identifiers for which webhooks are needed to be invoked. |
| triggers | array | Events that invoke this webhook. `status` subscribes to every video asset status event. `live-video-status` subscribes to every live video status event. Any other value subscribes to that event only. |
| secret_token | string | Secret sent back in the `x-gumlet-token` header of each webhook POST so you can confirm the request came from Gumlet. |
{
"type": "object",
"required": [],
"properties": {
"url": {
"type": "string",
"description": "URL from the application you want to send data to."
},
"sources": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of video collection identifiers for which webhooks are needed to be invoked."
},
"triggers": {
"type": "array",
"items": {
"enum": [
"status",
"live-video-status",
"video.status.created",
"video.status.downloaded",
"video.status.optimized",
"video.status.ready",
"video.status.errored",
"video.status.deleted",
"video.status.repackaged",
"video.status.stream_ready",
"live.video.status.created",
"live.video.status.ready",
"live.video.status.preparing",
"live.video.status.connected",
"live.video.status.active",
"live.video.status.complete",
"live.video.status.disconnected",
"event.embed.viewed",
"event.embed.cta_clicked",
"event.video.updated",
"event.video.uploaded",
"event.playlist.created",
"event.playlist.asset",
"event.playlist.deleted",
"event.video.analytics",
"event.image.analytics",
"event.embed.form_submitted",
"event.comment.all",
"event.channel.member_joined"
],
"type": "string"
},
"description": "Events that invoke this webhook. `status` subscribes to every video asset status event. `live-video-status` subscribes to every live video status event. Any other value subscribes to that event only."
},
"secret_token": {
"type": "string",
"description": "Secret sent back in the `x-gumlet-token` header of each webhook POST so you can confirm the request came from Gumlet."
}
}
}Video workspaces are top-level entities in Gumlet. You can use them to organize videos for different teams/departments or use cases.
| Argument | Type | Description |
|---|---|---|
| aws | object | This is a required field if workspace type is aws. |
| gcs | object | This is a required field if workspace type is gcs. |
| name | string | Specify a text string or identifier for the workspace. |
| type | string | Video workspaces are top-level entities in Gumlet. You can use them to organize videos for different teams/departments or use cases. |
| zoom | object | This is a required field if workspace type is zoom. |
| azure | object | This is a required field if workspace type is azure. |
| proxy | object | This is a required field if workspace type is proxy. |
| linode | object | This is a required field if workspace type is linode. |
| wasabi | object | This is a required field if workspace type is wasabi. |
| backblaze | object | This is a required field if workspace type is backblaze. |
| dostorage | object | This is a required field if workspace type is dostorage. |
| cloudflare | object | This is a required field if workspace type is cloudflare. |
| cloudinary | object | This is a required field if workspace type is cloudinary. |
| video_protection | object | Gumlet provides multiple options for securing your video playback. |
| data_localization | string | Data localization region |
| default_profile_id | string | Gumlet provides the functionality of creating multiple video assets using the same set of parameters. |
| insight_property_id | string | The five to ten character unique identifier of the Gumlet Insight Property available on the dashboard. |
{
"type": "object",
"required": [],
"properties": {
"aws": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"endpoint": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if workspace type is aws.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path",
"endpoint"
]
},
"gcs": {
"type": "object",
"required": [
"bucket_name",
"service_account_key"
],
"properties": {
"bucket_name": {
"type": "string"
},
"service_account_key": {
"type": "string"
}
},
"description": "This is a required field if workspace type is gcs.",
"x-apidog-orders": [
"bucket_name",
"service_account_key"
]
},
"name": {
"type": "string",
"description": "Specify a text string or identifier for the workspace."
},
"type": {
"enum": [
"proxy",
"direct-upload",
"webfolder",
"aws",
"gcs",
"dostorage",
"wasabi",
"cloudinary",
"azure",
"linode",
"backblaze",
"cloudflare",
"zoom"
],
"type": "string",
"default": "direct-upload",
"description": "Video workspaces are top-level entities in Gumlet. You can use them to organize videos for different teams/departments or use cases."
},
"zoom": {
"type": "object",
"required": [
"secret"
],
"properties": {
"secret": {
"type": "string"
}
},
"description": "This is a required field if workspace type is zoom.",
"x-apidog-orders": [
"secret"
]
},
"azure": {
"type": "object",
"required": [
"azure_account_name",
"azure_container_name",
"azure_shared_token",
"azure_path"
],
"properties": {
"azure_path": {
"type": "string"
},
"azure_account_name": {
"type": "string"
},
"azure_shared_token": {
"type": "string"
},
"azure_container_name": {
"type": "string"
}
},
"description": "This is a required field if workspace type is azure.",
"x-apidog-orders": [
"azure_account_name",
"azure_container_name",
"azure_shared_token",
"azure_path"
]
},
"proxy": {
"type": "object",
"required": [
"whitelisted_domains"
],
"properties": {
"whitelisted_domains": {
"type": "string"
}
},
"description": "This is a required field if workspace type is proxy.",
"x-apidog-orders": [
"whitelisted_domains"
]
},
"linode": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if workspace type is linode.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
]
},
"wasabi": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if workspace type is wasabi.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path"
]
},
"backblaze": {
"type": "object",
"required": [
"bucket_name",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"endpoint": {
"type": "string",
"description": "bucket_region or endpoint"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string",
"description": "bucket_region or endpoint"
}
},
"description": "This is a required field if workspace type is backblaze.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"endpoint",
"access_key",
"secret",
"base_path"
]
},
"dostorage": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if workspace type is dostorage.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path"
]
},
"cloudflare": {
"type": "object",
"required": [
"bucket_name",
"access_key",
"account_id",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"account_id": {
"type": "string"
},
"bucket_name": {
"type": "string"
}
},
"description": "This is a required field if workspace type is cloudflare.",
"x-apidog-orders": [
"bucket_name",
"access_key",
"account_id",
"secret",
"base_path"
]
},
"cloudinary": {
"type": "object",
"required": [
"host_name",
"cloud_name"
],
"properties": {
"host_name": {
"type": "string"
},
"cloud_name": {
"type": "string"
}
},
"description": "This is a required field if workspace type is cloudinary.",
"x-apidog-orders": [
"host_name",
"cloud_name"
]
},
"video_protection": {
"type": "object",
"properties": {
"signed_url": {
"type": "boolean",
"default": false
},
"signed_url_secret": {
"type": "string"
},
"blacklisted_countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Example: [\"IN\",\"USA\"]"
},
"whitelisted_referrers": {
"type": "string"
}
},
"description": "Gumlet provides multiple options for securing your video playback.",
"x-apidog-orders": [
"signed_url",
"signed_url_secret",
"blacklisted_countries",
"whitelisted_referrers"
]
},
"data_localization": {
"enum": [
"us",
"in",
"eu"
],
"type": "string",
"default": "us",
"description": "Data localization region",
"x-apidog-enum": [
{
"name": "USA",
"value": "us",
"description": ""
},
{
"name": "India",
"value": "in",
"description": ""
},
{
"name": "Europe",
"value": "eu",
"description": ""
}
]
},
"default_profile_id": {
"type": "string",
"description": "Gumlet provides the functionality of creating multiple video assets using the same set of parameters."
},
"insight_property_id": {
"type": "string",
"description": "The five to ten character unique identifier of the Gumlet Insight Property available on the dashboard."
}
}
}This endpoint removes an asset given its unique asset id. The asset will be removed from storage as well, associated URLs will be inaccessible.
| Argument | Type | Description |
|---|---|---|
| asset_id* | string | Asset id of the video asset which needs to be deleted. |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"asset_id": {
"type": "string",
"description": "Asset id of the video asset which needs to be deleted."
}
}
}Delete a folder. Descendant folders and assets inside them are deleted by the backend workflow.
| Argument | Type | Description |
|---|---|---|
| folder_id* | string | Folder id. |
| workspace_id* | string | Video workspace id. |
{
"type": "object",
"required": [
"workspace_id",
"folder_id"
],
"properties": {
"folder_id": {
"type": "string",
"description": "Folder id."
},
"workspace_id": {
"type": "string",
"description": "Video workspace id."
}
}
}This endpoint removes a live asset given its unique live asset id. The live asset will be removed from storage as well, associated URLs will be inaccessible.
| Argument | Type | Description |
|---|---|---|
| live_asset_id* | string | Live asset id of the live asset which needs to be deleted. |
{
"type": "object",
"required": [
"live_asset_id"
],
"properties": {
"live_asset_id": {
"type": "string",
"description": "Live asset id of the live asset which needs to be deleted."
}
}
}Deletes a playlist by plalist ID.
| Argument | Type | Description |
|---|---|---|
| playlist_id* | string | Playlist ID that is to be deleted. |
{
"type": "object",
"required": [
"playlist_id"
],
"properties": {
"playlist_id": {
"type": "string",
"description": "Playlist ID that is to be deleted."
}
}
}This endpoint removes a profile given its unique `profile_id`. The profile will be removed but video assets created using the profile will remain as it is.
| Argument | Type | Description |
|---|---|---|
| profile_id* | string | Profile id of the profile which needs to be deleted. |
{
"type": "object",
"required": [
"profile_id"
],
"properties": {
"profile_id": {
"type": "string",
"description": "Profile id of the profile which needs to be deleted."
}
}
}This endpoint removes a image source. All image delivery using this subdomain will be stopped.
| Argument | Type | Description |
|---|---|---|
| image_source_id* | string | Image source ID to delete. You can get this on Gumlet dashboard or in list source API. |
{
"type": "object",
"required": [
"image_source_id"
],
"properties": {
"image_source_id": {
"type": "string",
"description": "Image source ID to delete. You can get this on Gumlet dashboard or in list source API."
}
}
}Delete webhook listener endpoint.
| Argument | Type | Description |
|---|---|---|
| webhook_id* | string | Unique identifier for the Gumlet Webhook which needs to be deleted. |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"webhook_id": {
"type": "string",
"description": "Unique identifier for the Gumlet Webhook which needs to be deleted."
}
}
}This endpoint removes a video workspace given its unique asset id. All the asset in workspace will be removed from storage as well, associated URLs will be inaccessible.
| Argument | Type | Description |
|---|---|---|
| workspace_id* | string | Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API. |
{
"type": "object",
"required": [
"workspace_id"
],
"properties": {
"workspace_id": {
"type": "string",
"description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API."
}
}
}Get audit logs for the user activity in your organisation. Please note that this endpoint can only be accessed by `owner` and `admin` role users.
| Argument | Type | Description |
|---|---|---|
| page_size | integer | |
| date_range | object | |
| user_email | array | Array of user emails to filter the activity logs. |
| page_number | integer | Page number of results. |
| activity_type | array | Array of activity types to filter the audit logs |
{
"type": "object",
"required": [],
"properties": {
"page_size": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 10
},
"date_range": {
"type": "object",
"required": [
"start_at",
"end_at"
],
"properties": {
"end_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
},
"start_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
}
},
"x-apidog-orders": [
"start_at",
"end_at"
]
},
"user_email": {
"type": "array",
"items": {
"type": "string",
"format": "email"
},
"description": "Array of user emails to filter the activity logs."
},
"page_number": {
"type": "integer",
"default": 1,
"minimum": 1,
"multipleOf": 1,
"description": "Page number of results."
},
"activity_type": {
"type": "array",
"items": {
"enum": [
"workspace_created",
"video_uploaded",
"video_details_updated",
"video_deleted",
"thumbnail_updated",
"subtitles_updated",
"audio_updated",
"processing_settings_updated",
"player_settings_updated",
"workspace_updated",
"team_member_invited",
"team_member_removed",
"import_started",
"playlist_created",
"playlist_updated",
"playlist_asset_changed",
"security_settings_updated",
"channel_updated",
"video_alert_changed",
"video_report_changed",
"live_stream_created",
"live_stream_started",
"live_stream_thumbnail_updated",
"live_stream_completed",
"live_stream_collection_created",
"live_stream_collection_updated",
"live_stream_deleted",
"image_source_created",
"image_source_updated",
"image_report_changed",
"image_alert_changed",
"user_profile_updated",
"api_key_changed",
"webhook_created",
"webhook_updated",
"webhook_deleted",
"drm_credentials_changed",
"plan_changed",
"billing_details_updated",
"playlist_deleted",
"payment_method_added",
"billing_alert_changed"
],
"type": "string",
"x-apidog-enum": [
{
"name": "",
"value": "workspace_created",
"description": ""
},
{
"name": "",
"value": "video_uploaded",
"description": ""
}
]
},
"description": "Array of activity types to filter the audit logs"
}
}
}Get billing details for this organization.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}You can get organization data using this API.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Get details about upcoming invoice.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}This endpoint gives information about the user account.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}This endpoint lists live assets on the basis of `status` for the given `live_source_id`.
| Argument | Type | Description |
|---|---|---|
| size | integer | Page size for the paginated list. |
| offset | integer | Offset value for a paginated list of assets. |
| status | string | To filter live assets on the basis of their current status. Can be specified as a single status value string or comma-separated status values. The status value can be one of `created`, `active`, `complete`, `disconnected`, `errored`, and `deleted`. |
| live_source_id* | string | Gumlet live source/collection id. |
{
"type": "object",
"required": [
"live_source_id"
],
"properties": {
"size": {
"type": "integer",
"format": "int32",
"description": "Page size for the paginated list."
},
"offset": {
"type": "integer",
"format": "int32",
"description": "Offset value for a paginated list of assets."
},
"status": {
"type": "string",
"description": "To filter live assets on the basis of their current status. Can be specified as a single status value string or comma-separated status values. The status value can be one of `created`, `active`, `complete`, `disconnected`, `errored`, and `deleted`."
},
"live_source_id": {
"type": "string",
"description": "Gumlet live source/collection id."
}
}
}Get all playlists for given workspace
| Argument | Type | Description |
|---|---|---|
| collection_id* | string | Workspace ID |
{
"type": "object",
"required": [
"collection_id"
],
"properties": {
"collection_id": {
"type": "string",
"description": "Workspace ID"
}
}
}This endpoint retrieves the details of an asset that has previously been created.
| Argument | Type | Description |
|---|---|---|
| asset_id* | string | An asset id for the previously created asset. |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"asset_id": {
"type": "string",
"description": "An asset id for the previously created asset."
}
}
}Get a single folder by id.
| Argument | Type | Description |
|---|---|---|
| folder_id* | string | Folder id. |
| workspace_id* | string | Video workspace id. |
{
"type": "object",
"required": [
"workspace_id",
"folder_id"
],
"properties": {
"folder_id": {
"type": "string",
"description": "Folder id."
},
"workspace_id": {
"type": "string",
"description": "Video workspace id."
}
}
}Get all details about image source.
| Argument | Type | Description |
|---|---|---|
| image_source_id* | string | Image source id. You can get it on Gumlet dashboard or using list sources API endpoint. |
{
"type": "object",
"required": [
"image_source_id"
],
"properties": {
"image_source_id": {
"type": "string",
"description": "Image source id. You can get it on Gumlet dashboard or using list sources API endpoint."
}
}
}This endpoint retrieves the details of a live video asset that has previously been created.
| Argument | Type | Description |
|---|---|---|
| live_asset_id* | string | A live asset id for the previously created asset. |
{
"type": "object",
"required": [
"live_asset_id"
],
"properties": {
"live_asset_id": {
"type": "string",
"description": "A live asset id for the previously created asset."
}
}
}Get a list of all assets inside playlist. You can choose in which order are assets returned.
| Argument | Type | Description |
|---|---|---|
| sort_by | string | Optional, if sort_by is set to asset_title it will sorted by title name. Otherwise order in which user added the assets in playlist. |
| page_size | string | Optional. Minimum: 10 |
| sort_order | integer | -1 or 1 |
| page_number | integer | Optional. Minimum: 1 |
| playlist_id* | string | ID of playlist in which you need to list assets. |
{
"type": "object",
"required": [
"playlist_id"
],
"properties": {
"sort_by": {
"type": "string",
"description": "Optional, if sort_by is set to asset_title it will sorted by title name. Otherwise order in which user added the assets in playlist."
},
"page_size": {
"type": "string",
"default": "10",
"description": "Optional. Minimum: 10"
},
"sort_order": {
"type": "integer",
"format": "int32",
"default": 1,
"description": "-1 or 1"
},
"page_number": {
"type": "integer",
"format": "int32",
"default": 1,
"description": "Optional. Minimum: 1"
},
"playlist_id": {
"type": "string",
"description": "ID of playlist in which you need to list assets."
}
}
}This endpoint retrieves the details of a video profile that has previously been created.
| Argument | Type | Description |
|---|---|---|
| profile_id* | string | Profile id of the profile which needs to be retrieved. |
{
"type": "object",
"required": [
"profile_id"
],
"properties": {
"profile_id": {
"type": "string",
"description": "Profile id of the profile which needs to be retrieved."
}
}
}Get install commands and a usage snippet for an official Gumlet SDK. language=python returns pip install gumlet (https://pypi.org/project/gumlet/). language=nodejs returns npm install @gumlet/nodejs-sdk (https://www.npmjs.com/package/@gumlet/nodejs-sdk). Aliases: py, node, js, ts, javascript, typescript, npm, pypi.
| Argument | Type | Description |
|---|---|---|
| language* | string |
{
"type": "object",
"required": [
"language"
],
"properties": {
"language": {
"type": "string"
}
},
"additionalProperties": false
}This endpoint get all the data of video workspace that has previously been created.
| Argument | Type | Description |
|---|---|---|
| workspace_id* | string | Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API. |
{
"type": "object",
"required": [
"workspace_id"
],
"properties": {
"workspace_id": {
"type": "string",
"description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API."
}
}
}Search all video assets / playlists / folders etc across workspaces.
| Argument | Type | Description |
|---|---|---|
| size | integer | Number of results to return |
| search_query* | string | Search query term |
| assets_offset | integer | Offset for assets |
| collection_id | string | Workspace ID if you want to limit search to a specific workspace |
| folders_offset | integer | Offset for folders |
| channels_offset | integer | Offset for channels |
| playlists_offset | integer | Offset for playlists |
{
"type": "object",
"required": [
"search_query"
],
"properties": {
"size": {
"type": "integer",
"default": 20,
"description": "Number of results to return"
},
"search_query": {
"type": "string",
"description": "Search query term"
},
"assets_offset": {
"type": "integer",
"default": 0,
"description": "Offset for assets"
},
"collection_id": {
"type": "string",
"description": "Workspace ID if you want to limit search to a specific workspace"
},
"folders_offset": {
"type": "integer",
"default": 0,
"description": "Offset for folders"
},
"channels_offset": {
"type": "integer",
"default": 0,
"description": "Offset for channels"
},
"playlists_offset": {
"type": "integer",
"default": 0,
"description": "Offset for playlists"
}
}
}You can purge the cache for any image path by using this cache purge API.
| Argument | Type | Description |
|---|---|---|
| paths | array | An array of path of images to purge. It should be provided without any query parameters. |
| source_id* | string | Image Source ID |
{
"type": "object",
"required": [
"source_id"
],
"properties": {
"paths": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of path of images to purge. It should be provided without any query parameters."
},
"source_id": {
"type": "string",
"description": "Image Source ID"
}
}
}This endpoint retrieves aggregated data of the given metrics.
| Argument | Type | Description |
|---|---|---|
| filters | array | Get aggregations for metrics with multiple filters, `value` should be an exact match |
| aggregate | array | Aggregate multiple metrics at the same time |
| timeframe | object | The timeframe to get the data for. The maximum range between start_at and end_at is 60 days. |
| workspace_id | string | The unique identifier of the Gumlet workspace ID available on the Video Workspaces. |
{
"type": "object",
"required": [],
"properties": {
"filters": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"value"
],
"properties": {
"name": {
"enum": [
"meta_browser",
"meta_operating_system",
"meta_operating_system_version",
"meta_device_category",
"meta_device_manufacturer",
"meta_device_name",
"meta_device_display_width",
"meta_device_display_height",
"meta_country",
"meta_city",
"meta_region",
"player_software",
"player_software_version",
"player_height_pixels",
"player_width_pixels",
"player_language_code",
"meta_page_url",
"meta_asn",
"custom_user_id",
"user_name",
"user_email",
"custom_video_id",
"custom_video_title",
"video_source_url",
"video_source_hostname",
"video_source_format",
"custom_video_language",
"custom_video_variant",
"custom_data_1",
"custom_data_2",
"custom_data_3",
"custom_data_4",
"custom_data_5"
],
"type": "string",
"description": "Name of the breakdown to filter data on."
},
"value": {
"type": "string",
"description": "Value to be matched for the given filter name. Currently we support exact matches."
},
"operator": {
"enum": [
"equals",
"does not equal",
"contains",
"does not contain",
"is set",
"is not set"
],
"type": "string",
"default": "equals",
"description": "Operator to be used while filtering the data"
}
}
},
"description": "Get aggregations for metrics with multiple filters, `value` should be an exact match"
},
"aggregate": {
"type": "array",
"items": {
"type": "object",
"required": [
"metric",
"function"
],
"properties": {
"metric": {
"enum": [
"views",
"unique_views",
"completion_percent_by_views",
"playing_time",
"concurrent_users",
"impressions",
"widget_form_submitted",
"cta_clicks"
],
"type": "string",
"description": "The metric to be aggregated for this request."
},
"function": {
"enum": [
"sum",
"average"
],
"type": "string",
"description": "Aggregation function which is to be used."
}
}
},
"description": "Aggregate multiple metrics at the same time"
},
"timeframe": {
"type": "object",
"required": [
"start_at",
"end_at"
],
"properties": {
"end_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
},
"start_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
}
},
"description": "The timeframe to get the data for. The maximum range between start_at and end_at is 60 days."
},
"workspace_id": {
"type": "string",
"description": "The unique identifier of the Gumlet workspace ID available on the Video Workspaces."
}
}
}Read viewer metrics for one workspace, grouped by a breakdown field, for a date range of at most 60 days. This does not change assets or delivery.
| Argument | Type | Description |
|---|---|---|
| filters | array | Build *segments* of users using multiple filters on the data, `value` should be an *exact match* |
| breakdowns | array | Breakdown fields and metrics to retrieve data for. Supports 1 to 3 breakdowns per request. |
| date_range | object | The timeframe to get the data for. The maximum range between start_at and end_at is 60 days. |
| workspace_id | string | The five to ten character unique identifier of the Gumlet workspace ID available on the Video Workspaces. |
{
"type": "object",
"required": [],
"properties": {
"filters": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"value"
],
"properties": {
"name": {
"enum": [
"meta_browser",
"meta_operating_system",
"meta_operating_system_version",
"meta_device_category",
"meta_device_manufacturer",
"meta_device_name",
"meta_device_display_width",
"meta_device_display_height",
"meta_country",
"meta_city",
"meta_region",
"player_software",
"player_software_version",
"player_language_code",
"player_name",
"meta_page_url",
"meta_asn",
"custom_user_id",
"custom_user_email",
"custom_video_id",
"custom_video_title",
"video_source_url",
"custom_video_variant_name",
"custom_video_language",
"custom_video_variant",
"custom_data_1",
"custom_data_2",
"custom_data_3",
"custom_data_4",
"custom_data_5"
],
"type": "string",
"description": "Name of the breakdown to filter data on."
},
"value": {
"type": "string",
"description": "Value to be matched for the given filter name. Currently we support exact matches."
},
"operator": {
"enum": [
"equals",
"does not equal",
"contains",
"does not contain",
"is set",
"is not set"
],
"type": "string",
"default": "equals",
"description": "Operator to be used while filtering the data"
}
}
},
"description": "Build *segments* of users using multiple filters on the data, `value` should be an *exact match*"
},
"breakdowns": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"metric"
],
"properties": {
"name": {
"enum": [
"meta_browser",
"meta_operating_system",
"meta_operating_system_version",
"meta_device_category",
"meta_device_manufacturer",
"meta_device_name",
"meta_device_display_width",
"meta_device_display_height",
"meta_country",
"meta_city",
"meta_region",
"player_software",
"player_software_version",
"player_language_code",
"player_name",
"meta_page_url",
"meta_asn",
"custom_user_id",
"custom_user_email",
"custom_video_id",
"custom_video_title",
"video_source_url",
"custom_video_variant_name",
"custom_video_language",
"custom_video_variant",
"custom_data_1",
"custom_data_2",
"custom_data_3",
"custom_data_4",
"custom_data_5"
],
"type": "string",
"description": "Name of the field to break down the data by."
},
"page": {
"type": "integer",
"default": 1,
"description": "Page number for paginated results."
},
"metric": {
"enum": [
"views",
"unique_views",
"impressions",
"completion_percent_by_views",
"playing_time",
"concurrent_users",
"widget_form_submitted",
"cta_clicks"
],
"type": "string",
"description": "The metric to retrieve breakdown data for."
},
"page_size": {
"type": "integer",
"default": 100,
"description": "Number of results per page."
}
}
},
"maxItems": 3,
"minItems": 1,
"description": "Breakdown fields and metrics to retrieve data for. Supports 1 to 3 breakdowns per request."
},
"date_range": {
"type": "object",
"required": [
"start_at",
"end_at"
],
"properties": {
"end_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
},
"start_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
}
},
"description": "The timeframe to get the data for. The maximum range between start_at and end_at is 60 days."
},
"workspace_id": {
"type": "string",
"description": "The five to ten character unique identifier of the Gumlet workspace ID available on the Video Workspaces."
}
}
}Invite one or more viewers to a members-only channel.
| Argument | Type | Description |
|---|---|---|
| users* | array | List of viewers to invite. A maximum of 200 viewers can be invited in one request. |
| video_workspace_id* | string | Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API. |
{
"type": "object",
"required": [
"video_workspace_id",
"users"
],
"properties": {
"users": {
"type": "array",
"items": {
"type": "object",
"required": [
"email",
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Viewer display name."
},
"email": {
"type": "string",
"format": "email",
"description": "Viewer email address."
}
}
},
"maxItems": 200,
"minItems": 1,
"description": "List of viewers to invite. A maximum of 200 viewers can be invited in one request."
},
"video_workspace_id": {
"type": "string",
"description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API."
}
}
}Invite viewers to a channel by uploading a CSV file.
| Argument | Type | Description |
|---|---|---|
| viewers_csv* | string | CSV file containing viewer rows. Required columns: email, name. Maximum 500 viewers. |
| video_workspace_id* | string | Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API. |
{
"type": "object",
"required": [
"video_workspace_id",
"viewers_csv"
],
"properties": {
"viewers_csv": {
"type": "string",
"format": "binary",
"description": "CSV file containing viewer rows. Required columns: email, name. Maximum 500 viewers."
},
"video_workspace_id": {
"type": "string",
"description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API."
}
}
}List folders and assets for a workspace in a single response. Use `parent_id` to browse a specific folder, or filters like `title`, `status`, and `playlist_id` to search assets.
| Argument | Type | Description |
|---|---|---|
| tag | string | Comma-separated asset tags. |
| size | integer | Page size. Maximum 100. |
| type | string | Return `folders`, `videos`, or `all`. Default is `all`. |
| title | string | Search folders or assets by title or description. |
| offset | integer | Offset for paginated results. |
| sortBy | string | Sort assets by a supported field. |
| status | string | Comma-separated asset status values. |
| orderBy | string | Asset sort order. |
| end_date | string | Asset created_at upper bound. Date in yyyy-MM-dd format. |
| parent_id | string | Parent folder id. Send `null` to browse the root level. |
| start_date | string | Asset created_at lower bound. Date in yyyy-MM-dd format. |
| playlist_id | string | Filter assets to a playlist. |
| searchIndex | string | Search index used for asset title search. |
| max_duration | number | Maximum asset duration in seconds. |
| min_duration | number | Minimum asset duration in seconds. |
| signed_token | string | Whether URLs should be pre-signed in the API response. Possible values: `true` and `false`. Default is `false`. |
| workspace_id* | string | Video workspace id. |
{
"type": "object",
"required": [
"workspace_id"
],
"properties": {
"tag": {
"type": "string",
"description": "Comma-separated asset tags."
},
"size": {
"type": "integer",
"default": 20,
"maximum": 100,
"description": "Page size. Maximum 100."
},
"type": {
"enum": [
"folders",
"videos",
"all"
],
"type": "string",
"default": "all",
"description": "Return `folders`, `videos`, or `all`. Default is `all`."
},
"title": {
"type": "string",
"description": "Search folders or assets by title or description."
},
"offset": {
"type": "integer",
"default": 0,
"description": "Offset for paginated results."
},
"sortBy": {
"enum": [
"title",
"duration",
"uploaded_at",
"created_at"
],
"type": "string",
"description": "Sort assets by a supported field."
},
"status": {
"type": "string",
"description": "Comma-separated asset status values."
},
"orderBy": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Asset sort order."
},
"end_date": {
"type": "string",
"format": "date",
"description": "Asset created_at upper bound. Date in yyyy-MM-dd format."
},
"parent_id": {
"type": "string",
"description": "Parent folder id. Send `null` to browse the root level."
},
"start_date": {
"type": "string",
"format": "date",
"description": "Asset created_at lower bound. Date in yyyy-MM-dd format."
},
"playlist_id": {
"type": "string",
"description": "Filter assets to a playlist."
},
"searchIndex": {
"enum": [
"search_index_for_asset_list",
"cms-search",
"cms-search-v2"
],
"type": "string",
"description": "Search index used for asset title search."
},
"max_duration": {
"type": "number",
"description": "Maximum asset duration in seconds."
},
"min_duration": {
"type": "number",
"description": "Minimum asset duration in seconds."
},
"signed_token": {
"enum": [
"true",
"false"
],
"type": "string",
"default": "false",
"description": "Whether URLs should be pre-signed in the API response. Possible values: `true` and `false`. Default is `false`.",
"x-apidog-enum": [
{
"name": "",
"value": "true",
"description": ""
},
{
"name": "",
"value": "false",
"description": ""
}
]
},
"workspace_id": {
"type": "string",
"description": "Video workspace id."
}
}
}List all channel subscribers.
| Argument | Type | Description |
|---|---|---|
| page_size | integer | Number of items to return per page |
| page_number | integer | Page number to retrieve. Starts at 1. |
| workspace_id* | string | Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API. |
{
"type": "object",
"required": [
"workspace_id"
],
"properties": {
"page_size": {
"type": "integer",
"default": 10,
"minimum": 1,
"multipleOf": 1,
"description": "Number of items to return per page"
},
"page_number": {
"type": "integer",
"default": 1,
"minimum": 1,
"multipleOf": 1,
"description": "Page number to retrieve. Starts at 1."
},
"workspace_id": {
"type": "string",
"description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API."
}
}
}List folders for a video workspace. Use `parent_id` to list only folders inside a specific parent folder.
| Argument | Type | Description |
|---|---|---|
| parent_id | string | Parent folder id. Send `null` to list root folders. |
| workspace_id* | string | Video workspace id. |
{
"type": "object",
"required": [
"workspace_id"
],
"properties": {
"parent_id": {
"type": "string",
"description": "Parent folder id. Send `null` to list root folders."
},
"workspace_id": {
"type": "string",
"description": "Video workspace id."
}
}
}Liost all invoices that are generated so far.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}List all live stream workspaces.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}This endpoint retrieves the details of all profiles that have previously been created.
| Argument | Type | Description |
|---|---|---|
| size | integer | Page size for the paginated list. **Default: `10`** |
| offset | integer | Offset value for a paginated list of profiles. Can be zero for the first time and `current_offset` value received from the last request afterwards. |
{
"type": "object",
"required": [],
"properties": {
"size": {
"type": "integer",
"format": "int32",
"description": "Page size for the paginated list. **Default: `10`**"
},
"offset": {
"type": "integer",
"format": "int32",
"description": "Offset value for a paginated list of profiles. Can be zero for the first time and `current_offset` value received from the last request afterwards."
}
}
}List all assets in a recycle bin for a given workspace. The deleted assets are available for 30 days. After that, assets are permanently deleted.
| Argument | Type | Description |
|---|---|---|
| size | integer | Number of items to return for a single page. |
| offset | integer | Number of items to skip from start of page response. |
| workspace_id* | string | ID of workspace for which you want to list the recycle bin items. |
{
"type": "object",
"required": [
"workspace_id"
],
"properties": {
"size": {
"type": "integer",
"default": 20,
"minimum": 10,
"description": "Number of items to return for a single page."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Number of items to skip from start of page response."
},
"workspace_id": {
"type": "string",
"description": "ID of workspace for which you want to list the recycle bin items."
}
}
}List official Gumlet client SDKs so agents can discover them. Python: pip install gumlet (https://pypi.org/project/gumlet/). Node.js: npm install @gumlet/nodejs-sdk (https://www.npmjs.com/package/@gumlet/nodejs-sdk). Use this when the user wants to integrate Gumlet in application code. Do not use this to call the live Gumlet API; use the API tools instead.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}This endpoint list image sources which are assigned to the user or token.
| Argument | Type | Description |
|---|---|---|
| size | integer | Results per page. |
| offset | integer | Skip number of items. Helpful for pagination. |
{
"type": "object",
"required": [],
"properties": {
"size": {
"type": "integer",
"default": 20,
"description": "Results per page."
},
"offset": {
"type": "integer",
"default": 0,
"description": "Skip number of items. Helpful for pagination."
}
}
}List all webhooks.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}This endpoint list video workspace which are assigned to the user or token.
| Argument | Type | Description |
|---|---|---|
| size | string | Number of workspace to return in single response. |
| offset | string | Number of workspaces to skip. For example if you need to list 11 to 20th workspaces, pass offset as 10 and size as 10. |
{
"type": "object",
"required": [],
"properties": {
"size": {
"type": "string",
"default": "10",
"description": "Number of workspace to return in single response."
},
"offset": {
"type": "string",
"default": "0",
"description": "Number of workspaces to skip. For example if you need to list 11 to 20th workspaces, pass offset as 10 and size as 10."
}
}
}Get usage analytics for your live streams.
| Argument | Type | Description |
|---|---|---|
| metrics | array | List of metrics required in response |
| group_by | string | Group the data either weekly, daily or monthly |
| date_range | object |
{
"type": "object",
"required": [],
"properties": {
"metrics": {
"type": "array",
"items": {
"enum": [
"bandwidth_consumption",
"asset_duration",
"storage_unit"
],
"type": "string",
"x-apidog-enum": [
{
"name": "",
"value": "bandwidth_consumption",
"description": ""
},
{
"name": "",
"value": "asset_duration",
"description": ""
},
{
"name": "",
"value": "storage_unit",
"description": ""
}
]
},
"description": "List of metrics required in response"
},
"group_by": {
"enum": [
"daily",
"weekly",
"monthly"
],
"type": "string",
"description": "Group the data either weekly, daily or monthly",
"x-apidog-enum": [
{
"name": "",
"value": "daily",
"description": ""
},
{
"name": "",
"value": "weekly",
"description": ""
},
{
"name": "",
"value": "monthly",
"description": ""
}
]
},
"date_range": {
"type": "object",
"required": [
"start_at",
"end_at"
],
"properties": {
"end_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
},
"start_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
}
},
"x-apidog-orders": [
"start_at",
"end_at"
]
}
}
}Create live stream workspace.
| Argument | Type | Description |
|---|---|---|
| name | string | Collection name |
{
"type": "object",
"required": [],
"properties": {
"name": {
"type": "string",
"description": "Collection name"
}
}
}Delete the live stream workspace.
| Argument | Type | Description |
|---|---|---|
| live_workspace_id* | string | Live stream workspace ID. |
{
"type": "object",
"required": [
"live_workspace_id"
],
"properties": {
"live_workspace_id": {
"type": "string",
"description": "Live stream workspace ID."
}
}
}Update live stream workspace.
| Argument | Type | Description |
|---|---|---|
| name | string | Live stream collection name |
| video_source_id | string | Video on demand workspace ID |
| live_workspace_id* | string | Live stream workspace ID. |
{
"type": "object",
"required": [
"live_workspace_id"
],
"properties": {
"name": {
"type": "string",
"description": "Live stream collection name"
},
"video_source_id": {
"type": "string",
"description": "Video on demand workspace ID"
},
"live_workspace_id": {
"type": "string",
"description": "Live stream workspace ID."
}
}
}This call aborts multi-part upload and deletes the already uploaded parts from the storage.
| Argument | Type | Description |
|---|---|---|
| body | object | |
| asset_id* | string | An asset id for the asset. |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"body": {
"type": "object",
"properties": {}
},
"asset_id": {
"type": "string",
"description": "An asset id for the asset."
}
}
}Lists all parts uploaded so far.
| Argument | Type | Description |
|---|---|---|
| body | object | |
| asset_id* | string | An asset id for the asset. |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"body": {
"type": "object",
"properties": {}
},
"asset_id": {
"type": "string",
"description": "An asset id for the asset."
}
}
}You can purge cache for any image by using our cache purge API.
| Argument | Type | Description |
|---|---|---|
| paths | array | An array of path of images to purge. It should be provided without any query parameters. |
| subdomain* | string | Subdomain is same subdomain you created while creating source. If you serve image from example.gumlet.com, please enter only 'example' for this parameter. |
{
"type": "object",
"required": [
"subdomain"
],
"properties": {
"paths": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of path of images to purge. It should be provided without any query parameters."
},
"subdomain": {
"type": "string",
"description": "Subdomain is same subdomain you created while creating source. If you serve image from example.gumlet.com, please enter only 'example' for this parameter."
}
}
}Recovers a deleted asset from the recycle bin.
| Argument | Type | Description |
|---|---|---|
| asset_id | string | Gumlet Video Asset Id which needs to be recovered. |
{
"type": "object",
"required": [],
"properties": {
"asset_id": {
"type": "string",
"description": "Gumlet Video Asset Id which needs to be recovered."
}
}
}Removed an asset or list of assets from a given playlist.
| Argument | Type | Description |
|---|---|---|
| delete_list | array | Array of video asset ids to delete |
| playlist_id* | string | Playlist ID that is to be deleted. |
{
"type": "object",
"required": [
"playlist_id"
],
"properties": {
"delete_list": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of video asset ids to delete"
},
"playlist_id": {
"type": "string",
"description": "Playlist ID that is to be deleted."
}
}
}Remove one or more assets from their current folder assignment inside the workspace.
| Argument | Type | Description |
|---|---|---|
| asset_ids | array | |
| workspace_id* | string | Video workspace id. |
{
"type": "object",
"required": [
"workspace_id"
],
"properties": {
"asset_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"workspace_id": {
"type": "string",
"description": "Video workspace id."
}
}
}Remove one or more viewers from a channel by email address.
| Argument | Type | Description |
|---|---|---|
| emails* | array | Email addresses of viewers to remove. A maximum of 200 viewers can be removed in one request. |
| video_workspace_id* | string | Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API. |
{
"type": "object",
"required": [
"video_workspace_id",
"emails"
],
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"format": "email"
},
"maxItems": 200,
"description": "Email addresses of viewers to remove. A maximum of 200 viewers can be removed in one request."
},
"video_workspace_id": {
"type": "string",
"description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API."
}
}
}Reorder videos inside a playlist either by moving a single asset to a position or by sorting the playlist by title or created date.
| Argument | Type | Description |
|---|---|---|
| body | any | |
| playlist_id* | string | Playlist id. |
{
"type": "object",
"required": [
"playlist_id"
],
"properties": {
"body": {
"anyOf": [
{
"type": "object",
"required": [
"asset_id",
"page_number",
"page_size",
"asset_position"
],
"properties": {
"asset_id": {
"type": "string",
"description": "Asset id to move."
},
"page_size": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Playlist page size used by the caller."
},
"page_number": {
"type": "integer",
"minimum": 1,
"description": "Current playlist page number."
},
"asset_position": {
"type": "integer",
"minimum": 0,
"description": "Zero-based position inside the provided page."
}
}
},
{
"type": "object",
"required": [
"sort_by",
"sort_order"
],
"properties": {
"sort_by": {
"enum": [
"title",
"created_at"
],
"type": "string"
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string"
}
}
}
]
},
"playlist_id": {
"type": "string",
"description": "Playlist id."
}
}
}This endpoint gives usage analytics data of your videos. Ex - top assets, bandwidth consumption
| Argument | Type | Description |
|---|---|---|
| filters | object | |
| metrics | array | Define the metric you need the data for. Supported values: `bandwidth_consumption`, `asset_duration`, `storage_unit`, `top_assets`, `drm_requests`, `ai_credit_usage`, and `errored_videos`. |
| group_by | string | Group by hourly, daily or monthly. If you don't specify anything it's `hourly` by default. |
| date_range | object | The timeframe to get the data for. Currently we only support a maximum of 60 days between `start_at` and `end_at`. |
| top_assets_page | string | top_assets metric may get paginated response. Iterate this parameter to get more data. |
| top_assets_count | string | Count of video assets that should be returned. Max assets count is 1000 per page. |
{
"type": "object",
"required": [],
"properties": {
"filters": {
"type": "object",
"properties": {
"source_id": {
"type": "string",
"description": "The ID of the `workspace` you want to filter the data for. Deprecated."
},
"collection_id": {
"type": "string",
"description": "The ID of the `workspace` you want to filter the data for."
}
},
"x-apidog-orders": [
"collection_id",
"source_id"
]
},
"metrics": {
"type": "array",
"items": {
"enum": [
"bandwidth_consumption",
"asset_duration",
"storage_unit",
"top_assets",
"drm_requests",
"ai_credit_usage",
"errored_videos"
],
"type": "string",
"x-apidog-enum": [
{
"name": "",
"value": "bandwidth_consumption",
"description": ""
},
{
"name": "",
"value": "asset_duration",
"description": ""
},
{
"name": "",
"value": "storage_unit",
"description": ""
},
{
"name": "",
"value": "top_assets",
"description": ""
},
{
"name": "",
"value": "drm_requests",
"description": ""
},
{
"name": "",
"value": "ai_credit_usage",
"description": ""
},
{
"name": "",
"value": "errored_videos",
"description": ""
}
]
},
"description": "Define the metric you need the data for. Supported values: `bandwidth_consumption`, `asset_duration`, `storage_unit`, `top_assets`, `drm_requests`, `ai_credit_usage`, and `errored_videos`."
},
"group_by": {
"enum": [
"hourly",
"daily",
"monthly"
],
"type": "string",
"default": "hourly",
"description": "Group by hourly, daily or monthly. If you don't specify anything it's `hourly` by default.",
"x-apidog-enum": [
{
"name": "",
"value": "hourly",
"description": ""
},
{
"name": "",
"value": "daily",
"description": ""
},
{
"name": "",
"value": "monthly",
"description": ""
}
]
},
"date_range": {
"type": "object",
"required": [
"start_at",
"end_at"
],
"properties": {
"end_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
},
"start_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
}
},
"description": "The timeframe to get the data for. Currently we only support a maximum of 60 days between `start_at` and `end_at`.",
"x-apidog-orders": [
"start_at",
"end_at"
]
},
"top_assets_page": {
"type": "string",
"default": "0",
"description": "top_assets metric may get paginated response. Iterate this parameter to get more data."
},
"top_assets_count": {
"type": "string",
"default": "5",
"description": "Count of video assets that should be returned. Max assets count is 1000 per page."
}
}
}This endpoint helps you get image analytics data like bandwidth consumption, request count, CDN hit ratio, etc.
| Argument | Type | Description |
|---|---|---|
| filters | object | |
| metrics | array | Define the metric you need the data for. Supported values: `bandwidth_consumption`, `requests_count`, `transformations_count`, `bandwidth_savings`, `origin_hit_rate`, `avg_transformation_response_time`, `status_4xx`, `status_5xx`, `cdn_hit_rate`, `content_type`, `status_2xx`, `avg_response_time`, `top_assets`, `bandwidth_consumption_by_source`, and `ai_credit_usage`. |
| group_by | string | |
| date_range | object | The timeframe to get the data for. Currently we only support a maximum of 30 days between `start_at` and `end_at`. |
{
"type": "object",
"required": [],
"properties": {
"filters": {
"type": "object",
"properties": {
"source_id": {
"type": "string",
"description": "Source ID"
}
},
"x-apidog-orders": [
"source_id"
]
},
"metrics": {
"type": "array",
"items": {
"enum": [
"bandwidth_consumption",
"requests_count",
"transformations_count",
"bandwidth_savings",
"origin_hit_rate",
"avg_transformation_response_time",
"status_4xx",
"status_5xx",
"cdn_hit_rate",
"content_type",
"status_2xx",
"avg_response_time",
"top_assets",
"bandwidth_consumption_by_source",
"ai_credit_usage"
],
"type": "string",
"x-apidog-enum": [
{
"name": "",
"value": "bandwidth_consumption",
"description": ""
},
{
"name": "",
"value": "requests_count",
"description": ""
},
{
"name": "",
"value": "transformations_count",
"description": ""
},
{
"name": "",
"value": "bandwidth_savings",
"description": ""
},
{
"name": "",
"value": "origin_hit_rate",
"description": ""
},
{
"name": "",
"value": "avg_transformation_response_time",
"description": ""
},
{
"name": "",
"value": "status_4xx",
"description": ""
},
{
"name": "",
"value": "status_5xx",
"description": ""
},
{
"name": "",
"value": "cdn_hit_rate",
"description": ""
},
{
"name": "",
"value": "content_type",
"description": ""
},
{
"name": "",
"value": "status_2xx",
"description": ""
},
{
"name": "",
"value": "avg_response_time",
"description": ""
},
{
"name": "",
"value": "top_assets",
"description": ""
},
{
"name": "",
"value": "bandwidth_consumption_by_source",
"description": ""
},
{
"name": "",
"value": "ai_credit_usage",
"description": ""
}
]
},
"description": "Define the metric you need the data for. Supported values: `bandwidth_consumption`, `requests_count`, `transformations_count`, `bandwidth_savings`, `origin_hit_rate`, `avg_transformation_response_time`, `status_4xx`, `status_5xx`, `cdn_hit_rate`, `content_type`, `status_2xx`, `avg_response_time`, `top_assets`, `bandwidth_consumption_by_source`, and `ai_credit_usage`."
},
"group_by": {
"enum": [
"daily",
"weekly",
"monthly",
"hourly"
],
"type": "string",
"default": "daily",
"x-apidog-enum": [
{
"name": "",
"value": "daily",
"description": ""
},
{
"name": "",
"value": "weekly",
"description": ""
},
{
"name": "",
"value": "monthly",
"description": ""
},
{
"name": "",
"value": "hourly",
"description": ""
}
]
},
"date_range": {
"type": "object",
"required": [
"start_at",
"end_at"
],
"properties": {
"end_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
},
"start_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
}
},
"description": "The timeframe to get the data for. Currently we only support a maximum of 30 days between `start_at` and `end_at`.",
"x-apidog-orders": [
"start_at",
"end_at"
]
}
}
}Use this endpoint to retrieve a pre-signed upload URL for the given part number.
| Argument | Type | Description |
|---|---|---|
| asset_id* | string | An asset id of the created asset for which you are uploading parts |
| part_number* | string | Part number of multiple parts of the original video which you you are uploading |
{
"type": "object",
"required": [
"asset_id",
"part_number"
],
"properties": {
"asset_id": {
"type": "string",
"description": "An asset id of the created asset for which you are uploading parts"
},
"part_number": {
"type": "string",
"description": "Part number of multiple parts of the original video which you you are uploading"
}
}
}Start a live stream.
| Argument | Type | Description |
|---|---|---|
| live_asset_id* | string | List asset id for which the stream needs to start. |
{
"type": "object",
"required": [
"live_asset_id"
],
"properties": {
"live_asset_id": {
"type": "string",
"description": "List asset id for which the stream needs to start."
}
}
}Select frame from video to use as thumbnail.
| Argument | Type | Description |
|---|---|---|
| asset_id* | string | Asset id of the video asset which needs to be deleted. |
| frame_at_second | number | Actual time in second at which thumbnail extraction needs to be done. It can be a fraction of a second as well |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"asset_id": {
"type": "string",
"description": "Asset id of the video asset which needs to be deleted."
},
"frame_at_second": {
"type": "number",
"description": "Actual time in second at which thumbnail extraction needs to be done. It can be a fraction of a second as well"
}
}
}Use any image file to use as thumbnail. Once you use the API, you will get `upload_url` in the response, and that can be used to upload the image file. Here is the sample curl request. ```bash curl --location --request PUT '<upload_url>' \ --data '<YOUR_FILE_PATH>' ```
| Argument | Type | Description |
|---|---|---|
| asset_ID* | string | An asset id for the previously created asset. |
{
"type": "object",
"required": [
"asset_ID"
],
"properties": {
"asset_ID": {
"type": "string",
"description": "An asset id for the previously created asset."
}
}
}Generate presigned upload URLs for live stream thumbnails. Supported thumbnail states are `preparing`, `disconnected`, and `end`.
| Argument | Type | Description |
|---|---|---|
| statuses | any | Thumbnail states to upload. You can send an array or a comma-separated string. |
| live_asset_id | string | Gumlet live video asset id. |
{
"type": "object",
"required": [],
"properties": {
"statuses": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"preparing",
"disconnected",
"end"
],
"type": "string"
}
},
{
"type": "string",
"example": "preparing,disconnected"
}
],
"description": "Thumbnail states to upload. You can send an array or a comma-separated string."
},
"live_asset_id": {
"type": "string",
"description": "Gumlet live video asset id."
}
}
}This endpoint lists top streamed assets in a video collection
| Argument | Type | Description |
|---|---|---|
| page | string | Page number of the response. |
| end_at* | string | Date in yyyy-MM-dd format |
| start_at* | string | Date in yyyy-MM-dd format |
| page_size | string | Assets to list per page. |
| collection_id | string | Gumlet workspace ID |
{
"type": "object",
"required": [
"start_at",
"end_at"
],
"properties": {
"page": {
"type": "string",
"default": "1",
"description": "Page number of the response."
},
"end_at": {
"type": "string",
"format": "date",
"examples": [
"2026-06-30"
],
"description": "Date in yyyy-MM-dd format"
},
"start_at": {
"type": "string",
"format": "date",
"examples": [
"2026-06-21"
],
"description": "Date in yyyy-MM-dd format"
},
"page_size": {
"type": "string",
"default": "1000",
"description": "Assets to list per page."
},
"collection_id": {
"type": "string",
"description": "Gumlet workspace ID"
}
}
}This endpoint allows users to update video asset that has previously been created.
| Argument | Type | Description |
|---|---|---|
| tag | string | Specify a text string or identifier which can identify an asset or bunch of assets later. You can pass multiple comma-separated values. |
| input | string | For replacing videos, pass this along with `asset_id` `{workspace_id}/{asset_id}/origin-{asset_id}` |
| title | string | Specify a text string or identifier which can be used for filtering or searching the asset. |
| asset_id | string | Asset ID to update. This is a required parameter. |
| metadata | string | Set of key-value pairs that you can attach to this Asset. This can be useful for storing additional information.<br/> Example: <br/> <code> { "internal_video_id" : "123Abc" } </code> |
| reprocess | boolean | To reprocess same video, pass this as true. |
| description | string | Attach some textual data with the asset. This field is neither searchable nor filterable. |
| call_to_actions | array | A CTA is an explicit prompt within the video content encouraging viewers to take a particular action. |
| remove_subtitles | array | Comma separated string of language codes. |
{
"type": "object",
"required": [],
"properties": {
"tag": {
"type": "string",
"description": "Specify a text string or identifier which can identify an asset or bunch of assets later. You can pass multiple comma-separated values."
},
"input": {
"type": "string",
"description": "For replacing videos, pass this along with `asset_id`\n\n`{workspace_id}/{asset_id}/origin-{asset_id}`"
},
"title": {
"type": "string",
"description": "Specify a text string or identifier which can be used for filtering or searching the asset."
},
"asset_id": {
"type": "string",
"description": "Asset ID to update. This is a required parameter."
},
"metadata": {
"type": "string",
"format": "json",
"description": "Set of key-value pairs that you can attach to this Asset. This can be useful for storing additional information.<br/> Example: <br/> <code> { \"internal_video_id\" : \"123Abc\" } </code>"
},
"reprocess": {
"type": "boolean",
"description": "To reprocess same video, pass this as true."
},
"description": {
"type": "string",
"description": "Attach some textual data with the asset. This field is neither searchable nor filterable."
},
"call_to_actions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"text": {
"type": "string"
},
"end_time": {
"type": "integer",
"format": "int32"
},
"font_color": {
"type": "string",
"description": "hex value of color"
},
"start_time": {
"type": "integer",
"format": "int32"
},
"background_color": {
"type": "string",
"description": "hex code of color"
},
"position_from_top": {
"type": "integer",
"format": "int32",
"description": "number of pixels from top"
},
"position_from_right": {
"type": "string",
"description": "number of pixels from right"
}
},
"x-apidog-orders": [
"text",
"url",
"start_time",
"end_time",
"font_color",
"background_color",
"position_from_top",
"position_from_right"
]
},
"description": "A CTA is an explicit prompt within the video content encouraging viewers to take a particular action."
},
"remove_subtitles": {
"type": "array",
"items": {
"type": "string"
},
"description": "Comma separated string of language codes."
}
}
}Update billing details
| Argument | Type | Description |
|---|---|---|
| city | string | Name of the city |
| postal | string | Postal code of the company |
| gst_number | string | GST / VAT details of the company |
| state_code | string | ISO code of the state / region |
| address_line | string | Address line 1 |
| company_name | string | Company name |
| country_code | string | ISO country code |
{
"type": "object",
"required": [],
"properties": {
"city": {
"type": "string",
"description": "Name of the city"
},
"postal": {
"type": "string",
"description": "Postal code of the company"
},
"gst_number": {
"type": "string",
"description": "GST / VAT details of the company"
},
"state_code": {
"type": "string",
"description": "ISO code of the state / region"
},
"address_line": {
"type": "string",
"description": "Address line 1"
},
"company_name": {
"type": "string",
"description": "Company name"
},
"country_code": {
"type": "string",
"description": "ISO country code"
}
}
}Rename a folder, move it to another parent folder, or move assets into the folder by sending `asset_ids`.
| Argument | Type | Description |
|---|---|---|
| name | string | New folder name. |
| asset_ids | array | Asset ids to move into this folder. |
| folder_id* | string | Folder id. |
| parent_id | string | null | New parent folder id. Send `null` to move the folder to the root level. |
| workspace_id* | string | Video workspace id. |
{
"type": "object",
"required": [
"workspace_id",
"folder_id"
],
"properties": {
"name": {
"type": "string",
"description": "New folder name."
},
"asset_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Asset ids to move into this folder."
},
"folder_id": {
"type": "string",
"description": "Folder id."
},
"parent_id": {
"type": [
"string",
"null"
],
"description": "New parent folder id. Send `null` to move the folder to the root level."
},
"workspace_id": {
"type": "string",
"description": "Video workspace id."
}
}
}Update settings on an image source that already exists. This does not create a source or purge cached images.
| Argument | Type | Description |
|---|---|---|
| aws | object | This is a required field if source type is aws. |
| gcs | object | This is a required field if source type is gcs. |
| type | string | |
| azure | object | This is a required field if source type is azure. |
| cname | array | List of verified CNAMEs |
| proxy | object | This is a required field if source type is proxy. |
| linode | object | This is a required field if source type is linode. |
| wasabi | object | This is a required field if source type is wasabi. |
| backblaze | object | This is a required field if source type is backblaze. |
| dostorage | object | This is a required field if source type is dostorage. |
| is_active | boolean | Enable / disable source. |
| webfolder | object | This is a required field if source type is webfolder. |
| cloudflare | object | This is a required field if source type is cloudflare. |
| cloudinary | object | This is a required field if source type is cloudinary. |
| temp_cname | array | |
| error_image | string | URL for error image to display when we get broken image from your origin. |
| secure_urls | boolean | Whether the URL signing is enabled |
| cdn_cache_time | integer | CDN cache time in seconds. |
| default_params | object | |
| image_source_id* | string | image source id which you want to update |
| request_headers | array | |
| fallback_origins | array | List of fallback origins |
| response_headers | array | |
| browser_cache_time | integer | Browser cache time in seconds. For example setting this to 3600 caches the image in browser for 3600 seconds (1 hour) |
{
"type": "object",
"required": [
"image_source_id"
],
"properties": {
"aws": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"endpoint": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is aws.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path",
"endpoint"
]
},
"gcs": {
"type": "object",
"required": [
"bucket_name",
"service_account_key"
],
"properties": {
"bucket_name": {
"type": "string"
},
"service_account_key": {
"type": "string"
}
},
"description": "This is a required field if source type is gcs.",
"x-apidog-orders": [
"bucket_name",
"service_account_key"
]
},
"type": {
"enum": [
"proxy",
"direct-upload",
"webfolder",
"aws",
"gcs",
"dostorage",
"wasabi",
"cloudinary",
"azure",
"linode",
"backblaze",
"cloudflare",
"imgix",
"wordpress",
"hetzner"
],
"type": "string",
"x-apidog-enum": [
{
"name": "",
"value": "proxy",
"description": ""
},
{
"name": "",
"value": "direct-upload",
"description": ""
},
{
"name": "",
"value": "webfolder",
"description": ""
},
{
"name": "",
"value": "aws",
"description": ""
},
{
"name": "",
"value": "gcs",
"description": ""
},
{
"name": "",
"value": "dostorage",
"description": ""
},
{
"name": "",
"value": "wasabi",
"description": ""
},
{
"name": "",
"value": "cloudinary",
"description": ""
},
{
"name": "",
"value": "azure",
"description": ""
},
{
"name": "",
"value": "linode",
"description": ""
},
{
"name": "",
"value": "backblaze",
"description": ""
},
{
"name": "",
"value": "cloudflare",
"description": ""
},
{
"name": "",
"value": "imgix",
"description": ""
},
{
"name": "",
"value": "wordpress",
"description": ""
},
{
"name": "",
"value": "hetzner",
"description": ""
}
]
},
"azure": {
"type": "object",
"required": [
"azure_account_name",
"azure_container_name",
"azure_shared_token",
"azure_path"
],
"properties": {
"azure_path": {
"type": "string"
},
"azure_account_name": {
"type": "string"
},
"azure_shared_token": {
"type": "string"
},
"azure_container_name": {
"type": "string"
}
},
"description": "This is a required field if source type is azure.",
"x-apidog-orders": [
"azure_account_name",
"azure_container_name",
"azure_shared_token",
"azure_path"
]
},
"cname": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of verified CNAMEs"
},
"proxy": {
"type": "object",
"required": [
"whitelisted_domains"
],
"properties": {
"whitelisted_domains": {
"type": "string"
}
},
"description": "This is a required field if source type is proxy.",
"x-apidog-orders": [
"whitelisted_domains"
]
},
"linode": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is linode.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
]
},
"wasabi": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is wasabi.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path"
]
},
"backblaze": {
"type": "object",
"required": [
"bucket_name",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"endpoint": {
"type": "string",
"description": "bucket_region or endpoint"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string",
"description": "bucket_region or endpoint"
}
},
"description": "This is a required field if source type is backblaze.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"endpoint",
"access_key",
"secret",
"base_path"
]
},
"dostorage": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is dostorage.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path"
]
},
"is_active": {
"type": "boolean",
"description": "Enable / disable source.",
"x-stoplight": {
"id": "l0wilhnm9rcwn"
}
},
"webfolder": {
"type": "object",
"properties": {
"base_url": {
"type": "string"
}
},
"description": "This is a required field if source type is webfolder.",
"x-apidog-orders": [
"base_url"
]
},
"cloudflare": {
"type": "object",
"required": [
"bucket_name",
"access_key",
"account_id",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"account_id": {
"type": "string"
},
"bucket_name": {
"type": "string"
}
},
"description": "This is a required field if source type is cloudflare.",
"x-apidog-orders": [
"bucket_name",
"access_key",
"account_id",
"secret",
"base_path"
]
},
"cloudinary": {
"type": "object",
"required": [
"host_name",
"cloud_name"
],
"properties": {
"host_name": {
"type": "string"
},
"cloud_name": {
"type": "string"
}
},
"description": "This is a required field if source type is cloudinary.",
"x-apidog-orders": [
"host_name",
"cloud_name"
]
},
"temp_cname": {
"type": "array",
"items": {
"type": "string",
"x-stoplight": {
"id": "uiq0l25kmsvrr"
}
},
"x-stoplight": {
"id": "nycpttbt3ubkv"
}
},
"error_image": {
"type": "string",
"description": "URL for error image to display when we get broken image from your origin.",
"x-stoplight": {
"id": "vsfn5j2zepna2"
}
},
"secure_urls": {
"type": "boolean",
"description": "Whether the URL signing is enabled"
},
"cdn_cache_time": {
"type": "integer",
"format": "int32",
"description": "CDN cache time in seconds.",
"x-stoplight": {
"id": "9g2k0iyj9vq86"
}
},
"default_params": {
"type": "object",
"properties": {},
"x-stoplight": {
"id": "uevurxwukxwph"
},
"x-apidog-orders": []
},
"image_source_id": {
"type": "string",
"description": "image source id which you want to update"
},
"request_headers": {
"type": "array",
"items": {
"type": "object",
"properties": {},
"x-stoplight": {
"id": "b4zme1scx0vau"
},
"x-apidog-orders": []
},
"x-stoplight": {
"id": "jfv8jngxfn44y"
}
},
"fallback_origins": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"type"
],
"properties": {
"aws": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"endpoint": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is aws.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path",
"endpoint"
]
},
"gcs": {
"type": "object",
"required": [
"bucket_name",
"service_account_key"
],
"properties": {
"bucket_name": {
"type": "string"
},
"service_account_key": {
"type": "string"
}
},
"description": "This is a required field if source type is gcs.",
"x-apidog-orders": [
"bucket_name",
"service_account_key"
]
},
"name": {
"type": "string",
"description": "Name of fallback"
},
"type": {
"enum": [
"dostorage",
"aws",
"wasabi",
"hetzner",
"backblaze",
"webfolder",
"gcs",
"azure",
"cloudflare",
"imgix",
"cloudinary",
"proxy",
"wordpress",
"linode"
],
"type": "string",
"description": "Type of fallback origin",
"x-apidog-enum": [
{
"name": "",
"value": "proxy",
"description": ""
}
]
},
"azure": {
"type": "object",
"required": [
"azure_account_name",
"azure_container_name",
"azure_shared_token",
"azure_path"
],
"properties": {
"azure_path": {
"type": "string"
},
"azure_account_name": {
"type": "string"
},
"azure_shared_token": {
"type": "string"
},
"azure_container_name": {
"type": "string"
}
},
"description": "This is a required field if source type is azure.",
"x-apidog-orders": [
"azure_account_name",
"azure_container_name",
"azure_shared_token",
"azure_path"
]
},
"proxy": {
"type": "object",
"required": [
"whitelisted_domains"
],
"properties": {
"whitelisted_domains": {
"type": "string"
}
},
"description": "This is a required field if source type is proxy.",
"x-apidog-orders": [
"whitelisted_domains"
]
},
"linode": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is linode.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
]
},
"wasabi": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is wasabi.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path"
]
},
"backblaze": {
"type": "object",
"required": [
"bucket_name",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"endpoint": {
"type": "string",
"description": "bucket_region or endpoint"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string",
"description": "bucket_region or endpoint"
}
},
"description": "This is a required field if source type is backblaze.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"endpoint",
"access_key",
"secret",
"base_path"
]
},
"dostorage": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if source type is dostorage.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path"
]
},
"webfolder": {
"type": "object",
"properties": {
"base_url": {
"type": "string"
}
},
"description": "This is a required field if source type is webfolder.",
"x-apidog-orders": [
"base_url"
]
},
"cloudflare": {
"type": "object",
"required": [
"bucket_name",
"access_key",
"account_id",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"account_id": {
"type": "string"
},
"bucket_name": {
"type": "string"
}
},
"description": "This is a required field if source type is cloudflare.",
"x-apidog-orders": [
"bucket_name",
"access_key",
"account_id",
"secret",
"base_path"
]
},
"cloudinary": {
"type": "object",
"required": [
"host_name",
"cloud_name"
],
"properties": {
"host_name": {
"type": "string"
},
"cloud_name": {
"type": "string"
}
},
"description": "This is a required field if source type is cloudinary.",
"x-apidog-orders": [
"host_name",
"cloud_name"
]
},
"conditions": {
"type": "array",
"items": {
"type": "object",
"required": [
"function",
"value"
],
"properties": {
"value": {
"type": "string"
},
"function": {
"type": "string"
}
},
"x-apidog-orders": [
"function",
"value"
]
}
},
"replace_operation": {
"type": "object",
"properties": {
"to": {
"type": "string"
},
"from": {
"type": "string"
}
},
"x-apidog-orders": [
"from",
"to"
]
}
},
"x-apidog-orders": [
"conditions",
"name",
"replace_operation",
"type",
"webfolder",
"aws",
"proxy",
"gcs",
"dostorage",
"wasabi",
"linode",
"backblaze",
"cloudflare",
"cloudinary",
"azure"
]
},
"description": "List of fallback origins"
},
"response_headers": {
"type": "array",
"items": {
"type": "object",
"properties": {},
"x-stoplight": {
"id": "h991rmiuuck50"
},
"x-apidog-orders": []
},
"x-stoplight": {
"id": "3c37705m1vqtv"
}
},
"browser_cache_time": {
"type": "integer",
"format": "int32",
"description": "Browser cache time in seconds. For example setting this to 3600 caches the image in browser for 3600 seconds (1 hour)",
"x-stoplight": {
"id": "xfsu66pc7m5ok"
}
}
}
}A live asset refers to media content/video that is live-streamed through Gumlet. This endpoint allows users to update a live streaming asset.
| Argument | Type | Description |
|---|---|---|
| title | string | Your live stream asset title |
| start_at | string | |
| live_asset_id | string | Gumlet live video asset id. |
{
"type": "object",
"required": [],
"properties": {
"title": {
"type": "string",
"description": "Your live stream asset title"
},
"start_at": {
"type": "string",
"format": "date-time",
"description": ""
},
"live_asset_id": {
"type": "string",
"description": "Gumlet live video asset id."
}
}
}This endpoint allows you to update playlist name, channel visibility, or playlist order on a channel page.
| Argument | Type | Description |
|---|---|---|
| title | string | Playlist title |
| position | integer | Playlists have order in which they will be shown on the channel page. |
| description | string | Playlist description |
| playlist_id* | string | ID for the playlist to update. |
| player_config | object | Configure player settings for this playlist, it overrides the setting set on collection. |
| channel_visibility | boolean | If true then playlist will be visible on channel page. |
{
"type": "object",
"required": [
"playlist_id"
],
"properties": {
"title": {
"type": "string",
"description": "Playlist title"
},
"position": {
"type": "integer",
"format": "int32",
"description": "Playlists have order in which they will be shown on the channel page."
},
"description": {
"type": "string",
"description": "Playlist description"
},
"playlist_id": {
"type": "string",
"description": "ID for the playlist to update."
},
"player_config": {
"type": "object",
"properties": {
"loop": {
"type": "boolean"
},
"preload": {
"type": "boolean"
},
"autoplay": {
"type": "boolean"
},
"logo_width": {
"type": "integer",
"format": "int32"
},
"pixel_tags": {
"type": "object",
"properties": {},
"x-apidog-orders": []
},
"include_seo": {
"type": "boolean"
},
"logo_height": {
"type": "integer",
"format": "int32"
},
"disable_seek": {
"type": "boolean"
},
"player_color": {
"type": "string"
},
"subtitle_enabled": {
"type": "boolean"
},
"dynamic_watermark": {
"type": "boolean"
},
"watermark_bg_color": {
"type": "string"
},
"watermark_interval": {
"type": "integer",
"format": "int32"
},
"watermark_font_size": {
"type": "integer",
"format": "int32"
},
"watermark_font_color": {
"type": "string"
},
"disable_player_controls": {
"type": "boolean"
},
"powered_by_gumlet_overlay": {
"type": "boolean"
},
"allow_drm_protected_videos": {
"type": "boolean"
}
},
"description": "Configure player settings for this playlist, it overrides the setting set on collection.",
"x-apidog-orders": [
"preload",
"autoplay",
"disable_seek",
"disable_player_controls",
"powered_by_gumlet_overlay",
"allow_drm_protected_videos",
"loop",
"player_color",
"include_seo",
"subtitle_enabled",
"pixel_tags",
"logo_width",
"logo_height",
"dynamic_watermark",
"watermark_font_size",
"watermark_font_color",
"watermark_bg_color",
"watermark_interval"
]
},
"channel_visibility": {
"type": "boolean",
"default": false,
"description": "If true then playlist will be visible on channel page."
}
}
}Update an existing profile. Settings provided in body parameters will only be updated in the existing profile.
| Argument | Type | Description |
|---|---|---|
| vc | array | Video Codecs |
| pad | object | This transformation can be used to add padding to the video. |
| crop | object | This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video. |
| name | string | Profile name or identifier. |
| trim | object | Trim transformation can be used to trim videos based on time duration. |
| width | string | Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Only applicable when specified `format` is `MP4`. |
| format | string | Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`. |
| height | string | Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Only applicable when specified `format` is `MP4`. |
| audio_only | boolean | This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case,This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`** |
| enable_drm | boolean | Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs. |
| mp4_access | boolean | Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`** |
| profile_id | string | Profile id of the profile which needs to be deleted. |
| resolution | string | Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Only applicable when specified `format` is `MP4`. |
| transcribe | boolean | To generate the subtitles in the native audio. |
| animated_gif | object | Create an animated GIF from a video. |
| text_overlay | object | Text overlay can be used to brand a video or add a label in the form of text. |
| image_overlay | object | Image overlay can be used to brand a video or add a visual label in the form of an image. |
| profile_id__path* | string | Profile id of the profile which need to be updated. (Path parameter) |
| generate_chapters | boolean | Whether Gumlet should generate chapters. |
| generate_subtitles | object | Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes). You can remove this object if you don't want to generate AI subtitles. |
| per_title_encoding | boolean | Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`** |
| generate_description | boolean | Whether Gumlet should generate descriptions. |
| process_low_resolution_input | boolean | Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`** |
{
"type": "object",
"required": [
"profile_id__path"
],
"properties": {
"vc": {
"type": "array",
"items": {
"enum": [
"libx264",
"libsvtav1"
],
"type": "string"
},
"default": [
"libx264"
],
"description": "Video Codecs"
},
"pad": {
"type": "object",
"properties": {
"top": {
"type": "string",
"description": "Width of padding on the top side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
},
"left": {
"type": "string",
"description": "Width of padding on the left side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
},
"color": {
"type": "string",
"description": "Color of padding area. **Default: `black`**"
},
"right": {
"type": "string",
"description": "Width of padding on the right side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
},
"bottom": {
"type": "string",
"description": "Width of padding on the bottom side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
}
},
"description": "This transformation can be used to add padding to the video.",
"x-apidog-orders": [
"top",
"left",
"bottom",
"right",
"color"
]
},
"crop": {
"type": "object",
"required": [
"width",
"height"
],
"properties": {
"width": {
"type": "string",
"description": "Width of the cropping area in pixels."
},
"height": {
"type": "string",
"description": "Height of the cropping area in pixels."
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
}
},
"description": "This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video.",
"x-apidog-orders": [
"horizontal_margin",
"vertical_margin",
"width",
"height"
]
},
"name": {
"type": "string",
"description": "Profile name or identifier."
},
"trim": {
"type": "object",
"required": [
"start_offset",
"end_offset"
],
"properties": {
"duration": {
"type": "number",
"format": "float",
"description": "Duration can be used in conjunction with `start_offset` parameter, can be specified in number of seconds."
},
"end_offset": {
"type": "number",
"format": "float",
"description": "End offset in number of seconds or in `HH:MM:SS` format."
},
"start_offset": {
"type": "number",
"format": "float",
"description": "Start offset in number of seconds or in `HH:MM:SS` format."
}
},
"description": "Trim transformation can be used to trim videos based on time duration.",
"x-apidog-orders": [
"start_offset",
"end_offset",
"duration"
]
},
"width": {
"type": "string",
"description": "Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Only applicable when specified `format` is `MP4`."
},
"format": {
"enum": [
"ABR",
"MP4"
],
"type": "string",
"default": "ABR",
"description": "Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`."
},
"height": {
"type": "string",
"description": "Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Only applicable when specified `format` is `MP4`."
},
"audio_only": {
"type": "boolean",
"description": "This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case,This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`**"
},
"enable_drm": {
"type": "boolean",
"description": "Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs."
},
"mp4_access": {
"type": "boolean",
"description": "Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**"
},
"profile_id": {
"type": "string",
"description": "Profile id of the profile which needs to be deleted."
},
"resolution": {
"type": "string",
"description": "Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Only applicable when specified `format` is `MP4`."
},
"transcribe": {
"type": "boolean",
"default": false,
"description": "To generate the subtitles in the native audio."
},
"animated_gif": {
"type": "object",
"properties": {
"fps": {
"type": "string",
"description": "The frame rate of the generated GIF. Defaults to `15` fps. Max `30` fps."
},
"width": {
"type": "string",
"description": "The width in pixels (or in percentage value of asset width) of the animated GIF. Max width is `640px`."
},
"height": {
"type": "string",
"description": "The height in pixels (or in percentage value of asset height) of the animated GIF. Max height is `640px`."
},
"end_offset": {
"type": "string",
"description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the GIF ends. Defaults to `10` seconds after the start_offset. Maximum duration of GIF is limited to `10` seconds."
},
"start_offset": {
"type": "string",
"description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the animated gif should begin. **Default: `0`**"
}
},
"description": "Create an animated GIF from a video.",
"x-apidog-orders": [
"start_offset",
"end_offset",
"width",
"height",
"fps"
]
},
"text_overlay": {
"type": "object",
"required": [
"text"
],
"properties": {
"box": {
"type": "boolean",
"description": "This parameter allows drawing a rectangular box over the overlaid text. **Default: `false`**"
},
"font": {
"type": "string",
"description": "Font family type for text. **Default: `sans`**"
},
"text": {
"type": "string",
"description": "Text to be overlaid on video."
},
"color": {
"type": "string",
"description": "Font color for text. **Default: `black`**"
},
"opacity": {
"type": "string",
"description": "Overlay text opacity can be specified with opacity parameter where value can be between `0` and `100` where `0` is considered completely transparent and `100` is considered completely opaque. **Default: `100`**"
},
"box_color": {
"type": "string",
"description": "Box color can be specified with this parameter. **Default: `white`**"
},
"font_size": {
"type": "string",
"description": "Font size in pixels. **Default: `16`**"
},
"box_border": {
"type": "string",
"description": "Padding between the box border and the text can be specified with this parameter in pixels. **Default: `0`**"
},
"box_opacity": {
"type": "string",
"description": "Box opacity can be specified with this parameter. **Default: `100`**"
},
"vertical_align": {
"type": "string",
"description": "This parameter specifies the vertical alignment of the overlaid text and can be either `top` or `bottom`. **Default: `bottom`**"
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the corner (determined by vertical_align) of the overlay area. Values can be an absolute number of pixels relative to the video height. **Default: `0`**"
},
"horizontal_align": {
"type": "string",
"description": "This parameter specifies the horizontal alignment of the overlaid text and can be either `left` or `right`. **Default: `right`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels relative to the video width. **Default: `0`**"
}
},
"description": "Text overlay can be used to brand a video or add a label in the form of text.",
"x-apidog-orders": [
"text",
"horizontal_align",
"vertical_align",
"horizontal_margin",
"vertical_margin",
"color",
"font",
"font_size",
"opacity",
"box",
"box_color",
"box_opacity",
"box_border"
]
},
"image_overlay": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "This is the required parameter for image overlay; it can be a URL to an image that needs to be overlaid."
},
"width": {
"type": "string",
"description": "Width of the overlaid image. **Default: `image width`**"
},
"height": {
"type": "string",
"description": "Height of the overlaid image. **Default: `image height`**"
},
"vertical_align": {
"type": "string",
"description": "This parameter specifies the vertical alignment of the overlaid image and can be either `top` or `bottom`. **Default: `bottom`**"
},
"vertical_margin": {
"type": "string",
"description": "This parameter defines the vertical coordinate value of the corner (determined by `vertical_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
},
"horizontal_align": {
"type": "string",
"description": "This parameter specifies the horizontal alignment of the overlaid image and can be either `left` or `right`. **Default: `right`**"
},
"horizontal_margin": {
"type": "string",
"description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
}
},
"description": "Image overlay can be used to brand a video or add a visual label in the form of an image.",
"x-apidog-orders": [
"url",
"horizontal_margin",
"vertical_margin",
"horizontal_align",
"vertical_align",
"width",
"height"
]
},
"profile_id__path": {
"type": "string",
"description": "Profile id of the profile which need to be updated. (Path parameter)"
},
"generate_chapters": {
"type": "boolean",
"description": "Whether Gumlet should generate chapters."
},
"generate_subtitles": {
"type": "object",
"properties": {
"subtitle_languages": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of string of language codes for which subtitle needs to be generated. Maximum four language codes are allowed."
}
},
"description": "Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes). You can remove this object if you don't want to generate AI subtitles.",
"x-apidog-orders": [
"subtitle_languages",
"transcribe"
]
},
"per_title_encoding": {
"type": "boolean",
"description": "Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**"
},
"generate_description": {
"type": "boolean",
"description": "Whether Gumlet should generate descriptions."
},
"process_low_resolution_input": {
"type": "boolean",
"description": "Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**"
}
}
}Update a webhook listener.
| Argument | Type | Description |
|---|---|---|
| url | string | URL from the application you want to send data to. |
| sources | array | List of video collection identifiers for which webhooks are needed to be invoked. |
| triggers | array | Events that invoke this webhook. `status` subscribes to every video asset status event. `live-video-status` subscribes to every live video status event. Any other value subscribes to that event only. |
| webhook_id* | string | Unique identifier for the Gumlet Webhook which needs to be updated. |
| secret_token | string | Secret sent back in the `x-gumlet-token` header of each webhook POST so you can confirm the request came from Gumlet. |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"url": {
"type": "string",
"description": "URL from the application you want to send data to."
},
"sources": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of video collection identifiers for which webhooks are needed to be invoked."
},
"triggers": {
"type": "array",
"items": {
"enum": [
"status",
"live-video-status",
"video.status.created",
"video.status.downloaded",
"video.status.optimized",
"video.status.ready",
"video.status.errored",
"video.status.deleted",
"video.status.repackaged",
"video.status.stream_ready",
"live.video.status.created",
"live.video.status.ready",
"live.video.status.preparing",
"live.video.status.connected",
"live.video.status.active",
"live.video.status.complete",
"live.video.status.disconnected",
"event.embed.viewed",
"event.embed.cta_clicked",
"event.video.updated",
"event.video.uploaded",
"event.playlist.created",
"event.playlist.asset",
"event.playlist.deleted",
"event.video.analytics",
"event.image.analytics",
"event.embed.form_submitted",
"event.comment.all",
"event.channel.member_joined"
],
"type": "string"
},
"description": "Events that invoke this webhook. `status` subscribes to every video asset status event. `live-video-status` subscribes to every live video status event. Any other value subscribes to that event only."
},
"webhook_id": {
"type": "string",
"description": "Unique identifier for the Gumlet Webhook which needs to be updated."
},
"secret_token": {
"type": "string",
"description": "Secret sent back in the `x-gumlet-token` header of each webhook POST so you can confirm the request came from Gumlet."
}
}
}This endpoint allows users to update video workspace that has previously been created.
| Argument | Type | Description |
|---|---|---|
| aws | object | This is a required field if workspace type is aws. |
| gcs | object | This is a required field if workspace type is gcs. |
| name | string | video workspace name |
| type | string | Video workspaces are top-level entities in Gumlet. You can use them to organize videos for different teams/departments or use cases. |
| zoom | object | This is a required field if workspace type is zoom. |
| azure | object | This is a required field if workspace type is azure. |
| proxy | object | This is a required field if workspace type is proxy. |
| linode | object | This is a required field if workspace type is linode. |
| wasabi | object | This is a required field if workspace type is wasabi. |
| backblaze | object | This is a required field if workspace type is backblaze. |
| dostorage | object | This is a required field if workspace type is dostorage. |
| webfolder | object | This is a required field if workspace type is webfolder. |
| cloudflare | object | This is a required field if workspace type is cloudflare. |
| cloudinary | object | This is a required field if workspace type is cloudinary. |
| temp_cname | array | cname for channel |
| workspace_id* | string | Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API. |
| player_config | object | Configure player settings for this playlist, it overrides the setting set on workspace. |
| channel_settings | object | Configurations to set various channel settings. |
| video_protection | object | Gumlet provides multiple options for securing your video playback. |
| default_profile_id | string | Gumlet provides the functionality of creating multiple video assets using the same set of parameters. |
| insight_property_id | string | The five to ten character unique identifier of the Gumlet Insight Property available on the dashboard. |
{
"type": "object",
"required": [
"workspace_id"
],
"properties": {
"aws": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"endpoint": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if workspace type is aws.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path",
"endpoint"
]
},
"gcs": {
"type": "object",
"required": [
"bucket_name",
"service_account_key"
],
"properties": {
"bucket_name": {
"type": "string"
},
"service_account_key": {
"type": "string"
}
},
"description": "This is a required field if workspace type is gcs.",
"x-apidog-orders": [
"bucket_name",
"service_account_key"
]
},
"name": {
"type": "string",
"description": "video workspace name"
},
"type": {
"enum": [
"proxy",
"direct-upload",
"webfolder",
"aws",
"gcs",
"dostorage",
"wasabi",
"cloudinary",
"azure",
"linode",
"backblaze",
"cloudflare",
"zoom"
],
"type": "string",
"description": "Video workspaces are top-level entities in Gumlet. You can use them to organize videos for different teams/departments or use cases."
},
"zoom": {
"type": "object",
"required": [
"secret"
],
"properties": {
"secret": {
"type": "string"
}
},
"description": "This is a required field if workspace type is zoom.",
"x-apidog-orders": [
"secret"
]
},
"azure": {
"type": "object",
"required": [
"azure_account_name",
"azure_container_name",
"azure_shared_token",
"azure_path"
],
"properties": {
"azure_path": {
"type": "string"
},
"azure_account_name": {
"type": "string"
},
"azure_shared_token": {
"type": "string"
},
"azure_container_name": {
"type": "string"
}
},
"description": "This is a required field if workspace type is azure.",
"x-apidog-orders": [
"azure_account_name",
"azure_container_name",
"azure_shared_token",
"azure_path"
]
},
"proxy": {
"type": "object",
"required": [
"whitelisted_domains"
],
"properties": {
"whitelisted_domains": {
"type": "string"
}
},
"description": "This is a required field if workspace type is proxy.",
"x-apidog-orders": [
"whitelisted_domains"
]
},
"linode": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if workspace type is linode.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
]
},
"wasabi": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if workspace type is wasabi.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path"
]
},
"backblaze": {
"type": "object",
"required": [
"bucket_name",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"endpoint": {
"type": "string",
"description": "bucket_region or endpoint"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string",
"description": "bucket_region or endpoint"
}
},
"description": "This is a required field if workspace type is backblaze.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"endpoint",
"access_key",
"secret",
"base_path"
]
},
"dostorage": {
"type": "object",
"required": [
"bucket_name",
"bucket_region",
"access_key",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"bucket_region": {
"type": "string"
}
},
"description": "This is a required field if workspace type is dostorage.",
"x-apidog-orders": [
"bucket_name",
"bucket_region",
"access_key",
"secret",
"base_path"
]
},
"webfolder": {
"type": "object",
"properties": {
"base_url": {
"type": "string"
}
},
"description": "This is a required field if workspace type is webfolder.",
"x-apidog-orders": [
"base_url"
]
},
"cloudflare": {
"type": "object",
"required": [
"bucket_name",
"access_key",
"account_id",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"base_path": {
"type": "string"
},
"access_key": {
"type": "string"
},
"account_id": {
"type": "string"
},
"bucket_name": {
"type": "string"
}
},
"description": "This is a required field if workspace type is cloudflare.",
"x-apidog-orders": [
"bucket_name",
"access_key",
"account_id",
"secret",
"base_path"
]
},
"cloudinary": {
"type": "object",
"required": [
"host_name",
"cloud_name"
],
"properties": {
"host_name": {
"type": "string"
},
"cloud_name": {
"type": "string"
}
},
"description": "This is a required field if workspace type is cloudinary.",
"x-apidog-orders": [
"host_name",
"cloud_name"
]
},
"temp_cname": {
"type": "array",
"items": {
"type": "string"
},
"description": "cname for channel"
},
"workspace_id": {
"type": "string",
"description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API."
},
"player_config": {
"type": "object",
"properties": {
"cast": {
"type": "boolean"
},
"loop": {
"type": "boolean"
},
"preload": {
"type": "boolean"
},
"autoplay": {
"type": "boolean"
},
"logo_width": {
"type": "integer",
"format": "int32"
},
"pixel_tags": {
"type": "object",
"properties": {},
"x-apidog-orders": []
},
"include_seo": {
"type": "boolean"
},
"logo_height": {
"type": "integer",
"format": "int32"
},
"disable_seek": {
"type": "boolean"
},
"player_color": {
"type": "string"
},
"show_video_title": {
"type": "boolean"
},
"subtitle_enabled": {
"type": "boolean"
},
"dynamic_watermark": {
"type": "boolean"
},
"watermark_bg_color": {
"type": "string"
},
"watermark_interval": {
"type": "integer",
"format": "int32"
},
"watermark_font_size": {
"type": "integer",
"format": "int32"
},
"watermark_font_color": {
"type": "string"
},
"disable_player_controls": {
"type": "boolean"
},
"powered_by_gumlet_overlay": {
"type": "boolean"
},
"allow_drm_protected_videos": {
"type": "boolean"
}
},
"description": "Configure player settings for this playlist, it overrides the setting set on workspace.",
"x-apidog-orders": [
"preload",
"autoplay",
"disable_seek",
"disable_player_controls",
"powered_by_gumlet_overlay",
"allow_drm_protected_videos",
"loop",
"player_color",
"include_seo",
"subtitle_enabled",
"pixel_tags",
"logo_width",
"logo_height",
"dynamic_watermark",
"watermark_font_size",
"watermark_font_color",
"watermark_bg_color",
"watermark_interval",
"cast",
"show_video_title"
]
},
"channel_settings": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"active": {
"type": "boolean",
"default": false
},
"password": {
"type": "string",
"description": "under channel_settings privacy_type must be \"password-protected\". Password length should be greater than 5 and lesser than 100 characters."
},
"description": {
"type": "string"
},
"privacy_type": {
"enum": [
"\"public\"",
"\"private\"",
"\"password-protected\""
],
"type": "string"
},
"featured_video": {
"type": "string",
"description": "Video asset id, the asset should be in the same workspace as channel"
}
},
"description": "Configurations to set various channel settings.",
"x-apidog-orders": [
"active",
"description",
"title",
"privacy_type",
"featured_video",
"password"
]
},
"video_protection": {
"type": "object",
"properties": {
"signed_url": {
"type": "boolean",
"default": false
},
"signed_url_secret": {
"type": "string"
},
"blacklisted_countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Example: [\"IN\",\"USA\"]"
},
"whitelisted_referrers": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Gumlet provides multiple options for securing your video playback.",
"x-apidog-orders": [
"signed_url",
"signed_url_secret",
"blacklisted_countries",
"whitelisted_referrers"
]
},
"default_profile_id": {
"type": "string",
"description": "Gumlet provides the functionality of creating multiple video assets using the same set of parameters."
},
"insight_property_id": {
"type": "string",
"description": "The five to ten character unique identifier of the Gumlet Insight Property available on the dashboard."
}
}
}Upload `.srt` or `.vtt` file to the video asset. The response of this API call gives `upload_url` for each language specified. You need to send a `PUT` request of the subtitle files to those URLs. Once that's done, you need to call the subtitle upload complete API. Only after that, Gumlet will add subtitles to asset.
| Argument | Type | Description |
|---|---|---|
| asset_ID* | string | An asset id for the previously created asset. |
| language_codes | array | List of language codes to upload subtitle file (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes) |
{
"type": "object",
"required": [
"asset_ID"
],
"properties": {
"asset_ID": {
"type": "string",
"description": "An asset id for the previously created asset."
},
"language_codes": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of language codes to upload subtitle file (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes)"
}
}
}This endpoint retrieves viewer analytics data. This endpoint is use for deep insights on the analytics data.
| Argument | Type | Description |
|---|---|---|
| filters | array | Build *segments* of users using multiple filters on the data, `value` should be an *exact match* |
| metrics | array | Get data for one or more metrics in the same request. Supported values: `views`, `unique_views`, `impressions`, `completion_percent_by_views`, `playing_time`, `concurrent_users`, `widget_form_submitted`, and `cta_clicks`. |
| download | boolean | Whether the request is to download the chart data |
| group_by | string | Data can be grouped by `daily`, `weekly` or `monthly`. |
| date_range | object | The timeframe to get the data for. The maximum range between start_at and end_at is 60 days. |
| workspace_id | string | Gumlet workspace ID |
| chart_dimension | object | Group metrics by the selected dimension. You can select up to 3 dimensions for nested category results; results follow the selection order. |
{
"type": "object",
"required": [],
"properties": {
"filters": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"value"
],
"properties": {
"name": {
"enum": [
"meta_browser",
"meta_operating_system",
"meta_operating_system_version",
"meta_device_category",
"meta_device_manufacturer",
"meta_device_name",
"meta_device_display_width",
"meta_device_display_height",
"meta_country",
"meta_city",
"meta_region",
"player_software",
"player_software_version",
"player_language_code",
"player_name",
"meta_page_url",
"meta_asn",
"custom_user_id",
"custom_user_email",
"custom_video_id",
"custom_video_title",
"video_source_url",
"custom_video_variant_name",
"custom_video_language",
"custom_video_variant",
"custom_data_1",
"custom_data_2",
"custom_data_3",
"custom_data_4",
"custom_data_5"
],
"type": "string",
"description": "Name of the breakdown to filter data on."
},
"value": {
"type": "string",
"description": "Value to be matched for the given filter name. Currently we support exact matches."
},
"operator": {
"enum": [
"equals",
"does not equal",
"contains",
"does not contain",
"is set",
"is not set"
],
"type": "string",
"default": "equals",
"description": "Operator to be used while filtering the data"
}
},
"x-apidog-orders": [
"name",
"value",
"operator"
]
},
"description": "Build *segments* of users using multiple filters on the data, `value` should be an *exact match*"
},
"metrics": {
"type": "array",
"items": {
"enum": [
"views",
"unique_views",
"impressions",
"completion_percent_by_views",
"playing_time",
"concurrent_users",
"widget_form_submitted",
"cta_clicks"
],
"type": "string"
},
"description": "Get data for one or more metrics in the same request. Supported values: `views`, `unique_views`, `impressions`, `completion_percent_by_views`, `playing_time`, `concurrent_users`, `widget_form_submitted`, and `cta_clicks`."
},
"download": {
"type": "boolean",
"description": "Whether the request is to download the chart data"
},
"group_by": {
"enum": [
"daily",
"weekly",
"monthly"
],
"type": "string",
"default": "daily",
"description": "Data can be grouped by `daily`, `weekly` or `monthly`."
},
"date_range": {
"type": "object",
"required": [
"start_at",
"end_at"
],
"properties": {
"end_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
},
"start_at": {
"type": "string",
"format": "date",
"description": "Date in yyyy-MM-dd format"
}
},
"description": "The timeframe to get the data for. The maximum range between start_at and end_at is 60 days.",
"x-apidog-orders": [
"start_at",
"end_at"
]
},
"workspace_id": {
"type": "string",
"description": "Gumlet workspace ID"
},
"chart_dimension": {
"type": "object",
"properties": {
"group_by": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"enum": [
"custom_video_title",
"custom_video_id",
"custom_workspace_id",
"video_source_url",
"video_source_format",
"player_software_version",
"player_software",
"meta_page_url",
"audio_language",
"subtitle_language",
"video_width_pixels",
"video_height_pixels",
"meta_country",
"meta_city",
"meta_device_category",
"meta_device_manufacturer",
"meta_browser",
"meta_browser_version",
"meta_browser_language",
"meta_operating_system",
"meta_operating_system_version",
"meta_device_name",
"meta_asn"
],
"type": "string"
}
},
"x-apidog-orders": [
"name"
]
}
}
},
"description": "Group metrics by the selected dimension. You can select up to 3 dimensions for nested category results; results follow the selection order.",
"x-apidog-orders": [
"group_by"
]
}
}
}Get logs history for a given webhook.
| Argument | Type | Description |
|---|---|---|
| webhook_id* | string | Webhook ID. You can get it using list webhook endpoint. |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"webhook_id": {
"type": "string",
"description": "Webhook ID. You can get it using list webhook endpoint."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 4, 2026.
Takes a password, API key or token as an argument, so the secret passes through the model's context and chat logs.
Fix: Read credentials from the server's own configuration (environment, OAuth) instead of a tool argument.