MediaMill™
Product overview
MediaMill™ is a Cognitive Mill product designed for fast and convenient media generation, without using third-party systems and software.
There are two ways how to use MediaMill™:
1. You can run it straight from the Cognitive Mill visualizer after the parent metadata process, such as crop meta, cast meta, movie trailer, soccer (or any other sport) meta or trailer compilation, is completed.
2. You can also take your asset and a JSON file with metadata and run a media mill process.
When the process is completed, you can immediately download the output media to your device.
You need the Media mill quota to run the process. Click the name of your account on the top navigation bar to open My Account and check 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.
Benefits:
- You can get video metadata and immediately generate a reel without using any third-party systems or software.
- Reel generation is a fully automated process unless you want to customize it.
- To customize your reel, you can manually add or remove segments from the JSON file with video metadata.
- You can automatically generate a reel of any type cropped to fit the popular social media aspect ratio 9:16 and ready for distribution. To generate a cropped trailer, include the cropping metadata into your trailer JSON file.
- You can also contact us to customize your trailer configuration, such as the transition settings, and the logo. We can replace the default AIHunters logo with your company's logo. View the default configuration below.
Default configuration
{
"alpha_transition": {
"video_meta_list": [
{
"dar": "16/9",
"video_path": "/app/data/animation/Bounce between videos frames/new 16_9/"
}
]
},
"fade": {
"color_rgb": [
0,
0,
0
],
"transition_frames_number": 5
},
"intro": {
"video_meta_list": [
{
"dar": "1/1",
"video_path": "/app/data/animation/Videos openingin /Video-openingin[1_1].mp4"
},
{
"dar": "3/2",
"video_path": "/app/data/animation/Videos openingin /Video-openingin[3_2].mp4"
},
{
"dar": "4/3",
"video_path": "/app/data/animation/Videos openingin /Video-openingin[4_3].mp4"
},
{
"dar": "4/5",
"video_path": "/app/data/animation/Videos openingin /Video-openingin[4_5].mp4"
},
{
"dar": "9/16",
"video_path": "/app/data/animation/Videos openingin /Video-openingin[9_16].mp4"
},
{
"dar": "16/9",
"video_path": "/app/data/animation/Videos openingin /Video-openingin[16_9].mp4"
}
]
},
"logo": {
"alpha": 0.5,
"path": "./data/logo/LogoAIH3.png",
"position": "right_down",
"size": [
150,
38
]
},
"outro": {
"video_meta_list": [
{
"dar": "1/1",
"video_path": "/app/data/animation/Videos ending/Video-ending[1_1].mp4"
},
{
"dar": "3/2",
"video_path": "/app/data/animation/Videos ending/Video-ending[3_2].mp4"
},
{
"dar": "4/3",
"video_path": "/app/data/animation/Videos ending/Video-ending[4_3].mp4"
},
{
"dar": "4/5",
"video_path": "/app/data/animation/Videos ending/Video-ending[4_5].mp4"
},
{
"dar": "9/16",
"video_path": "/app/data/animation/Videos ending/Video-ending[9_16].mp4"
},
{
"dar": "16/9",
"video_path": "/app/data/animation/Videos ending/Video-ending[16_9].mp4"
}
]
},
"segment_rounding": {
"end": "floor",
"start": "floor"
}
}
Alpha_transition sets the transition animation between frames.
Fade creates transitions between segments. It includes the following parameters:
- Color_rgb stands for the color of transition. It is given in the uint8 range, from 0 to 255. By default, it’s black [0, 0, 0].
- Transition_frames_number stands for the length of transition in frames. It shows how many frames from each side of transition must be processed. By default, the length of transition equals 5 frames. The last frame, which is the 5th, by default, is the clear color of transition.
Intro sets the intro to the generated media.
Logo adds a watermark logo in one of the corners of the generated trailer. It includes the following parameters:
- Alpha stands for alpha compositing of the frame and the logo. It sets the logo’s transparency. The valid range is [0, 1], where 0 is fully transparent, and 1 is fully opaque. The default value is 0.5, which is a semi-transparent logo.
- Path is the link to the storage of the image.
- Position specifies the corner where the logo is placed. The possible values are: right_down,right_up, left_down, left_up. The default value is right_down.
- Size is the size of the logo in pixels. The default value is [150, 38].
Outro sets the outro to the generated media.
Segment_rounding rounds start and end segment frame timestamps to the nearest frame.
- "start": "floor" configures the first (start) segment frame timestamp to be rounded to the previous frame.
- "end": "floor" configures the last (end) segment frame timestamp to be rounded to the previous frame.
The intro, outro, and transition animation can be customized. If you want to replace the default AIHunters logo with your own one, contact us at support@aihunters.com.
Run MediaMill from the visualizer
Running the media mill process from the visualizer is a convenient way to create a reel via the UI.
First, you run a parent metadata process, and after it is completed, you go to the visualizer to preview the results, add more segments or delete the unwanted ones, and generate the media.
MediaMill™ is available for the processes where creating a reel makes sense, such as:
- Movie trailer. Generate a movie trailer to immediately download it to your device.
- Soccer/hockey/basketball/American football/etc. meta. Select a type of trailer you want to generate, run the process and download the result media.
- Crop meta. Generate a cropped video to download and share it via social media.
- Cast meta. Generate a reel with the selected character or characters.
MediaMill™ is not available for the processes aimed at detection where generating a reel doesn't make sense, such as skip meta, nude meta, and graphics meta.
To generate a reel, do the following:
1. Run the required parent process.
You can check the current status of your process on the Process List page.
2. When the status of the process changes to Completed, click the title of the process.
The process opens in the visualizer.

3. Click Add To Editor above the meta timeline.
4. Click Run MediaMill above the video.
5. On the MediaMill page that opens, enter a name for your process.
6. Click Run Process.
The process appears at the bottom of the page.
7. When the status of the process changes to Completed, click the three vertical dots icon.
8. In the pop-up menu that appears, click Download result.

The generated reel opens in a separate tab.
9. Click the three vertical dots icon in the bottom-right corner of the video, then click Download.

The media is downloaded to your device.
Note that the visualizer settings may look a bit different depending on the parent process. You can find the process-specific description of MediaMill™ usage in the Demo case of the selected product.
Run MediaMill as a new process
You can run the process via the UI or via the API.
Before processing your video: sign in to your Cognitive Mill account or register if it's your first visit.
1. Click Run Process on the top navigation bar.
On the Run a New Process page that opens:

2. Select media mill from the Process type drop-down list.
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. In the Types field, enter the type(s) of your trailer(s), for example: [“diversity_trailer”] for a movie trailer.
Note that the Types value equals the id
value from the trailer.json file.
6. In the Trailers field, paste the JSON file.
The file must at least contain the following data:
- ID. The trailer type that you enter in step 6.
- Segment. A part of the media that forms the trailer. Each segment includes the Start and End timestamps given in milliseconds (ms).
[
{
"id": "diversity_trailer",
"segments": [
{
"start": {
"ms": 0
},
"end": {
"ms": 50000
}
}
]
}
]
For generating multiple trailers, the JSON file must contain segments for each Trailer id as shown in the example below:
[
{
"id": "high drama",
"segments": [
{
"start": {
"ms": 0
},
"end": {
"ms": 50000
}
}
]
},
{
"id": "attacks",
"segments": [
{
"start": {
"ms": 50000
},
"end": {
"ms": 199980
}
}
]
}
]
For generating a cropped trailer, add cropping metadata for each segment of the trailer JSON file. If any segment misses cropping data, the whole media generating process will fail.
An example of such a JSON file with one segment is given below:
[
{
"id": "diversity_trailer",
"segments": [
{
"start": {
"ms": 0
},
"end": {
"ms": 55000
},
"crop": {
"crop_resolution": 0.5625,
"ms_data": {
"0.0": {
"crop_x": 0.34305555555555556
},
"50.0": {
"crop_x": 0.34305555555555556
},
"100.0": {
"crop_x": 0.34305555555555556
},
"150.0": {
"crop_x": 0.35
},
"200.0": {
"crop_x": 0.35
},
"250.0": {
"crop_x": 0.35694444444444445
},
"300.0": {
"crop_x": 0.35694444444444445
}
}
}
]
}
]
7. Click Run Process.
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 process status changes to Completed, you can download the trailer to your device.
To download the file, click the three vertical dots icon.
In the pop-up menu that appears, click Download result.

The generated trailer opens in a separate tab.
Click the three vertical dots icon in the bottom-right corner of the video, then click Download.

The trailer is downloaded to your device.
Current challenges
- Content resolution and frame rates cannot vary.
All video content must have the same resolution and frame rate. The frame rate must be constant and that will be the frame rate of the output media. - No data — no cropping.
For cropping, each segment of the crop.json file must contain data for at least one timestamp (millisecond), otherwise the cropped video will not be generated.
We keep on searching for the most efficient ways how to overcome the current challenges so that in the following versions of MediaMill™ we won’t face them anymore.