Product and solution overview

CognitiveCrop™ is a Cognitive Mill product that offers you a game-changing solution on how to quickly adapt horizontal videos to the vertical mode to fit in the social media format and keep the main objects in focus.

In our Automated Cropping to Portrait Mode Solution, we’ve achieved a human-like focus based on motion perception. The system finds and focuses on the most important parts of the video and leaves them within the frame.

In cropped videos, the frame within camera operator shots moves smoothly, which creates a better user experience.

Our cropping method describes the X coordinate of the cropping frame’s top-left corner and its width in each frame inside shots.

The cropping frame is adapted to the 9:16 aspect ratio that is used in popular social media, such as TikTok and Instagram Stories. This value is constant and equals 0.5625.

After running the parent crop meta process, you get a meta.json file that contains all the required metadata for further processing with MediaMill™ or with third-party software.


  • You get a JSON file with all the required metadata of how to crop your horizontal video to the vertical mode without losing the core objects and actions.
  • CognitiveCrop™ automatically processes any type of content without additional configurations. You can crop sports events, movies, series, TV shows, or news.
  • The cropping frame moves smoothly within every operator shot, which creates a positive viewer experience.
  • You can interact with the platform either via the UI or via the API.
  • You can easily integrate the CognitiveCrop™ solution with third-party software or systems via the API.
  • The video cropping process takes several minutes, and then you can immediately distribute your cropped video on social media.

Output metadata

A meta.json file is the core file that contains metadata of the video for further processing either with third-party systems and software or with Cognitive Mill by running child processes, like generating the cropped video with MediaMill™ for instant social media distribution.

The file contains data with labeled segments for further processing and metadata that contains the information about modules and module versions for internal use.
The data includes the following information:

  • Type. The type of a segment, which is a time segments for the crop meta process.
  • Start. The start time of the segment. Ms stands for milliseconds and shows when the episode appears in the video timeline.
  • End. The end time of the segment. Ms stands for milliseconds and shows when the episode appears in the video timeline.
  • Repr_ms. The time marker of the representative frame within the current shot. The frame that describes it best.
  • Crop elements including:
    - Crop_resolution. The frame resolution with the constant value of 0.5625 (9:16 aspect ratio).
    - Ms_data. The time marker of the crop_x in milliseconds.
    Crop_x is the value that describes the coordinate of the top-left corner of the cropping frame within the video frames for the given moments of time within a shot. This value is given as a percentage of the whole video frame’s width and can be 0 to 1.

This data is enough to get the coordinates of all corners.

For example:

When the resolution of the original video is 1024x768px, the coordinates of the cropping frame’s corners will be the following:

The top-left corner [1024*crop_x, 0].

The bottom-left corner [1024*crop_x, 768].

The top-right corner [1024*crop_x + 768*crop_resolution, 0].

The bottom-right corner [1024*crop_x + 768*crop_resolution, 768].

Note that you cannot change the crop_resolution value yourselves to prevent the cropping frame from moving outside the borders of the original video frame.

Contact us if you need a different cropping frame resolution.

Below is a snippet of a Crop meta.json file.

    "data": [
        "id": "crop meta",
        "segments": [
            "crop": {
              "crop_resolution": 0.5625,
              "ms_data": {
                "1001.0": {
                  "crop_x": 0.28888888888888886
                "10010.04": {
                  "crop_x": 0.3541666666666667
                "10051.74": {
                  "crop_x": 0.3527777777777778
                "10093.45": {
                  "crop_x": 0.35138888888888886
                "10135.16": {
                  "crop_x": 0.35
                "10176.87": {
                  "crop_x": 0.3472222222222222
      "end": {
        "ms": 239239.84,
        "time": "0:03:59.239840"
      "repr_ms": 237613.21,
      "score": {
        "ms_data": {}
      "segments": [
          "end": {
            "ms": 239239.84,
            "time": "0:03:59.239840"
          "repr_ms": 237613.21,
          "start": {
            "ms": 237383.81,
            "time": "0:03:57.383810"
      "start": {
        "ms": 237383.81,
        "time": "0:03:57.383810"
  "type": "time segments"

Demo case

This guide shows you how you can crop your horizontal video to fit the vertical aspect ratio of social networks via the UI at run.cognitivemill.com.

Before cropping your video:

1. Sign in to your account or register if it’s your first visit.

2. Make sure you have the crop meta quota to get your video processed.

To check quotas, click the name of your account in the top-right corner of the screen. You land on the My Account page with the list of your quotas.

New users are provided with trial quotas. If you don’t have the required quotas, contact us at support@aihunters.com to get them.

Now you're all set.

1. Click Run Process on the top navigation bar.

The Run a New Process page opens.

2. Select crop meta from the drop-down list of the Process type field.

3. In the Title field, enter a name for your process.

4. In the File source field, either paste a link to the video you want to process — the default File link option — or click the field > select Upload file > click Select file > pick the file from your device to upload.

5. Click the Run Process button.
The processing of the video has started. You can follow the progress on the Process List page, where your process appears in the current status.

When the status changes to Completed, you can:

  • Download metadata for further processing with third-party systems and software.
  • Preview the cropping frame in the Cognitive Mill visualizer and generate the cropped video with MediaMill™.

To download metadata:

1. On the Process List page, click the three vertical dots next to the process.

2. In the pop-up menu that appears, click Download result.

The meta.json file has been downloaded to your device.

To preview the cropped video:

1. On the Process List page, click the title of the process to open it in the Cognitive Mill visualizer.

2. Click the Play button under the video.

To generate the cropped video:

1. On the Process List page, click the title of the process to open it in the Cognitive Mill visualizer.

2. Click Add to Editor above the shot timeline to add the segments to Editor.

3. Click Run MediaMill.
The MediaMill page opens.

4. Enter a title for your process.

5. Click Run Process.
The process appears at the bottom of the page in its current status.

When the status of the process changes to Completed, you can download the cropped video to your device.

To download the cropped video:
1. Click the three vertical dots icon next to the completed process.

2. In the pop-up menu that opens, click Download result. The video opens in a separate tab for preview.

3. Click the three vertical dots icon in the bottom-right corner of the video.

4. In the pop-up menu that opens, click Download.

The video is downloaded to your device.

Current challenges

  • Abrupt movements.
    Extremely fast and abrupt movements can be ignored by the system because it may be unable to catch them. Though such movements are not emphasized or essential for the main action, we are already working on the solution.
  • Zoomed objects.
    The system may focus on big zoomed static objects and ignore smaller moving objects, while a human eye would catch the moving object first. It happens because the system is misguided by the operator’s camera focus and the zoomed object on which the camera is focused. But we keep on improving the robot’s vision until it fully imitates the human focus.
  • Static characters in the dynamic environment.
    When the environment is more dynamic than the character, the robot’s eyes may focus on the scenery. Heavy rain or snow, or something catching, like flickering lights, may confuse the robot’s eyes and make the system put these dynamic parts within the frame and leave the main character standing outside.
  • Two or more dynamic characters moving simultaneously.
    This case is super challenging because of the social media format limitations. When two main characters are moving at the same time within a short period of time, we cannot show both of them because the frame’s size cannot change. And we also cannot switch from one object to the other very fast to guarantee a smooth and convenient viewing experience. So we have to choose one object and focus on it.

We keep on working on the most efficient ways how to overcome the current challenges so that in the following versions of CognitiveCrop™ we won’t face them anymore.

We use cookies to ensure that we give you the best experience on our website. Read cookies policies.