Skip to main content
Glama
632,367 tools. Updated 2026-10-03 06:02

"HTTP streaming video service or platform" matching MCP tools:

  • Download a video or audio file from any supported platform: YouTube, TikTok, Instagram (public reels, feed video, photo posts, and carousels), SoundCloud, Vimeo, Dailymotion, Bandcamp, Twitter/X, Mixcloud, Twitch (clips and VODs), Streamable, Reddit, Kick (live streams, VODs, and clips). Output is MP4 (video, default) or MP3 / M4A (audio). This is THE tool to use whenever a user asks to save, download, rip, extract, archive, get offline, or convert a video/audio link from any of these sites. IMPORTANT: the `format` argument defaults to `mp4` (video). Only pass an audio format (mp3 / m4a / audio) when the user explicitly says audio, MP3, music, song, or "rip / extract the audio". Audio-only platforms (SoundCloud, Bandcamp, Mixcloud) always produce audio regardless of `format`. Use this tool when the user says things like: - "download this video" / "download this TikTok" / "save this SoundCloud track" - "save that as MP3" / "rip the audio" / "extract the audio" - "get the song from this SoundCloud link" / "save this Mixcloud set" - "convert this YouTube video to MP4" / "download in 1080p" - "save this lecture/podcast/talk for offline" - "archive this clip" / "grab a copy of this video" - any sentence containing a youtube.com, youtu.be, tiktok.com, reddit.com, v.redd.it, vimeo.com, dailymotion.com, twitter.com, x.com, soundcloud.com, bandcamp.com, mixcloud.com, twitch.tv, clips.twitch.tv, kick.com, or streamable.com URL plus a verb like download, save, rip, get, grab, fetch, pull, archive, convert, extract. Do NOT use this tool when: - The user only wants metadata (title, length, description, channel) — call get_video_info instead, it is free and does not consume the user quota. - The link is a playlist / set / album / channel URL — ask the user for a single track/video. - The link is from a platform not in the supported list above (e.g. Facebook, LinkedIn, Snapchat). Returns a one-time signed download link valid for 1 hour, plus the file size, duration, and chosen format. Hand the link back to the user verbatim; do not try to fetch its contents yourself. Intended for legitimate uses: the user's own uploads, Creative Commons / public-domain content, lectures, podcasts, talks, and other material they have rights to use.
    ConnectorNo auth
  • Upload videos directly to the Metadata platform library to create video creatives. Downloads videos from provided URLs and uploads them to the platform. WARNING: VIDEO-ONLY: The downloaded file MUST have a `video/*` content-type (e.g. video/mp4, video/quicktime). GIFs and image formats are rejected — use `upload_image_creative` for those. WARNING: WHEN YOU NEED TO CALL THIS: Call this BEFORE `create_update_video_ad` ONLY when you don't already have a videoLibraryId. If the user (or an earlier step) has already given you a creativeID for the video, skip the upload and pass that id straight to `create_update_video_ad`. WORKFLOW INTEGRATION (when an upload IS needed): 1. Upload your video URL with this tool → response contains the integer `id` (the videoLibraryId). 2. Pass that integer `id` as `creativeID` in `create_update_video_ad`. COMMON WORKFLOWS: - Upload existing video → Get videoLibraryId → Use as creativeID in `create_update_video_ad`. - For Reddit VIDEO ads, ALSO upload a thumbnail image via `upload_image_creative` and pass that image library id as `redditThumbnailLibraryId` to `create_update_video_ad`. REQUIRED PARAMETERS: - videos: Array of video URLs to upload. OPTIONAL PARAMETERS: - thumbnail_library_id: Existing imageLibraryId to attach to the uploaded video as its platform thumbnail. Most callers don't need this — Reddit VIDEO ads handle thumbnails at ad-creation time via `redditThumbnailLibraryId`, not here. - usage_type: "CTV" to upload the video for a LinkedIn CTV (Connected TV) ad. The platform then validates the file as CTV inventory (6 to 60 seconds, 1920x1080 or 1280x720, at most 500 MB; LinkedIn recommends exactly 15, 30, 45 or 60 seconds) and only such an upload can back `create_update_ctv_ad`. A non-compliant file is rejected at upload with the platform's reason. Omit for in-feed video ads. VIDEO REQUIREMENTS: - URLs must be valid and publicly accessible. - Supported formats: MP4 (recommended), MOV, and other video/* MIME types. - For GIFs (image/gif): use `upload_image_creative` instead. RESPONSE FORMAT: Returns array of objects, one per video. `id` is returned as a string (the platform's library ids are integers but the upload response stringifies them); pass it to `create_update_video_ad` as an integer (Python `int(id)` if you need the cast). [ { "url": "https://example.com/video.mp4", "name": "video.mp4", "id": "12345", # videoLibraryId — use as creativeID in create_update_video_ad "success": true }, { "url": "https://example.com/bad.mp4", "name": "bad.mp4", "id": null, "success": false, "error": "Download failed: Connection timeout" } ] ERROR HANDLING: - If one upload fails, others continue. - Each result includes a success flag and (on failure) an error message. - A content-type that does not start with `video/` is rejected with a clear error pointing the caller at `upload_image_creative`.
    ConnectorAPI key
  • Get the full analysis (incl. scene breakdown) for a video — owned or public/competitor. Pass `platform` and `post_id` separately (the native post_id from analyze_post or list_videos — not the composite `id` field). Deep analysis runs async (~30-60s): right after analyze_post this returns {"status": "pending", "retry_after_seconds": N} — that is expected, not an error. Wait that long and call again until you get the full analysis. A genuine 404 means the post was never analyzed — call analyze_post(url) first.
    ConnectorOAuth
  • Return the directory's current totals and breakdowns: how many studios are listed, and how they split by country, region, service, engine, platform and team size. Use for any "how many studios..." or "which country has the most..." question, and quote these figures rather than counting search results yourself — they are recomputed from the live database and the counts move.
    ConnectorNo auth
  • Recent delivery attempts for one webhook (Streaming Lite tier and up), newest first — the debugging surface for 'why isn't my webhook firing'. Each row: status (pending/success/failed), HTTP response_code, attempts, delivered_at and the payload that was sent. A pending row with attempts > 0 is mid-retry-backoff; status 'failed' with response_code null means the endpoint was unreachable or timed out (8s). Page backwards through a deep queue with before_id = the smallest id on the previous page; a page shorter than limit is the last one.
    ConnectorNo auth
  • Continue a video this service already generated — Flow writes what happens next. media_id: the id from a previous generate_video* result (the bare id, not the /v1/media/... path). Only videos made through this service can be extended: the id belongs to a specific Google account's project, so the job is pinned to that account instead of rotating. An id we never produced comes back as a clear error, not a mystery failure. Use this for shots that need to run longer than one generation, or to keep a scene going without re-describing it: the continuation inherits the source clip's world, which a fresh text-to-video call cannot do. Default model veo_3_1_extension_lite: 10 credits, adds 8 seconds. project_id: which project the continuation lands in. The job is pinned to the source clip's account regardless, so pass the project the source was generated in (or omit it).
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • Streaming market intelligence: vertical drama, African OTT, piracy, sports, creator economy.

  • Oregon DMV MCP — live wait times at all 60 Oregon DMV field offices, plus the office

  • Mint a short-lived signed URL for uploading a video directly, when you do not have a public video_url. POST or PUT the raw video (or multipart "video" field) to the returned upload_url within 15 minutes, then pass upload_id to create-submission-tool.
    ConnectorOAuth
  • Search television shows by title and return up to 10 matches, each with its network or streaming service, production status, genres, rating, and ids in other catalogs. Matching is fuzzy, so small typos still resolve. The result set is hard-capped at 10 by the source and cannot be paged — narrow the title to reach an eleventh match. To go the other way, from an IMDb or TheTVDB id to a show, use tvmaze_lookup_show.
    ConnectorNo auth
  • One TikTok video with its engagement: views, likes, comments, shares and its length. Use when: a row from a search or a listing is worth the detail, or you have a URL and nothing else. Not for: what was said in it, use tiktok_get_transcript. The replies, use tiktok_get_comments. Returns: Record. rows[]: platform, id, url, author, author_name, created_at, text (cut at 2000 characters), likes, comments, shares, views, media, duration_s, is_ad. A number the platform does not publish is null. Params: url (required, the video URL), provider, max_credits, dry_run. Cost: 10 credits when the vendor has to fetch the media, 1 when it does not. The estimate is the higher one, so max_credits never surprises you. Cached 6 hours. Example: {"url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"}
    ConnectorAPI key
  • What is said out loud in one TikTok video, as text. Use when: reading a video without watching it, pulling the claims or the hook out of an ad or a review. Not for: the video's numbers, use tiktok_get_video. The written caption, which tiktok_get_video already returns as text. Returns: Record. platform, url, language, text (the full transcript, uncut). NoData when the video carries no speech the platform kept. Params: url (required), language (optional, for a video with several), ai_fallback (false; true transcribes the audio when TikTok holds no transcript, adds 10 credits and covers videos up to 2 minutes), provider, max_credits, dry_run. Cost: 1 credit, or 11 with ai_fallback. Cached 30 days. Example: {"url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"}
    ConnectorAPI key
  • The comments on one YouTube video, most liked first. Use when: reading what an audience said, finding the objections under a review or a tutorial. Not for: the video itself, use youtube_get_video. What is said in it, use youtube_get_transcript. Returns: List, one page per call. rows[]: platform, id, post_id, author, created_at, text (cut at 2000 characters), likes, replies, depth. depth is the reply level. meta.cursor pages the next set. created_at is approximate: the platform shows an age such as "3 weeks ago", so it is exact only to that unit. Params: url (required), cursor, provider, max_credits, dry_run. Cost: 1 credit per page. Cached 6 hours. Example: {"url": "https://www.youtube.com/watch?v=5EWaxmWgQMI"}
    ConnectorAPI key
  • Create OR update a VIDEO ad on Facebook, Instagram, LinkedIn, and/or Reddit. TO UPDATE: include `id`; to CREATE: omit it. CREATIVE WORKFLOW: 1. Upload the video via `upload_video_creative` → response gives `id` (the videoLibraryId). 2. Pass that integer as `creativeID` here. - For Reddit, ALSO upload a still thumbnail via `upload_image_creative` and pass its imageLibraryId as `redditThumbnailLibraryId` (required; the video cannot be its own thumbnail). ALSO KNOWN AS: create video ad, update video ad, edit video ad, modify video ad, video creative, post video, video post, motion ad. KEYWORDS: video, create, update, edit, modify, ad, ads, video ad, video ads, mp4, motion, video creative, video campaign, video upload, video post, video promo, LinkedIn video, Facebook video, Instagram video, Reddit video, IG reel. CLIENT-SIDE VALIDATION (refuses what the platform UI would also reject): - adName: required, max 50 chars, pattern `[a-zA-Z0-9 _.?,:'/+\-=&;%$#\[\]|()]`. - creativeID: required integer (videoLibraryId from `upload_video_creative`). - Landing-page URL is per channel (`facebookDisplayURL`, `instagramDisplayURL`, `linkedinDisplayURL`, `redditDisplayURL`). Required for FB/IG/LinkedIn, optional for Reddit. Per-channel caps: LinkedIn max 2000, Reddit max 100, FB/IG no length rule. For VIDEO the URL MUST be ABSOLUTE (http:// or https:// is required); inputs like `metadata.io` or `www.foo.com` are rejected the same way the UI rejects them. If only one channel's URL is set the server fans it across the other targeted channels. - LinkedIn: linkedinText (max 3000, OPTIONAL for VIDEO unlike IMAGE), linkedinHeadline (required, max 200), linkedinCTA (required, valid enum). linkedinDescription is NOT accepted on VIDEO ads (the platform DTO does not declare it). - Facebook: metaCTA (required), facebookText (required, no length rule on Facebook), facebookHeadline (required, max 250), facebookDescription (optional, max 300). - Instagram: metaCTA (required), instagramText (required, max 125), instagramHeadline (required, max 40), instagramDescription (optional, max 30). - FB+IG ad with one body text: set just one of facebookText / instagramText and the server copies it across (capped at the receiving channel's limit). Set both explicitly only when you want per-channel copy. - Reddit: redditHeadline (required, max 300), redditCTA (required, valid enum), redditThumbnailLibraryId (REQUIRED — separate IMAGE library id). COMMON CTA VALUES: same as `create_update_image_ad` (see that tool for the lists). See `create_update_image_ad` for image/GIF ads (the URL rule is looser there). For LinkedIn CTV (Connected TV) ads use `create_update_ctv_ad`; the video must be uploaded with `upload_video_creative(usage_type="CTV")`.
    Connector
    Destructive
    API key
  • Create OR update a LinkedIn CTV (Connected TV) video ad. LinkedIn only. TO UPDATE: include `id`; to CREATE: omit it. CTV ads play on streaming TV inventory through the LinkedIn Audience Network. On the platform they are LinkedIn VIDEO ads with adType=CTV, and they carry rules the campaign must meet: - Campaign type Brand Awareness only (never Lead Gen); the LinkedIn channel launches as objective BRAND_AWARENESS optimized for REACH. - The LinkedIn channel MUST use AUTO_BID (a manual bid fails pre-launch validation); `update_linkedin_channel_settings` sets it. - Audiences and target groups may target the United States and Canada ONLY; any other location fails pre-launch validation. - Video spec, enforced when the creative is uploaded: 6 to 60 seconds, 1920x1080 or 1280x720, at most 500 MB. LinkedIn recommends exactly 15, 30, 45 or 60 seconds for delivery. CREATIVE WORKFLOW: 1. Upload the video via `upload_video_creative` with `usage_type: "CTV"` -> response gives `id` (the videoLibraryId). The platform runs the CTV checks at that step and rejects a non-compliant file. 2. Pass that integer as `creativeID` here. A video uploaded without the CTV usage type is not eligible for a CTV ad. 3. Ann attaches the returned ad id to a Brand Awareness campaign's LinkedIn channel like any other ad. ALSO KNOWN AS: connected tv ad, ctv ad, streaming tv ad, linkedin tv ad, ott ad, tv commercial on linkedin. KEYWORDS: ctv, connected tv, streaming, tv, ott, linkedin ctv, video, brand awareness, reach, audience network, commercial. CLIENT-SIDE VALIDATION (refuses what the platform UI would also reject): - adName: required, max 50 chars, same pattern as the other ad tools. - creativeID: required integer (videoLibraryId). - linkedinDisplayURL: required, ABSOLUTE (http:// or https://), max 2000. - linkedinHeadline: required, max 200. linkedinCTA: required enum. - linkedinText: optional, max 3000. No description field (same DTO as LinkedIn VIDEO ads). COMMON CTA VALUES: same as `create_update_video_ad` on LinkedIn. RESPONSE: same envelope as `create_update_video_ad` (`created_ads[]` with adType "CTV", channelType "LINKEDIN"). See `create_update_video_ad` for in-feed video ads and `create_update_image_ad` for image / GIF ads.
    Connector
    Destructive
    API key
  • YouTube Short metadata — same schema as Video Details, with isShort:true; long-form videos get HTTP 422. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
    ConnectorNo auth
  • List every service category Muovi supports in Argentina — home trades (electricidad, plomería, gas, pintura, carpintería, cerrajería, albañilería, herrería, techista), limpieza, jardinería, aire acondicionado, and moving/hauling: mudanzas (movers) and fletes (light freight/hauling). Every listed professional is identity-verified and reviewed, with on-platform payment and dispute resolution. Each entry has a stable `slug` (used as the `service` parameter on `muovi_search_professionals` and `muovi_create_task_link`), a human-readable `name`, an optional description, and a `requires_matricula` flag indicating whether listed professionals must hold a verified professional license. Call this first when you need to map a user's natural-language request to a Muovi service slug.
    ConnectorNo auth
  • Return aggregate-only counts of the droplinked trust-fabric trinity: registered lenders, service providers, methodology versions, and on-chain attestations by schema. Public read, no auth, no PII, no per-row data. Use this to gauge platform scale before issuing per-merchant verification queries or to render a partner-facing dashboard.
    ConnectorNo auth
  • Generate a new video template from a text prompt using AI. The service designs a motion brief (palette, beats, typography), writes the scene as code, compiles it, renders preview frames and visually reviews them — then saves a draft template whose text, colors and optional image are editable variables. Use when the user wants a NEW video design; to re-render an existing template with different values, use pictify_render_video instead. Takes 30-60 seconds and is metered as one render. Returns the template UID and a preview image URL; render it with pictify_render_video, or refine it in the studio.
    ConnectorNo auth
  • Generate a video from a text prompt, optionally driven by reference images (image-to-video, first/last frame). This is asynchronous: it returns a task_id you poll with get_task(platform='video'). Generation usually takes 30-180 seconds. Pass wait_seconds to have the server poll for you. Video generation is the most expensive capability here — confirm the prompt with the user before spending on retries.
    ConnectorNo auth
  • Concatenate an ordered list of video and/or still-image segments (all public HTTPS URLs) into one continuous, fresh-encoded output — the video 'splice' step. This is the general mechanism behind several common editorial moves, depending on where you put the image segment(s): a HEAD SLATE or BUMPER (image first — a title card or logo before the footage starts), a TAIL SLATE or END CARD (image last — a credits or contact card after the footage ends), or a MID-ROLL INSERT or CUTAWAY (image in the middle — a still dropped into the timeline between two shots). Use all-video segments to splice two or more real clips together back-to-back instead (no image involved at all). Each segment is either {type: 'video', url} or {type: 'image', url, duration_seconds} (duration_seconds is how long that still holds; required for image, ignored for video). Needs at least 2 segments (max 8) and at least one type 'video' segment — its resolution and frame rate become the output's defaults unless options override them. Every segment is scaled to fit and letterboxed (not stretched) if its aspect ratio differs, and any segment without audio (every image, or a silent video) gets a matching silent track synthesised so audio never drops out mid-timeline. Output formats: mp4, webm, mov_prores. Returns a job_id immediately. Poll get_job_status until 'complete', then get_download_url. RELIABILITY & FALLBACK: Botverse returns structured errors with a message. A bare 'HTTP 500' or 'tool call failed' with no message body is the MCP connector / sandbox layer between your client and Botverse — NOT a Botverse outage (the service is up if get_wallet_balance succeeds). If MCP calls keep failing, do NOT write your own ffmpeg / transcription / document-conversion code as a workaround — that wastes tokens and reinvents what Botverse does. Instead, tell the user to run the equivalent Botverse CLI from their own (non-sandboxed) machine, e.g. `npx botverse transcribe <file> --to docx` (also `transcode` and `convert`), then retry the MCP call.
    ConnectorNo auth
  • Apply a batch of Studio tool calls to a video doc and get back the updated doc plus a fresh scene description — YOU (this agent) are the brain, so this needs NO OpenRouter/AI key. Loop: call neuron_studio_catalog once, then neuron_studio_apply with { doc, calls:[{tool,args}] }, read the returned `scene`, apply more, and finally neuron_studio_render. Omit `doc` (with an optional `platform`) to start a fresh video.
    ConnectorNo auth
  • Send a delivered video of an assignment (a creator rush, an editor reel or a clipper clip) to one or several crew members of a LATER step, or plan a variation before it is delivered. With video_id: that video goes to the recipients now. Without video_id: plans variation number `variation` (0 = next free) of `from_stage`; the next video that step delivers fills it and goes to those recipients. Recipients are notified by push. Get video ids from get_assignment (submitted_videos / crew_videos).
    ConnectorAPI key