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.

5 min readSume
All posts

Four app-install networks publish their video limits, and one master can serve all four if you cut it to length. Mintegral recommends 6, 15, 30 and 60 seconds, Unity allows 60 or less, AppLovin Axon allows up to 60, and Liftoff lists 180 for portrait. Sume's video trim does the cutting.

The limits side by side

A 60 second portrait cut is inside every one of these networks, and a 30 or 15 second cut is too.

Video length limits across four networks, read 2026-10-03
NetworkLength on its pagePortrait size
Mintegral6, 15, 30 or 60 recommended, up to 1201080x1920
Unity60 seconds or less9:16
AppLovin AxonUp to 60 seconds, unskippable9:16, minimum 270x480
Liftoff180 seconds maximum1080x1920

The cutdown loop

Each trim job is its own call, with its own idempotency key, so use a key per length. The default precision is a frame-accurate re-encode, so each result is a new MP4 and the master is untouched. Four cuts cost $0.08 at the docs' rate.

The cut starts where you say. A 6 second version needs its own start, usually the strongest beat, so pass a different start per length instead of always 0.

import os
import requests

key = os.environ["SUME_API_KEY"]
cuts = {6: 12.0, 15: 8.0, 30: 0.0, 60: 0.0}
for seconds, start in cuts.items():
    resp = requests.post(
        "https://api.sume.com/v1/video-trim",
        headers={"Authorization": f"Bearer {key}", "Idempotency-Key": f"game-cut-{seconds}"},
        json={
            "video_url": "https://media.sume.com/artifacts/artf_demo/master.mp4",
            "start": start,
            "duration": seconds,
            "mode": "sync",
        },
        timeout=60,
    )
    resp.raise_for_status()
    print(seconds, resp.json())

Limits

If the master is shorter than start plus duration, the docs say the end clamps and the result warns trim_clamped_to_source, so a 60 second request on a 45 second master returns 45. Check duration_seconds.

None of these pages publishes a performance claim for a given length beyond Mintegral's remark that 60 seconds or under generally performs best. Treat the rest as test cells, not rules.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume