Skip to main content
Glama

publish_carousel_as_video

Convert a folder of images into a 1080×1920 slideshow MP4 and publish it to TikTok, Instagram, or YouTube. Use it to create TikTok video drafts or attach a custom soundtrack, working around API restrictions on photo posts.

Instructions

Convert a folder of images into a 1080×1920 slideshow MP4 and publish it. Use this when (a) you want the carousel as a TikTok DRAFT (TikTok's API rejects PHOTO carousels for drafts but accepts VIDEO drafts so the user can add trending music in-app), or (b) you want to attach a specific MP3 to the carousel (TikTok/IG don't allow audio attachment to photo posts via API, but a video with baked-in audio works). Requires ffmpeg installed locally. Returns a single video post, not a carousel post.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoOptional. 'publish' (default) publishes immediately. 'draft' sends to TikTok inbox / YouTube as private — user finishes in mobile app.
pathsYesFolder containing slide images, or a list of image file paths. Files are sorted alphabetically — name them 01_, 02_, etc. for ordering.
captionYesPost caption.
hashtagsNoHashtags without # prefix.
platformsYesPlatforms to publish to. Must be connected. For mode='draft', Instagram is not allowed (no IG drafts API).
audio_pathNoOptional. Local path to an MP3/WAV/M4A/AAC file to use as soundtrack. If omitted, the video has no audio (creator can add trending music in-app if mode='draft').
account_idsNoSpecific connection IDs (from list_connections) to target. REQUIRED when you have multiple accounts on a platform — without it the post fans out to EVERY connected account on the platform (e.g. a draft landing on the wrong handle).
duration_per_slideNoOptional. Seconds each slide is displayed. Defaults to 3.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does so well. It discloses the conversion to a 1080×1920 MP4, the draft vs. publish behavior, the audio baking, the ffmpeg dependency, and the output type (single video post). It also explains platform-specific API limitations, providing transparency beyond basic side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, each earning its place. The first sentence front-loads the core action, the second gives detailed usage cases, and the third covers prerequisites and outcome. No fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no output schema), the description provides enough context for an agent to decide when to invoke it: it covers the main use cases, output type, and a key prerequisite. The schema handles parameter details, and the description's statement about the return type compensates for the lack of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add significant new parameter-level meaning beyond the schema; it mentions the resolution and ffmpeg requirement but leaves detailed parameter semantics to the schema. The 'audio_path' and 'mode' behaviors are already described in the schema, so the description adds minimal value here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Convert a folder of images into a 1080×1920 slideshow MP4 and publish it.' It also distinguishes this from a standard carousel post by noting 'Returns a single video post, not a carousel post.' This makes the purpose specific and differentiates it from sibling tools like publish_now or publish_to_meta.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists two scenarios for using this tool: (a) when a TikTok DRAFT is wanted (due to TikTok's API rejecting photo carousels for drafts) and (b) when attaching a specific MP3 to the carousel (since TikTok/IG don't allow audio on photo posts). It also notes a prerequisite ('Requires ffmpeg installed locally'), giving clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AI-Product-Allen-Yu/viralspin-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server