Maison Mise API
Everything you can do in the app, you can do over HTTP. Create a key in Settings and send it as a Bearer token.
Create a slideshow
POST /api/v1/slideshows returns once slides are written and illustrated (usually 30 to 90s). The virality score is computed in the background.
curl -X POST https://maisonmise.com/api/v1/slideshows \
-H "Authorization: Bearer sm_live_..." \
-H "Content-Type: application/json" \
-d '{
"prompt": "5 underrated apps for students who procrastinate",
"format": "underrated-apps",
"style": "clean",
"aspect": "9:16",
"slides": 6,
"language": "English",
"imageSource": "photos"
}'
# → { "id": "s_8f2c…", "url": "/app/s/s_8f2c…" }Parameters
- prompt
- string, required. What the slideshow is about (max 600 chars).
- format
- underrated-apps, things-i-wish, news-explainer, hidden-history, study-says, pov-relationship, before-after, neighborhood-guide, mistakes, book-app-pairing, product-roundup, free
- style
- maison, tiktok, news, editorial, clean, research (defaults to the format's style)
- aspect
- 4:5 (default), 9:16, 1:1
- slides
- 3 to 10
- language
- English, Spanish, Portuguese, French, German, Italian, Japanese, Korean, Indonesian, Hindi, Arabic, Turkish, Dutch, Polish, Vietnamese, Chinese (Simplified)
- imageSource
- photos (CC-licensed, default) or ai
- clone
- { url?, caption?, slideText? }: copy a viral post's structure
Other endpoints
GET /api/v1/slideshows # list (?q= to search)
GET /api/slideshows/:id # full slideshow incl. analysis
POST /api/slideshows/:id/edit # { "instruction": "shorter hook" }
POST /api/slideshows/:id/analyze # re-score now
GET /api/slideshows/:id/slides/:n # slide PNG (?w=540 preview)
GET /api/slideshows/:id/download?type=zip|mp4Errors return { "error": "…" } with 400 (bad input), 401 (missing key), 402 (monthly quota used) or 502 (AI provider error).