ConvertFleet

MCP docs › Tools › YouTube Thumbnail Downloader

YouTube Thumbnail Downloader

youtube_thumbnail_download fast Video, audio & downloads

Download YouTube video thumbnails at the highest resolution that actually exists (maxres -> sd -> hq ladder). Works on single videos/Shorts or a whole channel/playlist, with a limit, a view-count sort, and a top-N trim. View counts are returned, so 'the 3 most-viewed of the last 16 uploads' is one call.

When to use. Getting YouTube thumbnail images for one video, or in bulk from a channel - especially when you want the best-performing ones by view count.
Not for. Downloading the video itself (use youtube_download) or transcripts (use youtube_transcript).

Parameters

NameTypeRequiredDefaultDescription
urls string[] no — Individual video links. Up to 100 per run. Either this or 'account' is required.
account string no — A channel URL, @handle, playlist URL or video URL (resolved to its channel). Up to 200 videos.
limit integer no 15 How many videos to CONSIDER from an account listing (1-200).
top integer no 0 After sorting, keep only this many (0 = keep all). Set limit=16, sort='most_viewed', top=3 to get the 3 most-viewed of the last 16.
sort string no "latest" latest | oldest | most_viewed | least_viewed | as_given.
full_stats boolean no false Also fetch likes, comment count and the full description (plus the exact view count and upload date). One extra lookup per KEPT item, applied after the 'top' trim.
all_variants boolean no false Also save every alternate size / animated cover.
download boolean no true Save copies server-side so the URLs don't expire. False returns platform URLs only.

Returns

items[] with id, title, description, author, view_count, like_count, comment_count, and on TikTok also share_count / save_count / repost_count; plus upload_date, duration_string, width, height, cover_url (the platform URL) and file_url (our saved copy, which does not expire). Also zip_url, notes[] and failed[] with a reason per input that could not be read.

Each row typically carries: count considered saved_count full_stats items zip_url notes failed

The response body is { status, count, fields, results }. Runs that exceed the inline wait return { status: "running", job_id, tool_flow } instead — see Jobs & errors.

Call it over MCP

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "youtube_thumbnail_download",
    "arguments": {
      "account": "@mkbhd",
      "limit": 16,
      "sort": "most_viewed",
      "top": 3,
      "full_stats": true
    }
  }
}

Call it over the REST API

curl -X POST https://convertfleet.online/api/tool-run \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool":"yt_thumbs","params":{"account":"@mkbhd","limit":16,"sort":"most_viewed","top":3,"full_stats":true}}'

Both paths run the same job engine, enforce the same plan limits and count against the same monthly quota. See the REST API page.

Related tools

JSON Schema

{
  "type": "object",
  "properties": {
    "urls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Individual video links. Up to 100 per run. Either this or 'account' is required."
    },
    "account": {
      "type": "string",
      "description": "A channel URL, @handle, playlist URL or video URL (resolved to its channel). Up to 200 videos."
    },
    "limit": {
      "type": "integer",
      "description": "How many videos to CONSIDER from an account listing (1-200).",
      "default": 15
    },
    "top": {
      "type": "integer",
      "description": "After sorting, keep only this many (0 = keep all). Set limit=16, sort='most_viewed', top=3 to get the 3 most-viewed of the last 16.",
      "default": 0
    },
    "sort": {
      "type": "string",
      "description": "latest | oldest | most_viewed | least_viewed | as_given.",
      "default": "latest"
    },
    "full_stats": {
      "type": "boolean",
      "description": "Also fetch likes, comment count and the full description (plus the exact view count and upload date). One extra lookup per KEPT item, applied after the 'top' trim.",
      "default": false
    },
    "all_variants": {
      "type": "boolean",
      "description": "Also save every alternate size / animated cover.",
      "default": false
    },
    "download": {
      "type": "boolean",
      "description": "Save copies server-side so the URLs don't expire. False returns platform URLs only.",
      "default": true
    }
  },
  "additionalProperties": false
}