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.
Run it free in the playground, then call it from your app.
No inputs handy? Try one of these
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
claude mcp add --transport http puras https://mcp.puras.co/mcpOAuth on first call — no key to paste. Then ask the agent to run 2d-playable-ad from skill puras/game-ad-studio.
pip install puras
puras login # or set PURAS_API_KEY
puras run puras/game-ad-studio/2d-playable-ad -i key=valueimport 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"})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": {
"playable": {
"type": "file",
"description": "The finished self-contained playable ad as one .html file. 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"
}
}
}Call AI Playable Ad Generator from your app.
Run it free in the playground above, then wire it in with one call — from Python, TypeScript, or your coding agent over MCP. Every run returns an exact cost receipt.
Every run is billed to the cent — see pricing.