puras / Game Ad Studio

AI Playable Ad Generator

An AI playable ad generator that turns a short brief plus your game's logo and sprites into a real HTML5 mini-game playable ad. The agent researches your game, designs the core mechanic itself, and engineers it on a purpose-built 2D engine — shipping one self-contained, MRAID-ready HTML file (under 5 MB, assets inlined) you can drop straight into AppLovin, Unity, Meta, TikTok, or any ad network. No coding, no QA cycles, no HTML5 dev team.

Try it free — $10 free credits, no card.

The game's logo (transparent PNG preferred). Shown on the end card.

Transparent PNG sprites of the game's objects. Order matters.

CTA button text, e.g. "Play Now", "Install".

The game's name (used for the title and end card).

App Store / Google Play URL the CTA opens.

Loading…

No inputs handy? Try one of these

Everything you can do

What AI Playable Ad Generator does

From assets to playable

Drop in your logo, sprites, and copy and it plans and builds the whole mini-game.

Proven mechanics

It picks a mechanic that fits — tap puzzles to joystick arcade — instead of a one-size template.

Network-ready file

A single, self-contained file that drops straight into any ad network.

Built on a tested engine

The game is assembled step by step on a purpose-built engine, not glued together.

Who it's for

Built for teams who ship.

Mobile game studios

Ship playable creative without a dedicated HTML5 developer.

UA & growth teams

Test new playable mechanics at campaign speed.

Agencies & UA creative teams

Produce network-ready playables for multiple titles over one API.

Comparison

AI Playable Ad Generator vs PlayableMaker

An API-native, usage-based alternative to PlayableMaker — your skill and prompt run server-side, called from your own product, billed per run.

PlayableMakerpuras
PricingSubscription plans for the editorUsage-based — pay per playable you generate, exact cost each run
How it's builtYou assemble the playable in a no-code editorAn agent designs and builds the mini-game from your brief and assets
Where it runsA web editor your team works inAPI-native — generate playables from your own UA pipeline
OutputExport from their platformOne self-contained, MRAID-ready HTML file for any ad network

Free to try

Try AI Playable Ad Generator free — in your browser

The playground above is the real skill, not a demo. Load an example or bring your own inputs, sign in with Google, and run it — no credit card, no subscription, no install. After the free try, runs are usage-based and every run reports its exact cost.

Run it free

FAQ

Questions, answered.

Can AI generate a playable ad from a text prompt?+

Yes. Give it a short brief describing your game and the hook you want, plus your logo and sprites, and the agent researches the game, designs the core mechanic itself, and engineers a real HTML5 mini-game — turning your prompt into a playable ad.

How do you make a playable ad without coding?+

You don't write any code. The agent designs and builds the whole mini-game on a tested 2D engine from your assets and brief, then ships one self-contained HTML file — no HTML5 developer, game engine setup, or QA cycles on your side.

What ad networks does the playable ad work with (AppLovin, Unity, Meta, TikTok)?+

It outputs one self-contained, MRAID-ready HTML file built to the single-file spec networks require, so it drops into AppLovin, Unity, Meta, Google, TikTok, and other major ad networks without per-network reformatting.

What is MRAID and why do playable ads need it?+

MRAID is the mobile rich-media ad standard networks use to load a playable and handle its store click-out. Every playable this skill builds wires the MRAID ready handshake and the mraid.open call to your store URL, so the CTA opens the App Store or Google Play correctly in-network.

What's the file size limit for a playable ad, and does this stay under it?+

Most networks cap playables around 5 MB. This skill inlines your logo and sprites as base64 into a single HTML file and validates against a 5 MB ceiling, so the output ships within standard network size limits.

Do I need a game engine to build a playable ad?+

No. The skill builds the game on its own purpose-built 2D engine and assembles everything into one standalone HTML file — there's no engine to install, license, or export from on your side.

Can I generate playable ads from my own pipeline or app?+

Yes — it's API-native. Call it with one API key from your UA workflow to generate network-ready playable ads on demand for one title or many.

Powered by puras

This skill is infrastructure.

AI Playable Ad Generator runs on puras, the agentic backend — every skill here is a versioned, server-side capability your product can call with one API key: async, sync, or streamed. No model wiring, no queue, no servers.

Related skills

Mobile game UA creative

For developers

Run it from your own stack.

This skill is an API. One call runs the whole pipeline server-side as a long-running job and returns the result — from Python, plain HTTP, or an MCP-connected coding agent.

API access — MCP · Python SDK · cURL · JSON schemas
MCP· recommended for coding agents
claude mcp add --transport http puras https://mcp.puras.co/mcp

OAuth on first call — no key to paste. Then ask the agent to run 2d-playable-ad from skillpack puras/game-ad-studio.

CLI
pip install puras puras login # or set PURAS_API_KEY puras run puras/game-ad-studio/2d-playable-ad -i key=value
Python SDK
import puras client = puras.Client() # PURAS_API_KEY from env result = client.run("puras/game-ad-studio/2d-playable-ad", {"logo":"https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/logo.png","brief":"A simple tap-to-merge garden on a GRID. Tap two adjacent matching plants to merge them up the chain (strawberry → tomato → … → watermelon), fill a small goal, then the install end card. Keep a soft PASTEL/light background and cute art — this deliberately stresses readable HUD text on a light background. One control verb: tap. Lay the board inside the safe area so the score/hint never overlap it.","sprites":["https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/strawberry.png","https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/tomato_small.png","https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/tomato_big.png","https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/carrot.png","https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/cabbage.png","https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/watermelon.png"],"cta_text":"Play Free","headline":"Grow your garden!","game_name":"Adorable Gardens","store_url":"https://play.google.com/store/apps/details?id=com.example.adorablegardens","brand_color":"#ff5fa2"})
HTTP API· wait=true blocks until the job finishes
curl -X POST "https://api.puras.co/v1/jobs?skillpack=puras/game-ad-studio&wait=true" \ -H "Authorization: Bearer $PURAS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"skill":"2d-playable-ad","inputs":{"logo":"https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/logo.png","brief":"A simple tap-to-merge garden on a GRID. Tap two adjacent matching plants to merge them up the chain (strawberry → tomato → … → watermelon), fill a small goal, then the install end card. Keep a soft PASTEL/light background and cute art — this deliberately stresses readable HUD text on a light background. One control verb: tap. Lay the board inside the safe area so the score/hint never overlap it.","sprites":["https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/strawberry.png","https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/tomato_small.png","https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/tomato_big.png","https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/carrot.png","https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/cabbage.png","https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/game-ad-studio/2d-playable-ad/adorable-gardens/watermelon.png"],"cta_text":"Play Free","headline":"Grow your garden!","game_name":"Adorable Gardens","store_url":"https://play.google.com/store/apps/details?id=com.example.adorablegardens","brand_color":"#ff5fa2"}}'
Input schema (JSON Schema)
{
  "type": "object",
  "required": [
    "logo",
    "sprites",
    "game_name",
    "cta_text",
    "store_url"
  ],
  "properties": {
    "logo": {
      "type": "image",
      "description": "The game's logo (transparent PNG preferred). Shown on the end card."
    },
    "brief": {
      "type": "string",
      "description": "Free-form direction for the playable: what the game is and what to feature — the core fantasy, the genre, the one mechanic and hook you want, the feeling to convey. The engineer researches the game (and the store listing) and designs the core concept itself, so this is guidance, not a fixed menu. Leave empty to let it infer the best concept from the game name, store URL, and the assets.\n"
    },
    "sprites": {
      "type": "array",
      "items": {
        "type": "image"
      },
      "maxItems": 12,
      "minItems": 1,
      "description": "Transparent PNG sprites of the game's objects. Order matters."
    },
    "cta_text": {
      "type": "string",
      "maxLength": 24,
      "minLength": 2,
      "description": "CTA button text, e.g. \"Play Now\", \"Install\"."
    },
    "headline": {
      "type": "string",
      "maxLength": 40,
      "description": "Short end-card hook (2–5 words). Auto-written if empty."
    },
    "game_name": {
      "type": "string",
      "maxLength": 40,
      "description": "The game's name (used for the title and end card)."
    },
    "store_url": {
      "type": "string",
      "description": "App Store / Google Play URL the CTA opens."
    },
    "brand_color": {
      "type": "color",
      "description": "Accent color for the CTA. Derived from the logo if empty."
    },
    "orientation": {
      "enum": [
        "portrait",
        "landscape",
        "both"
      ],
      "type": "string",
      "description": "Target orientation. Default both."
    }
  }
}
Output schema (JSON Schema)
{
  "type": "object",
  "properties": {
    "playables": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "playable_url": {
            "type": "file",
            "description": "Drive path to the single-file .html playable; served to readers as a stable media URL. Rendered inline as a live HTML preview.",
            "contentMediaType": "text/html"
          }
        }
      },
      "maxItems": 1,
      "minItems": 1,
      "description": "The produced playable (exactly one)."
    }
  }
}
SpecDocs

Try AI Playable Ad Generator free.

Run it in the playground above — $10 free credit, no card. Every run returns an exact cost receipt.

Want this in your own pipeline? Deploy your own skill →