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
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_idstringrequiredDesign format id from list_design_formats, e.g. "everyday-iphone-apps".
textstringFallback 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_storeobjectFallback 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.chartstringFill the rest of the list from this App Store chart (default top-free when genre is set).
top-freetop-paidtop-grossingapp_store.genrestringApp 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.countnumberTotal 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.countrystringTwo-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[].typestringrequiredSlide type: "hook" for slide 1, then "body" (and "closing" if the design has one).
slides[].slot_valuesobjectrequiredText, 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_sourcestringLast 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.
searchtitlestringwaitbooleanWait for the rendered slides (default true, up to ~90s). If the post is still rendering, poll get_design_post.
allow_duplicatebooleanOnly 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.
{
"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
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_idstringrequiredThe 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[].slidenumberrequiredSlide number, 1 = the hook.
edits[].slot_valuesobjectrequiredOnly 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[].typestringrequiredSlide type: "hook" for slide 1, then "body" (and "closing" if the design has one).
slides[].slot_valuesobjectrequiredText, 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).
titlestringwaitbooleanWait for the re-rendered slides (default true). If the post is still rendering, poll get_design_post.
use_latest_designbooleanRedraw 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.
{
"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
Read a post's status (rendering, ready, failed) and slide image URLs. Shows the user nothing.
Parameters
post_idstringrequiredThe id returned by create_design_post.
list_design_posts
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_formatnumberReturn the newest N posts of each format in format_ids, e.g. 1 for the latest slideshow of each format.
limitnumberHow many posts to return, newest first (default 10). Ignored with per_format.
show_design_posts
Show the user one post's slides, or their latest posts, in ReelFarm's slide view.
Parameters
post_idstringShow 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_formatnumberReturn the newest N posts of each format in format_ids, e.g. 1 for the latest slideshow of each format.
limitnumberHow many posts to return, newest first (default 10). Ignored with per_format.