Tool tree
gradeNot graded
page: Every page
extract_mediaAction
Find the downloadable media (videos, photos, GIFs) in a public social media post. Accepts a post URL from Twitter/X, Instagram, TikTok, Facebook, Threads, Reddit, Bluesky, LinkedIn, or Pinterest, and returns the post's author and text plus every media file with its available qualities and a direct download URL for each.
View tool JSON
{
"name": "extract_media",
"kind": "act",
"impl": "imperative",
"description": "Find the downloadable media (videos, photos, GIFs) in a public social media post. Accepts a post URL from Twitter/X, Instagram, TikTok, Facebook, Threads, Reddit, Bluesky, LinkedIn, or Pinterest, and returns the post's author and text plus every media file with its available qualities and a direct download URL for each.",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The post URL exactly as the user gave it. Short links (t.co, vm.tiktok.com, fb.watch, pin.it) and mobile URLs are fine — they are resolved automatically."
}
},
"required": [
"url"
]
},
"page": "/"
}get_download_urlAnswer
Get the download URL for one media file from the post that was last extracted on this page. Use this after extract_media when the user wants a specific item or a specific quality. The returned URL streams the actual file and can be fetched directly.
View tool JSON
{
"name": "get_download_url",
"kind": "answer",
"impl": "imperative",
"description": "Get the download URL for one media file from the post that was last extracted on this page. Use this after extract_media when the user wants a specific item or a specific quality. The returned URL streams the actual file and can be fetched directly.",
"inputSchema": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"description": "Which media item to download, starting at 0. Defaults to 0 (the first item). Use the index values reported by extract_media."
},
"quality": {
"type": "string",
"description": "Which rendition to download: 'best' (default) or 'smallest'. You can also pass a quality key reported by extract_media, such as 'hd1080' or 'sd720'."
}
}
},
"page": "/"
}list_supported_platformsAnswer
List the social media platforms curl-x can download from. Use this to check whether a given site is supported before asking the user for a link.
View tool JSON
{
"name": "list_supported_platforms",
"kind": "answer",
"impl": "imperative",
"description": "List the social media platforms curl-x can download from. Use this to check whether a given site is supported before asking the user for a link.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}unroll_threadAction
Rebuild a Twitter/X self-reply thread into one readable sequence, including the media attached to every post in it. Use this when the user wants to read or save a whole thread rather than a single post.
View tool JSON
{
"name": "unroll_thread",
"kind": "act",
"impl": "imperative",
"description": "Rebuild a Twitter/X self-reply thread into one readable sequence, including the media attached to every post in it. Use this when the user wants to read or save a whole thread rather than a single post.",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "A Twitter/X post URL anywhere in the thread — it does not have to be the first post."
}
},
"required": [
"url"
]
},
"page": "/"
}