Tools

Making slideshows

Create, edit, read and show design posts.

The default way to make a slideshow. Your agent writes every slide and ReelFarm renders it in a design format.

create_design_post

1 slideshowShows in chat

Make a new slideshow with a design format and get back its rendered slide images.

  • Usually takes 30–120 seconds.
  • Only for new posts. Changes to an existing post go through edit_design_post, or you end up with a duplicate.

Parameters

format_idstringrequired

Design format id from list_design_formats, e.g. "everyday-iphone-apps".

textstring

Fallback when you can't write the slides yourself. Without app_store: text for ReelFarm to split into slides. With app_store: the post's angle, e.g. "top 6 free fitness apps". Prefer slides.

app_storeobject

Fallback for app list posts when you can't write the slides yourself: ReelFarm fetches each app, writes each slide from the store listing and picks screenshots. Prefer app_store lookups plus slides. Don't combine with slides.

app_store.appsstring[]

Apps to feature first, in order: names, App Store ids or apps.apple.com links. Put the user's own app first.

app_store.chartstring

Fill the rest of the list from this App Store chart (default top-free when genre is set).

top-freetop-paidtop-grossing
app_store.genrestring

App Store category: health-fitness, productivity, lifestyle, finance, education, entertainment, games, music, photo-video, social-networking, shopping, travel, utilities, food-drink, sports, news, business, books, medical, navigation, reference, weather, graphics-design, developer-tools.

app_store.countnumber

Total apps including the user's own, one body slide each. "Top 5 plus my app" is 6. Default: the named apps, or 5 with a chart.

app_store.countrystring

Two-letter App Store country, default "us".

slidesobject[]

The preferred input: every slide written by you, following the format's slots and word limits from list_design_formats with format_id. Put image URLs (image_search results, App Store icon_url and screenshot URLs, or the user's own) in image slots. Never use a copied post's own slide images: they already have text and branding on them. Image slots left out get the slot's default image, then images, then image_source. Any count from 1 (just the hook slide, e.g. a single image) up to the format's max_slides works; min_slides only applies when ReelFarm writes the slides from text.

slides[].typestringrequired

Slide type: "hook" for slide 1, then "body" (and "closing" if the design has one).

slides[].slot_valuesobjectrequired

Text, or an https image URL for image slots, keyed by slot name. In text slots with highlight: true, wrap words in *asterisks* to highlight them.

imagesstring[]

https image URLs for empty image slots, in slide order. Prefer these (or URLs in slides) over image_source.

image_sourcestring

Last resort for image slots nothing else covers: "search" (the default) has ReelFarm find photos, which is slower and less precise than picking them with image_search. ReelFarm doesn't generate images; if the user wants generated images, they make them elsewhere and you pass the URLs.

search
titlestring
waitboolean

Wait for the rendered slides (default true, up to ~90s). If the post is still rendering, poll get_design_post.

allow_duplicateboolean

Only when the user explicitly asked for a second, separate copy of a post made in the last half hour with the same format and hook. Otherwise ReelFarm refuses the repeat (DUPLICATE_POST) and you edit that post with edit_design_post instead.

Example arguments
{
  "format_id": "everyday-iphone-apps",
  "slides": [
    { "type": "hook", "slot_values": { "headline": "5 apps i use every single day" } },
    {
      "type": "body",
      "slot_values": {
        "app_name": "Strava",
        "caption": "logs every run so i actually see progress",
        "screenshot": "https://is1-ssl.mzstatic.com/…/strava.png"
      }
    }
  ]
}

edit_design_post

FreeShows in chat

Change an existing post (text, photos, adding or removing slides) and render it again under the same id.

  • Free, up to 30 edits per post.
  • Only the changed slides are redrawn, in the exact design the post was made with.

Parameters

post_idstringrequired

The design post to change, from create_design_post, get_design_post or list_design_posts.

editsobject[]

The preferred input: changes to some slides. Everything else on the post stays the same.

edits[].slidenumberrequired

Slide number, 1 = the hook.

edits[].slot_valuesobjectrequired

Only the slots to change: new text, or an https image URL for an image slot. Slots you leave out stay as they are; null resets an image slot to its default image.

slidesobject[]

Instead of edits, every slide again, to add, remove or reorder slides. Image slots you leave empty keep the photo that slide had. Don't combine with edits.

slides[].typestringrequired

Slide type: "hook" for slide 1, then "body" (and "closing" if the design has one).

slides[].slot_valuesobjectrequired

Text, or an https image URL for image slots, keyed by slot name. In text slots with highlight: true, wrap words in *asterisks* to highlight them.

imagesstring[]

https image URLs for image slots still empty after that, in slide order (e.g. a newly added slide's photo).

titlestring
waitboolean

Wait for the re-rendered slides (default true). If the post is still rendering, poll get_design_post.

use_latest_designboolean

Redraw the post in its format's current design. Only right after you changed the design with update_design_format. Without it, the post keeps the exact design it was made with, even if the format has changed since.

Example arguments
{
  "post_id": "b7e3c2a1-4d5f-4e8a-9c0b-1f2e3d4c5b6a",
  "edits": [
    { "slide": 1, "slot_values": { "headline": "the 5 apps that run my life" } },
    { "slide": 3, "slot_values": { "photo": "https://i.pinimg.com/…/new-photo.jpg" } }
  ]
}

get_design_post

Free

Read a post's status (rendering, ready, failed) and slide image URLs. Shows the user nothing.

Parameters

post_idstringrequired

The id returned by create_design_post.

list_design_posts

Free

List the slideshows made with design formats, newest first. Shows the user nothing.

Parameters

format_idsstring[]

Only posts made with these design formats (ids from list_design_formats). Leave out for posts from every design format.

per_formatnumber

Return the newest N posts of each format in format_ids, e.g. 1 for the latest slideshow of each format.

limitnumber

How many posts to return, newest first (default 10). Ignored with per_format.

show_design_posts

FreeShows in chat

Show the user one post's slides, or their latest posts, in ReelFarm's slide view.

Parameters

post_idstring

Show this one design post's slides. Leave out to show a list of posts.

format_idsstring[]

Only posts made with these design formats (ids from list_design_formats). Leave out for posts from every design format.

per_formatnumber

Return the newest N posts of each format in format_ids, e.g. 1 for the latest slideshow of each format.

limitnumber

How many posts to return, newest first (default 10). Ignored with per_format.

Making slideshows - ReelFarm MCP docs