Try for free
Learn/Specs by network

What are the Mintegral playable ad specs in 2026?

Mintegral playable rules: 5 MB ZIP, matching file names, window.install, gameReady and gameEnd, free rotation. QA checklist.

Written by Yonathan Avivi, Head of Marketing, Genie Labs

Technical review by Yotam Wolf, CTO · Published Oct 26, 2026 · Last verified Oct 26, 2026 · 7 min read

Mintegral wants a ZIP of 5 MB or less, where the ZIP, the assets folder and the HTML file share the same name, with every non JS and non HTML file converted to base64. All store clicks go through window.install, and the playable must call gameReady when loaded and gameEnd on win or lose, and rotate freely between portrait and landscape. Every value below is from Mintegral's Mindworks Playable Testing guideline.

Key takeaways
5 MB ZIP. Letters, numbers and underscores only in file names. ZIP, folder and HTML names must match.
Mintegral is a hook based network: window.install, window.gameReady, window.gameEnd are required; gameStart, gameClose and gameRetry are situational.
Don't add your own close button or loading screen. Mintegral adds both.
The CTA must stay visible for the whole playable, and interactions must also work with a mouse, because the test tool runs in a desktop browser.
Playturbo is Mobvista's creative platform; using it is optional, passing the Mindworks test tool is not.
Genie Playable exports Mintegral builds with these hooks in place, from the same source as your other networks.

What does Mintegral require for a playable?

SpecMintegral requirement
Max file sizeZIP no larger than 5 MB
FormatZIP containing an assets folder and an HTML file. ZIP, folder and HTML names must be identical. HTML must open locally. Non JS and non HTML files in base64. UTF-8 charset
MRAID versionNot published (Mintegral uses its own window hooks)
OrientationBoth landscape and portrait, with free rotation
Max durationNot published
CTA / store redirectwindow.install && window.install() for every store or web redirect. CTA visible throughout
Required callbackswindow.gameReady() after all resources load; window.gameEnd() on win or lose
Optional callbacksGlobal gameStart() and gameClose() functions Mintegral calls; window.gameRetry() if you offer replay
External callsNo dynamic requests. All dependent resources stored locally in the folder
Analytics / eventsOptional: up to five custom points described in action.json at the root, sent with window.HttpAPI.sendPoint()
Test toolMindworks Playable Test Tool. Mintegral QA usually takes 3 to 5 business days

Source: Mindworks guideline, playable testing, which Mintegral's own playable ad guide points to. Compare with other networks on the specs hub.

How do the Mintegral hooks work?

Most networks need one click-out call. Mintegral needs a small set, and the test tool checks for them.

HookWho calls itWhenRequired?
window.installYour playableAny tap that should go to the store or a webpageYes
window.gameReadyYour playableOnce every resource has loadedYes
window.gameEndYour playableAt the end, on win or failYes
gameStartMintegral calls your global functionAt the start; start timers and music hereExpose it if you need start logic
gameCloseMintegral calls your global functionAt the end; stop music hereExpose it if you need end logic
window.gameRetryYour playableWhen the player chooses to play againOnly if replay exists

Guard each call the way Mintegral's samples do (window.install && window.install) so the build doesn't throw when tested outside the ad container. And don't override the global console method; Mintegral warns that it can break redirect and gameClose.

The hooks are packaging, not creative work. Genie Playable adds Mintegral's window.install, gameReady and gameEnd calls in the Mintegral export, and leaves them out of your Meta or Unity builds. You keep one source.

Try Genie

What else does Mintegral ask for?

·No close button, no loading page. Mintegral adds both. A custom close button is a common reason for failing review.
·Win and lose screens must prompt the click. The download button on the end screen needs an effect, such as a pulse, that draws the tap.
·Mouse support. The test tool runs in a browser. If swipe only works with touch events, the test can stall.
·No auto-redirects. Mintegral blocks redirects on load or on a timer. The test tool doesn't catch this, but review does.
·Clean build. Strip debug tools, dev plugins and unused libraries before export.

Mintegral's Playturbo operation guide adds placement details: a creative set needs a video and an image before a playable can be added, iOS playables go only to iOS offers (same for Android), and names can't be edited after you apply them in Mintegral. Source: Mintegral creative operation guide.

Where does Playturbo fit?

Playturbo is a creative platform for playable and video ads; its site credits Mobvista, Mintegral's parent company, and Mindworks is the related creative service. It isn't required to run playables on Mintegral. Any playable that passes the Mindworks test tool can be uploaded. Playturbo's own docs list a 5 MB limit for Mintegral and say the format can be a single HTML or a ZIP with resources; the Mindworks guideline describes the ZIP rules above, so build to the stricter ZIP version. Source: Playturbo upload specs. For an honest look at network-owned tools versus other options, see our playable ad tools comparison.

QA checklist before you upload to Mintegral

·ZIP at or under 5 MB. ZIP, folder and HTML named identically, letters, numbers and underscores only.
·HTML opens locally from the unzipped folder, with a UTF-8 charset meta tag.
·Images, audio and fonts converted to base64. No requests at runtime.
·window.install on every CTA. CTA visible from start to end.
·window.gameReady fires once loading finishes. window.gameEnd fires on win and on lose.
·No custom close button or loading screen.
·Rotates freely in both directions without breaking layout.
·Drag and tap work with a mouse.
·No redirect without a tap.
·Mindworks Playable Test Tool shows no red items, and each store click shows a success message.

Why do Mintegral playables get rejected?

ProblemWhat the guideline says
Test tool flags missing APIsAdd window.install, gameReady and gameEnd
Names don't match or contain dashesLetters, numbers, underscores; ZIP, folder and HTML identical
Over 5 MBCompress assets, remove unused libraries. See file size guide
Breaks on rotationSupport both orientations with free rotation
Own close button or loaderRemove; Mintegral supplies them
Auto-redirectRedirect only from a user tap

Review status shows at the creative set level, and sets are reviewed only after you apply them to an offer. From experience: teams often lose a week here because the set sat unapplied. Apply it, then wait the 3 to 5 business days.

Where does Genie Playable fit?

Genie Playable builds a playable from your APK or HTML build plus the assets in Genie, from a format that's already working, or from a brief with Genie Agent, and you iterate from the last version without a developer. It exports network-ready builds for Mintegral, Meta, AppLovin, Unity Ads, Liftoff, Google Ads, TikTok Ads and Pangle. Moloco coming soon.

Not for you if Mintegral is your only network and you're happy with Playturbo's workflow, or if a studio already delivers Mintegral-ready files on time. It helps when the same concept needs to ship to several networks and each one has its own hooks. Iteration tips: iterate on a winning playable.

Get Mintegral-ready builds from one source. One playable in. A Mintegral ZIP with the right hooks out.

Try Genie

FAQ

Sources

  1. 01Mindworks (Mintegral), Guideline, playable testing
  2. 02Mintegral Help Center, Playable ad guide
  3. 03Playturbo docs, Mintegral creative operation guide
  4. 04Playturbo docs, Playable upload specifications for networks (vendor documentation)

Keep reading

All articles →
Playable ads · 7 min read

Playable ad specs by network (2026): size limits, MRAID and file format

Playable ads · 10 min read

Playable ad networks: where should you run playables, and how do you choose?

Track the tap,
not just the install. The events worth measuring inside a playable.
Playable ads · 8 min read

What to track inside a playable ad

Ready to ship playables from your game?

Try for freeBook a demo

How to make a playable ad from your own game (without rebuilding it)

Three ways to turn your game into a playable ad: engine export, HTML5 rebuild, or building from your APK. Steps, specs, testing and mistakes to avoid.

Written by Yonathan Avivi, Head of Marketing, Genie Labs

Technical review by Yotam Wolf, CTO · Published Sep 26, 2026 · Updated Sep 26, 2026 · 11 min read

A playable ad from your own game is a 30 to 90 second interactive slice of your game: your characters, your art and one clear mechanic, packaged as a small HTML5 file an ad network can run. You can't ship your game build as it is. Networks cap playables at about 5 MB in a single HTML file or ZIP, with strict rules on code and clicks. So you have three options: export a stripped-down scene from your engine, rebuild the moment in an HTML5 framework, or use a tool that builds the playable from your game's build and assets. This guide walks through all three.

Key takeaways
{{ k }}

What does "a playable ad from your own game" actually mean?

It means the player sees your game, not a generic template with your logo on top. Studios that do this well keep three things fixed and treat the rest as open.

Keep fixedOpen to change
{{ r.ak }} {{ r.av }}{{ r.bk }} {{ r.bv }}

This matches what UA and creative leads tell us. Brand fidelity is non-negotiable. Gameplay is often borrowed from whatever is trending. The catch is policy. The UK ASA now treats even a genuine but non-core mechanic as potentially misleading, and Google Play bans ads that don't represent the app. The closer your playable is to what players actually get, the safer it is, and the better it tends to retain.

Why can't I just ship my game build as a playable?

Ad networks run playables inside their own ad containers, not as apps. Every playable has to fit this box:

SizeAbout 5 MB on every major network (AppLovin, Meta, Google, TikTok, Unity, Mintegral, Moloco, Snapchat). A WebGL export of a real game is usually far bigger. An empty Godot export is already over the limit.
FormatOne self-contained HTML file with every asset inlined (AppLovin, Unity, Moloco), or a ZIP with an index.html (Google, TikTok, Mintegral, Snapchat). Meta accepts both.
No external callsNothing loads from your servers at runtime.
Click-out callmraid.open() on AppLovin and Unity, FbPlayableAd.onCTAClick() on Meta and Moloco, ExitApi.exit() on Google, window.openAppStore() on TikTok, window.install() on Mintegral.
Behavior rulesMuted until the first interaction, no store redirect on the first tap, no auto-redirects, works in portrait and landscape.

The full list lives in our Playable ad specs by network (2026).

What are the three ways to turn my game into a playable?

1. Engine export 2. HTML5 rebuild 3. Build from your APK or HTML and assets
{{ r.k }} {{ r.a }} {{ r.b }} {{ r.c }}

Most studios mix routes: a hand-built hero playable for a launch, and faster tooling for the weekly variations that keep a campaign alive.

What buyers expect to pay and wait: roughly $3,000 to $8,000 and two to four weeks per new playable from an external studio, and roughly $600 to $2,000 in-house once the setup exists. Nobody has a clean source for these numbers, so treat them as market expectations. One mid-size studio we spoke to put it simply: the market norm is "two weeks onwards", and their target is under a week.

Your game is already the brief.

Upload your APK or HTML build. Genie Playable turns it into a playable ad with your own art, characters and live events, ready for 10 ad networks.

Try it free on your game

How do I make a playable ad from my game, step by step?

01\Pick the moment worth playing

Choose one mechanic a stranger understands in three seconds. Good sources: your core loop at its most satisfying, the live event running now, or a format already converting in your genre. If you can't explain the moment in one sentence, it's too complex. One mechanic beats two.

“Merge plus puzzle looks clever and almost always tests worse.”
Segwise

02\Script the arc

Almost every playable follows the same shape:

{{ a.n }} {{ a.k }} {{ a.v }}

03\Prepare your assets

Export characters, backgrounds, UI and sounds from your game, then cut hard. Compress images, use sprite sheets, trim audio to short loops and subset fonts. Base64 inlining adds about a third to file size, so aim for 2 to 3 MB in total and treat 5 MB as the ceiling.

04\Build it

Whatever route you use, keep the logic in plain HTML and JavaScript, make the layout work in 9:16 and 16:9, and keep sound off until the first tap.

05\Package it for each network

This is where engineer time quietly disappears. "A unit that passes on AppLovin can bounce on Unity," as Segwise puts it. Each network needs the right file format, the right click-out call and any required hooks. Mintegral, for example, expects gameReady() and gameEnd() calls. Build once and generate network variants from one source. Hand-editing copies is how bugs creep in.

06\Test before you upload

{{ t.k }}{{ t.v }}

Then test on a real low-end Android phone. A desktop browser hides most of the problems.

07\Launch and measure

Give each playable enough data before you judge it. A common rule of thumb is about 50 conversions in four days, or 100 in seven. Judge on D7 ROAS and retention, not CPI alone. If you can, add events inside the playable (start, first interaction, win or lose, CTA tap, drop-off point), because network dashboards only show the last step.

08\Plan the next version before this one fatigues

Top-grossing games ship dozens of new playables a month, and most of that volume is variations of a winner. Leading teams put roughly 70% of output into variations and 30% into new concepts. Decide now which single thing you'll change next: the hook, the fail state, the character, the event skin or the end card.

What should I keep from my game, and what can I borrow?

Keep everything that helps a player recognise your game after install: art, characters, UI language, sound. Borrow structure freely, whether that's a proven hook, a pacing pattern or a format working in another genre. Racing and narrative studios often tell us their game "isn't playable". The honest read: a playable doesn't need your full core loop. It needs one true moment from your world.

What are the most common mistakes?

Mistake What happens Fix
{{ m.a }}{{ m.b }}{{ m.c }}
The next version, not a new brief.

When a playable fatigues, Genie Playable lets your UA or creative team change the hook, the character or the event skin on the last version and ship it again. No dev queue.

Book a demo

Where does Genie fit?

Genie Playable takes the third route, and adds two more ways in. You can build from your game: your APK or HTML build together with the assets, narrative, mechanics and live events already in Genie. You can start from a format that's already working and rebuild it with your game inside. Or you can start from scratch and describe the playable to Genie Agent.

Genie Core keeps every version on brand, and Genie Playable exports network-ready variants for Meta, AppLovin, Unity Ads, Liftoff, Google Ads, TikTok Ads, Pangle and Mintegral from one source, with Moloco coming soon. No developer is needed at any step, and your team makes the final call on every version. Sign-up is free and covers your first two playables. Try it on your game.

Where to go next

First playable? Follow how to make a playable ad step by step, then run it through the playable ad best practices checklist. Once it's live, read how to know if your playable ad is working and how to A/B test playable ads.

FAQ

{{ f.a }}

Sources

  1. {{ s.n }}{{ s.name }}

{{ a.h1a }} {{ a.h1b }}

{{ a.desc }}

Written by {{ a.author }}

{{ a.meta }}

Ready to ship playables from your game?