Mintegral video specs: MP4 only, 200 MB, 6, 15, 30 or 60 s
Mintegral wants MP4 up to 200 MB, 1080x1920 and 1920x1080 recommended, 6/15/30/60 s lengths, and a 1200x627 image as the endcard. Cut those lengths with Sume.

Mintegral's asset specs accept MP4 only, up to 200 MB, with 1080 by 1920 and 1920 by 1080 recommended and 720 by 1280 and 1280 by 720 also accepted. It recommends lengths of 6, 15, 30 or 60 seconds, accepts up to 120, and needs at least one video. Sume's trim gives you those lengths from one master.
The numbers
Mintegral recommends one vertical and one horizontal video to cover every placement. Its page does not give bitrate, frame rate or audio specs, so there is nothing to check against there.
| Item | Mintegral value |
|---|---|
| Container | MP4 only |
| Recommended sizes | 1080x1920 and 1920x1080 |
| Also accepted | 720x1280 and 1280x720 |
| File size | 200 MB maximum |
| Recommended lengths | 6, 15, 30 or 60 seconds, one length minimum |
| Accepted maximum | 120 seconds; 60 or under generally performs best |
| Endcard | Main image of 1200x627 or 1200x628 |
Four lengths from one master
Each trim call is one job with its own idempotency key, so four lengths is four calls. At the docs' $0.02 per job that is $0.08 for the set. The loop below sends all four and prints each result URL.
The script reads each job envelope in sync mode. If a job answers 202 instead of finishing within 30 seconds, poll GET /v1/jobs/:id/result as the docs describe.
import os
import requests
key = os.environ["SUME_API_KEY"]
for seconds in (6, 15, 30, 60):
resp = requests.post(
"https://api.sume.com/v1/video-trim",
headers={"Authorization": f"Bearer {key}", "Idempotency-Key": f"mintegral-cut-{seconds}"},
json={
"video_url": "https://media.sume.com/artifacts/artf_demo/master.mp4",
"start": 0,
"duration": seconds,
"mode": "sync",
},
timeout=60,
)
resp.raise_for_status()
print(seconds, resp.status_code, resp.json())
What this does not cover
A cut from the first second is a start point, not a story: a 6 second version usually needs its own beat, not the first six seconds of the 30. Pick start for each length by looking at stills from Video inspect, whose docs say the probe-only call is free and stills are billed by compute.
The 1200 by 627 endcard is not a standard ratio, so check whether the model you use accepts that exact size before you rely on it. The Images docs publish accepted aspect_ratio values per model; ask the catalog, then crop to the exact pixels if needed.
Sources
Related posts
More in Use cases
- Mixed-model clips judder in Timeline: conform each to 30 fps first
Timeline resamples sources that run at different frame rates and warns output_fps_resamples_sources. Conform each clip with video-trim output, $0.02 a clip.
- Mixed real and AI footage: what Gemini's SynthID check reports
A video that mixes camera footage and Gemini Omni clips shows SynthID in some segments only. What Google says it reports, and a test edit on Sume.
- Mobile game ad cutdowns: one master to 6, 15, 30 and 60 seconds
Mintegral recommends 6/15/30/60 s, Unity and Axon cap at 60 s, Liftoff at 180 s. Cut one portrait master to each length with Sume's trim API for $0.02 a job.
- Move an object in a photo with AI: erase, then place with two masks
No Sume image model has a move operation. Move an object by erasing it with one mask and placing it with a second, using GPT Image 2.5 and Python.
Written by Sume