Changelog

Changes to the MCP tools and the API that can change what your calls make or cost.

Changes that can change what your calls make or cost, newest first.

2026-10-29: save images, group notes, ideas with reasons

  • New tool save_images: keep up to 20 of the user's images in their Media library and, optionally, an existing or new collection, in one call. Upload each file with create_upload first.
  • generate_slideshow, estimate_cost and suggest_topics take an optional groupId. Wavegrain then writes with that account group's notes and words to avoid on top of the brand voice, and plans the slideshow for that group.
  • suggest_topics also returns ideas, each with a number, format and a one-line reason, and performance, a line on the brand's measured posts. topics is unchanged.
  • list_accounts shows each group's notes and avoid.
  • estimate_cost now needs the read permission instead of generate, because it spends nothing. A key without spending can tell its user what a slideshow would cost.
  • list_slideshows and get_slideshow give each slideshow a link that opens it in Wavegrain. Give your user that link; do not build one.
  • get_slideshow links the inline slide viewer for normal slideshows too, and sends each slide as a small JPEG in the result's _meta (wavegrain/slidePreviews) for it. Hosts that show MCP Apps draw the slides inline; other clients ignore _meta and keep the one preview image.

2026-10-28: generate_slideshow answers at once, photos only, topic ideas

generate_slideshow now answers within a second with a jobId and status: "writing", instead of waiting for the script. Writing a script can take one to two minutes, longer than many MCP hosts wait for a tool.

  • Call get_generation_status with the jobId about every 20 seconds. It answers writing, making_images, ready or failed, with the slideshowId once the script is written and the credits it cost.
  • generate_slideshow no longer returns slideshowId, slideCount or creditsCharged; get_generation_status does.
  • photosOnly: true on generate_slideshow and estimate_cost makes no AI image at all, so only the script costs credits. A slide no photo fits stays empty; get_generation_status names it in emptySlides, and search_images with set_slide_image fills it for free.
  • New tool suggest_topics: topic ideas for a brand from its voice, its recent topics and proven hooks in the Inspiration library. It is free and shares the app's limit of 20 an hour per account.

2026-10-28: photos first for every slideshow

generate_slideshow now aims every slide at a photo. It uses your saved photos first, then runs an image search for each slide, then tries your brand's own website photos and a close fit. A slide gets an AI image only when none of these fits it.

  • Photo slides cost no credits, so a slideshow usually costs less than before. estimate_cost and maxCredits still name the most a slideshow can cost, as if every slide were an AI image.
  • A saved format keeps its own image setting.
  • POST /api/generate with no image setting now means photos first too. Send libraryMixRatio: 0 (or libraryMix: false) for AI images only. libraryMix: true still means about half photos.

Something wrong or missing? Write to [email protected].