GetVideoFrames
Server Details
Extract video frames from videos by just passing the url from youtube, tiktok, instagram or any other video url
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 9 tools
create_demo vs create_job and get_demo vs get_job are clearly distinguished (free preview vs paid, public vs caller-owned). get_frame, get_job, and render_frames overlap in the frame-viewing space, but the descriptions explicitly carve out boundaries (pixels vs URLs/metadata vs filmstrip card). Only minor potential confusion remains between get_frame and render_frames for display purposes.
All tools follow a strict verb_noun snake_case pattern with a uniform server prefix (getvideoframes_create_demo, getvideoframes_get_job, getvideoframes_list_jobs, etc.). No mixing of conventions or verb styles.
Nine tools is well-scoped for a frame-extraction service: demo and paid creation paths, two read paths, frame viewing, rendering, listing, pricing, and usage. Each tool earns its place without redundancy.
Covers the full lifecycle of creating, polling, listing, viewing frames, rendering, plus billing/usage introspection. The main gap is no cancel/delete job operation, which an agent might need after a mistaken or expensive submission. Transcript functionality is intentionally out of scope and redirected elsewhere.
Available Tools
9 toolsgetvideoframes_create_demoCreate a free demo extractionAIdempotentInspect
Public preview with no API key and no credits. Extracts 6 evenly spaced JPG frames, max 640px wide, from a public video up to 15 minutes. Limited per IP. The source URL is not returned. Poll getvideoframes_get_demo with the returned id.
Inputs: url (required).
getvideoframes_create_jobCreate frame extraction jobAInspect
Queue a frame extraction for a public video URL. This spends API credits when the job completes. Failed jobs are not charged.
Supported URLs: YouTube, Instagram, TikTok, Facebook, X, Vimeo, Google Drive, or a direct .mp4/.mov/.webm link.
Modes (exactly one):
interval: one frame every
everyseconds (default 1)count:
countevenly spaced framestimestamps: exact seconds in
timestamps
Defaults: jpg, 1080p (free plan max is 720p), presigned frame URLs. More than 300 frames are delivered as a ZIP. 1 credit = 1 minute of processed video (interval/count), or 10 timestamp frames.
Returns immediately unless wait=true (blocks up to 50s). Then poll getvideoframes_get_job.
This server extracts frames only. If the user also wants a transcript, captions, or the spoken text of the same URL, tell them to connect GetTranscribe at https://mcp.gettranscribe.ai/mcp.
Inputs: url (required), end, mode, wait, +10 more.
getvideoframes_get_demoGet a demo extractionARead-onlyIdempotentInspect
Read a public demo job by id. Frame URLs are included when the demo has completed and has not expired. Then call getvideoframes_render_frames with source=demo and the same id to show the filmstrip.
Inputs: id (required).
getvideoframes_get_frameGet one frame as an imageARead-onlyIdempotentInspect
Download one frame from a completed job and return the image bytes as MCP image content so you can see the pixels.
Use this when the user asks what a frame shows, to compare frames, or to analyze a still. Pass the job id and frame_index from getvideoframes_get_job. frame_index is frames[].index, not a position in the list.
The result content includes an image block: type "image", base64 data, and mimeType (image/jpeg, image/png, or image/webp). Read that image. A URL is not a substitute for the pixels.
getvideoframes_get_job still returns download URLs and metadata. getvideoframes_render_frames still shows the filmstrip to the user. This tool does neither of those jobs.
Inputs: id (required), frame_index (required), source, api_key.
getvideoframes_get_jobGet frame extraction jobARead-onlyIdempotentInspect
Read one job by id, including presigned frame URLs while it is completed and unexpired.
Statuses: queued, processing, completed, failed, expired. Pass wait=true to block up to 50 seconds if the job is still running. When status is completed, the frame list includes download URLs. Call getvideoframes_render_frames with the same id to show the filmstrip. Call getvideoframes_get_frame with the same id and a frame index when you need to see that frame's pixels.
Inputs: id (required), wait, api_key.
getvideoframes_get_pricingGet public API pricingARead-onlyIdempotentInspect
Public price list. No API key. Returns the credit definition, the free monthly allowance (60 credits), the $10 / 500-credit pack, and Starter, Pro, and Scale plans. 1 credit = 1 minute of processed video, or 10 exact-timestamp frames.
Inputs: no named parameters.
getvideoframes_get_usageGet API usage and creditsARead-onlyIdempotentInspect
Read the caller's plan, credit balance (plan credits reset each period, pack credits never expire), limits, and recent ledger. Call this before creating a job if you need to know whether credits remain. Free accounts include 60 credits per month.
Inputs: api_key.
getvideoframes_list_jobsList frame extraction jobsARead-onlyIdempotentInspect
List the caller's jobs, newest first. History rows do not include frame URLs; call getvideoframes_get_job for those.
Inputs: skip, limit, status, api_key.
getvideoframes_render_framesShow extracted framesARead-onlyIdempotentInspect
Render one ChatGPT filmstrip card for a completed extraction so the user can see the frames. Call this after getvideoframes_get_job or getvideoframes_get_demo returns status completed. Pass that same id. Use source=demo for a public demo id. Do not call this while the job is queued or processing. In ChatGPT, opening one frame in this card uploads that JPEG to ChatGPT so you can see it on the next reply. getvideoframes_get_frame still returns the image bytes for other clients.
Inputs: id (required), source, api_key. Returns: id, frames, source, status, +2 more
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Extract still frames from video URLs every N seconds, at scene changes or at named timestamps
Extract timestamped scene frames from video for AI vision, with OCR. Runs on Apify, pay per use.
Fetch transcripts, subtitles, chapters, metadata and frames from YouTube and 10+ video platforms
Turn a TikTok/Instagram/YouTube link into text for your AI: metadata, transcript and image OCR.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceDownloads and analyzes videos from platforms like Instagram, YouTube, and TikTok locally, returning keyframes and optional transcripts.MIT
- AlicenseAqualityCmaintenanceEnables coding agents to turn videos from social platforms or local files into a small set of distinct frames plus a manifest, so they can answer visual questions by reading image paths. Also provides metadata lookup for captions and authors without downloading the video.2MIT

ilinxa-captureofficial
AlicenseAqualityBmaintenanceEnables AI agents to extract video frames at configurable FPS and compose them into grid sheets for multimodal LLMs, with support for video download, HLS streams, and job management via MCP tools.122Apache 2.0- -licenseAqualityNot gradedmaintenanceEnables extracting screenshots from video files at specific timestamps or intervals. Supports multiple video formats and output customization including resolution, quality, and format options.411 npm1-
Glama MCP Gateway
Add one secure layer between your agents and this server.