Skip to main content
Glama

txtreel

Screenshot a Reddit thread

reddit_screenshot

Render a single frame of a Reddit thread (script, or post+comments) to a PNG and return it as an image. Defaults to the last frame — pass "frame" to capture an earlier moment (30 fps).

Returns the PNG as image content, plus a text line with the PNG's URL (expires after 24 hours).

If the thread is invalid, this returns an error result with the validation messages instead of an image — fix and call again; there is no separate reddit_validate tool.

Reddit thread script format (post + nested comments):

title: AITA for not going to my sister's wedding? body: First paragraph of the post (optional, one line per paragraph) body: Second paragraph [photo URL] a photo in the post (URL, file path or uploaded photo's number) sleepy_joe: A top-level comment

OP: A reply by the post's author (blue OP label)

sleepy_joe [2.1K 3h]: A reply to that reply, with its votes and age [91 more replies] collapsed replies under the comment above [pause 2] wait 2 s

comment

This is a screen recording of someone reading a real-looking thread on mobile reddit.com in iOS Safari: the page is laid out once and the camera scrolls from block to block, holding each one long enough to read. The title is the hook and is on screen from frame 0 — make it count. A typical reel is a post with 1-3 short body paragraphs plus 4-10 comments, about 30-60 seconds. Use nested replies (">", ">>", …) and a reply from the post's author ("> OP: …") for drama — someone getting called out and the poster jumping in reads as real. A "[N more replies]" line under a comment adds realism: it's what a real collapsed thread looks like. Leave scores and ages out unless they matter to the story — they're made up realistically (decreasing down the thread, never older than the post) when omitted. Use "speed" 1.3-1.5 for a faster-paced reel.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
postNoThe post. Use this OR script, not both.
frameNoFrame index to capture, at 30 fps (e.g. 30 = one second in). Omit to capture the final frame of the thread.
speedNoPacing multiplier; 2 = twice as fast, 0.5 = half speed. Default: 1. Use 1.3-1.5 for a faster reel.
themeNoColor theme, "light" or "dark". Default: light.
scriptNoThread as a plain-text script. Use this OR post/comments, not both. Reddit thread script format (post + nested comments): title: AITA for not going to my sister's wedding? body: First paragraph of the post (optional, one line per paragraph) body: Second paragraph [photo URL] a photo in the post (URL, file path or uploaded photo's number) sleepy_joe: A top-level comment > OP: A reply by the post's author (blue OP label) >> sleepy_joe [2.1K 3h]: A reply to that reply, with its votes and age [91 more replies] collapsed replies under the comment above [pause 2] wait 2 s # comment This is a screen recording of someone reading a real-looking thread on mobile reddit.com in iOS Safari: the page is laid out once and the camera scrolls from block to block, holding each one long enough to read. The title is the hook and is on screen from frame 0 — make it count. A typical reel is a post with 1-3 short body paragraphs plus 4-10 comments, about 30-60 seconds. Use nested replies (">", ">>", …) and a reply from the post's author ("> OP: …") for drama — someone getting called out and the poster jumping in reads as real. A "[N more replies]" line under a comment adds realism: it's what a real collapsed thread looks like. Leave scores and ages out unless they matter to the story — they're made up realistically (decreasing down the thread, never older than the post) when omitted. Use "speed" 1.3-1.5 for a faster-paced reel.
endHoldNoSeconds to hold on the final frame before the video ends. Default: 2.
commentsNoComments as an array of event objects instead of a script string (use this OR script, not both). Each item is one of: {author, text, depth (0 top-level, 1 reply to the nearest depth-0 comment above, 2 reply to that, …), score?, age?, op?, avatar?, moreReplies?, hold?} or {type:"pause", seconds}. "op" or an author matching the post author gets the blue OP label automatically.
statusBarNoPhone status bar shown above the Safari toolbar.
subredditNoThe subreddit the thread is posted in.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

With annotations only stating readOnly/idempotent/destructive/openWorld hints, the description carries real behavioral weight: it discloses the return shape (PNG as image content plus a text line with a URL that expires in 24 hours) and the failure path (error result containing validation messages instead of an image). That goes well beyond what the structured hints convey.

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

Conciseness4/5

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

The core purpose, return behavior, and error handling are front-loaded, and the thread-authoring guidance is genuinely useful for generating a realistic result. However, the script-format block is reproduced almost verbatim from the schema's 'script' property, which is redundant padding within the description itself.

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?

There is no output schema, and the description compensates by explaining exactly what is returned and how long the URL lives. For a 9-parameter tool with nested post/subreddit/statusBar objects and two alternative input modes, the description plus schema together leave nothing essential unexplained for a correct invocation.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description ties parameters together into a workflow: frame at 30 fps, speed as a pacing multiplier with a recommended 1.3-1.5 range, and the post-vs-script mutual exclusivity. Much of the script-format text is duplicated verbatim from the schema's 'script' property, which limits the added meaning.

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 opening sentence names a specific verb and resource ('Render a single frame of a Reddit thread ... to a PNG') and immediately scopes it to single-frame stills as opposed to the sibling reddit_render_video. It also clarifies the two mutually exclusive input modes (script vs post+comments), so an agent can identify the tool without opening the schema.

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

Usage Guidelines4/5

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

It tells the agent when to pass 'frame' (capture an earlier moment) versus omitting it (default last frame), how to pace a reel with 'speed', and explicitly notes that validation is folded in because there is no separate reddit_validate tool. What is missing is an explicit contrast with reddit_render_video for when a still is preferable to a video.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources