AI Game Ad Generator
Turn a game's store link — or whatever media you have — into a finished, captioned mobile-game video ad. Paste an App Store / Google Play URL or drop screenshots and gameplay footage, and it builds a thumb-stopping UA creative (hook, mid payoff, and CTA end card) with burned-in captions for sound-off feeds. A store-link-to-video and gameplay-to-ad generator for mobile-game user acquisition.
~$4.50 per video·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 game-ad-generator from skill puras/game-ad-studio.
pip install puras
puras login # or set PURAS_API_KEY
puras run puras/game-ad-studio/game-ad-generator -i key=valueimport puras
client = puras.Client() # PURAS_API_KEY from env
result = client.run("puras/game-ad-studio/game-ad-generator", {"brief":"https://play.google.com/store/apps/details?id=com.supercell.brawlstars&hl=en","aspect_ratio":"9:16"})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":"game-ad-generator","inputs":{"brief":"https://play.google.com/store/apps/details?id=com.supercell.brawlstars&hl=en","aspect_ratio":"9:16"}}'Input schema (JSON Schema)
{
"type": "object",
"required": [
"brief"
],
"properties": {
"logo": {
"type": "image",
"description": "The game's logo / icon (transparent PNG preferred). Shown on the end card."
},
"brief": {
"type": "text",
"maxLength": 2000,
"description": "What the game is, who it's for, and the angle you want. Can also carry a full creative direction — an ad scenario / shot list, specific gameplay moments, a hook, spoken lines, on-screen text, pacing, tone, or CTA — which the ad then executes (it only invents what you leave open). An App Store / Google Play link on its own also works."
},
"style": {
"enum": [
"auto",
"bold",
"playful",
"minimal",
"premium"
],
"type": "string",
"default": "auto",
"description": "Visual tone of the end card. `auto` decides from the game's genre."
},
"cta_text": {
"type": "string",
"default": "Play Now",
"maxLength": 24,
"minLength": 2,
"description": "End-card button text, e.g. \"Play Now\", \"Install\"."
},
"language": {
"type": "string",
"maxLength": 12,
"description": "Optional language code for the script / voiceover (e.g. \"en\", \"tr\"). Empty = the brief's language."
},
"template": {
"enum": [
"auto",
"fail_to_success",
"save_the_character",
"talking_creator",
"reaction_pip",
"screen_record_pov",
"satisfying_asmr",
"before_after",
"pattern_interrupt",
"custom"
],
"type": "string",
"default": "auto",
"description": "Which winning ad structure to build. `auto` picks the best fit for your media + genre; `custom` composes a bespoke one. Templates are starting points, not rails. See references/creative-playbook.md for what each does.\n"
},
"game_name": {
"type": "string",
"maxLength": 60,
"description": "Optional. The game's name (otherwise read from the store listing / brief)."
},
"brand_color": {
"type": "color",
"description": "Accent color for the end card / caption highlight. Derived from the logo / art if empty."
},
"screenshots": {
"type": "array",
"items": {
"type": "image"
},
"maxItems": 10,
"minItems": 0,
"description": "Gameplay screenshots / key art. Used as demo footage source, end-card references, and to read the art style."
},
"aspect_ratio": {
"enum": [
"9:16",
"1:1",
"16:9"
],
"type": "string",
"default": "9:16",
"description": "Output frame — 9:16 (vertical), 1:1 (square), or 16:9 (landscape)."
},
"gameplay_videos": {
"type": "array",
"items": {
"type": "video"
},
"maxItems": 5,
"minItems": 0,
"description": "Screen recordings of real gameplay. The strongest proof of gameplay — used as the hero footage of the ad."
},
"duration_seconds": {
"type": "integer",
"default": 15,
"maximum": 60,
"minimum": 8,
"description": "Target length of the ad, including the end card. 15 s is the sweet spot; longer ads stitch extra segments."
}
}
}Output schema (JSON Schema)
{
"type": "object",
"properties": {
"video": {
"type": "video",
"description": "The finished ad creative (ends on the end card) — the single playable video on drive. The playground renders it with a <video> player.\n"
}
}
}Call AI Game 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.