studio
poppify/studioPoppify Studio turns 1–10 photos into a captioned 15/30/60s vertical reel for Instagram, TikTok, YouTube Shorts, or Facebook — with motion, library-matched music, and optional AI voiceover. Built for solo founders and SMBs who need to ship content fast. The photo-to-reel pipeline takes your uploaded photos, runs a strategist that picks a narrative arc, runs a copywriter that writes per-slide captions, and composes the final 9:16 video. Twenty-seven MCP tools cover session creation, slide editing, audio matching, asset generation, and confirm/render. Fourteen narrative recipes (transformation, social proof, hot take, behind-the-scenes, and more) are tuned for short-form social. Audio is matched from a free library or generated fresh via ElevenLabs Music. Voiceover is optional, sourced from the ElevenLabs voice catalog. Authentication is anonymous — call register() once to mint a free wallet and API key. No signup form, no card required. Works in Claude Code, Claude.ai, ChatGPT, Cursor, Cline, and any MCP-compatible host.
Score: 100/100
Handshake verified by our own probe.
Tools · 12
[FREE] What Poppify does, what it costs, which flows exist. No args = the overview (call first when unsure Poppify fits). {questions} = the intake for a thin REEL ask ("make me a reel") — ask everythi…
[FREE] Start a reel. Exactly one of: {photos} — the user's own images (photo-led, copy is written inline); {topic} — no photos, built from a brief; {post} — reopen an existing reel (from account({reel…
[FREE] Read the reel. view:"status" (default) = state + the exact render price before render, then poll every 20-30s after it (not_confirmed | rendering | complete | failed | expired); on complete han…
[FREE] Find what already exists — reusing it costs ZERO seeds, so search before generate. Exactly one of: {mine} = the user's own images, cards and uploads ("my logo", "that shot from before"); {image…
[FREE] Proposals to show the user BEFORE anything is made or written — a suggestion never changes the reel. Exactly one of: {image} = a generation prompt for one still (pass slideIndex to design aroun…
[PAID except text_card] Make new media and put it on the reel in the same call (pass sessionId + slideIndex). Exactly one of: {image} 5 seeds — an AI still; {panels} 5 seeds — ONE generation sliced in…
[FREE] THE one way to change a reel. commands[] runs in order, each command one object with ONE key: {slide} = one shot (set_text = literal caption, set_image, set_duration, set_motion_mode, move, add…
[1 SEED base] Lock the reel, charge, start rendering. get_session shows the exact price first — say it to the user. Insufficient balance → account {wallet:{action:"topup"}}. Then poll get_session ever…
[FREE] Post or schedule to the user's connected channels. Call with no channelIds first: the reply lists their channels and best posting slots — let the USER pick, never auto-select. postId (from rend…
[FREE] The user's account, not the reel. Exactly one of: {wallet} balance / topup / link; {register} a new wallet; {portfolio} list / switch / set_logo; {channels} list / connect / status / select / r…
[FREE] Bring the user's own files in. {upload} = a photo, audio or video by sourceUrl or dataBase64 (≤15MB), or omit both for a presigned PUT; {page} = import chosen images from a page they own (previ…
[FREE] After a render: what worked, what was friction. Reaches the engineering queue.
How to use
Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://poppify.ai/mcp
Cursor or Cline: add to your MCP config:
{
"mcpServers": {
"studio": {
"url": "https://poppify.ai/mcp",
"transport": "http"
}
}
}