---
title: "Create Profile"
method: POST
path: "/video/profiles"
tags: ["API Endpoints"]
---

# Create Profile

`POST /video/profiles`

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.

## Request body

- object
  - `name` string, required — Profile name or identifier.
  - `format` 'ABR' | 'MP4', required — Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`.
  - `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`.
  - `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`.
  - `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 `. Re-sized rendition will retain the input aspect ratio.
  - `crop` object — This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video.
    - `horizontal_margin` string — 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`**
    - `vertical_margin` string — 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`**
    - `width` string, required — Width of the cropping area in pixels.
    - `height` string, required — Height of the cropping area in pixels.
  - `pad` object — This transformation can be used to add padding to the video.
    - `top` string — 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` string — 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`**
    - `bottom` string — 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`**
    - `right` string — 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`**
    - `color` string — Color of padding area. **Default: `black`**
  - `trim` object — Trim transformation can be used to trim videos based on time duration.
    - `start_offset` number, float, required — Start offset in number of seconds or in `HH:MM:SS` format.
    - `end_offset` number, float, required — End offset in number of seconds or in `HH:MM:SS` format.
    - `duration` number, float — Duration can be used in conjunction with `start_offset` parameter, can be specified in number of seconds.
  - `image_overlay` object — Image overlay can be used to brand a video or add a visual label in the form of an image.
    - `url` string, required — This is the required parameter for image overlay, it can be a URL to an image that needs to be overlayed.
    - `horizontal_margin` string — 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`**
    - `vertical_margin` string — 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` string — This parameter specifies the horizontal alignment of the overlayed image and can be either `left` or `right`. **Default: `right`**
    - `vertical_align` string — This parameter specifies the vertical alignment of the overlayed image and can be either `top` or `bottom`. **Default: `bottom`**
    - `width` string — Width of the overlayed image. **Default: `image width`**
    - `height` string — Height of the overlayed image. **Default: `image height`**
  - `text_overlay` object — Text overlay can be used to brand a video or add a label in the form of text.
    - `text` string, required — Text to be overlayed on video.
    - `horizontal_align` string — This parameter specifies the horizontal alignment of the overlayed image and can be either `left` or `right`. **Default: `right`**
    - `vertical_align` string — This parameter specifies the vertical alignment of the overlayed image and can be either `top` or `bottom`. **Default: `bottom`**
    - `horizontal_margin` string — 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`**
    - `vertical_margin` string — 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`**
    - `color` string — Font color for text. **Default: `black`**
    - `font` string — Font family type for text. **Default: `sans`**
    - `font_size` string — Font size in pixels. **Default: `16`**
    - `opacity` string — 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` boolean — This parameter allows rectangular drawing a box over the overlayed text. **Default: `false`**
    - `box_color` string — Box color can be specified with this parameter. **Default: `white`**
    - `box_opacity` string — Box opacity can be specified with this parameter. **Default: `100`**
    - `box_border` string — Padding between the box border and the text can be specified with this parameter in pixels. **Default: `0`**
  - `animated_gif` object — Create an animated GIF from a video.
    - `start_offset` string — The time (in seconds or `HH:MM:SS` format) of the video timeline where the animated gif should begin. **Default: `0`**
    - `end_offset` string — 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.
    - `width` string — The width in pixels (or in percentage value of asset width) of the animated GIF. Max width is `640px`.
    - `height` string — The height in pixels (or in percentage value of asset height) of the animated GIF. Max height is `640px`.
    - `fps` string — The frame rate of the generated GIF. Defaults to `15` fps. Max `30` fps.
  - `generate_subtitles` object — Gumlet allows 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.
    - `transcribe` boolean — This will generate the subtitles in the native audio.
    - `subtitle_languages` string — Array of string of language codes for which subtitle needs to be generated. Maximum four language codes are allowed.
  - `mp4_access` boolean — Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**
  - `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`**
  - `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.

## Response `200`

200

- object
  - `profile_id` string
  - `name` string
  - `transformations` object
    - `format` string
    - `audio_codec` string[]
    - `video_codec` string[]
    - `thumbnail` string[]
    - `thumbnail_format` string
    - `mp4_access` boolean
    - `per_title_encoding` boolean
  - `created_at` integer

## Other responses

- `400` — 400
- `401` — 401

---

[API](https://skmtc.net/gumlet/apis/gumlet-rest-apis.md) · [All operations](https://skmtc.net/gumlet/apis/gumlet-rest-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gumlet/gumlet-rest-apis/versions/b1f7ac2aeeec/schema)
