Framevine
Server Details
Generate, extend and edit AI images and videos, then assemble clips on a timeline and render.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 37 tools
Most tools target clearly distinct resource+action pairs (generate vs edit vs extend vs redo, render vs generation status, reference CRUD). The generation family (generate_image, edit_image, redo_generation, edit_video, extend_video, image_to_video) is close in purpose but descriptions draw explicit boundaries. Minor overlap between list_threads/list_recent_generations and rename handling both threads and cuts, but still resolvable.
Overwhelmingly consistent snake_case verb_noun convention (create_thread, delete_node, reorder_clips, render_timeline). The lone outlier is 'rename', which omits a noun target and relies on a 'target' parameter. Everything else follows the pattern predictably.
37 tools is heavy for a single server, even given the rich domain (generation, editing, timeline, references, library, account). Most tools are genuinely distinct so it isn't padding, but the image/video split could compress (generate_*, edit_*) and the count sits well above the comfortable 15-tool band.
Strong lifecycle coverage: references have full CRUD, nodes support soft delete/restore, timeline has create/duplicate/add/remove/reorder/render, library and account are covered. Gaps remain: no create_folder (folders can be listed and moved into but not created) and no delete_thread, which could dead-end some workflows.
Publisher details
- Operator
- Greyvine
- Operator website
- https://framevine.com/?utm_source=glama&utm_medium=directory&utm_campaign=2026-11_mcp_listing&utm_content=website
- Vendor relationship
- First-party
- Trust center
- Not available
- Restrictions
- Free to try: new accounts get 150 free credits, no card required. Requires a Framevine account. Tools that generate or render media spend the account's credits, up to a daily cap the user chooses when connecting. Assistants cannot make purchases.
Available Tools
37 toolsadd_clips_to_timelineAdd clips to timelineAIdempotentInspect
Append generated videos from a thread to its timeline, in the order given. Goes into the active cut unless cutId is given; a first cut is created if the thread has none. Only video nodes that have not failed can be added, and a video already in the cut is skipped. Returns the updated timeline.
Inputs: nodeIds (required), threadId (required), cutId, cutName.
create_cutCreate cutAInspect
Create a new, empty cut (an alternative edit) on a thread's timeline. Returns the new cut; add clips with add_clips_to_timeline.
Inputs: name (required), threadId (required).
create_referenceCreate referenceAInspect
Save an image from the user's library (for example one returned by upload_image) as a named reference, so prompts can reuse it as @Name. Names start with a letter, use only letters (any language, e.g. さくら), digits, '_', '.', '-' or '・', max 32 characters, and 'source' and 'imageN' are reserved. Names are unique per user.
Inputs: name (required), fileId (required), kind.
create_threadCreate threadAInspect
Create a new, empty Framevine thread (a canvas that holds related generations). Optionally give it a title. Returns the thread id to use with the generation tools. Does not spend credits.
Inputs: title.
delete_nodeDelete nodeADestructiveIdempotentInspect
Remove a generation (node) from a thread, for example a bad take. This is a soft delete: it can be undone with restore_node, and credits already spent are not refunded.
Inputs: nodeId (required), threadId (required).
delete_referenceDelete referenceADestructiveIdempotentInspect
Delete a named reference (ids from list_references) so its @Name no longer works in prompts. The image itself stays in the library.
Inputs: referenceId (required).
duplicate_cutDuplicate cutAInspect
Copy a cut with all its clips, so you can try a different edit without changing the original. Returns the new cut.
Inputs: cutId (required), threadId (required).
edit_imageEdit imageAInspect
Edit an existing image node with a new instruction prompt (e.g. "make the sky pink"), producing a new image node. Use redo_generation to re-roll the same inputs instead. Spends credits. Returns immediately with a new nodeId and status; poll get_generation_status until it is COMPLETED or FAILED.
Inputs: nodeId (required), prompt (required), threadId (required), quality, +3 more.
edit_videoEdit videoAInspect
Edit an existing completed video node with a text instruction. prompt describes the change and what should stay unchanged. modelKey must be a video model from list_models that supports video editing. Spends credits; use estimate_cost first if unsure. Returns immediately with a new nodeId and status, plus the parent node it edited so you can confirm it was the right one; poll get_generation_status until it is COMPLETED or FAILED. If the user's intent is ambiguous across branches, call get_thread and ask which node before spending credits.
Inputs: nodeId (required), prompt (required), modelKey (required), threadId (required).
estimate_costEstimate generation costARead-onlyIdempotentInspect
Get the exact credit cost of a generation before running it, plus whether the user's balance and storage can cover it. Does not spend credits. Use list_models for valid model keys.
Inputs: modelKey (required), operation (required), quality, resolution, +2 more.
extend_videoExtend videoAInspect
Extend an existing completed video node with a continuation. prompt describes what happens next; pass endNodeId (a completed image node) to steer toward an end frame. modelKey comes from list_models (a video model) and durationSeconds must be one that model supports. Spends credits; use estimate_cost first if unsure. Returns immediately with a new nodeId and status, plus the parent node it extended so you can confirm it was the right one; poll get_generation_status until it is COMPLETED or FAILED. If the user's intent is ambiguous across branches, call get_thread and ask which node before spending credits.
Inputs: nodeId (required), prompt (required), modelKey (required), threadId (required), +5 more.
favorite_threadFavorite threadAIdempotentInspect
Mark a thread as a favorite, or remove it from favorites. Does not spend credits.
Inputs: favorite (required), threadId (required).
generate_imageGenerate imageAInspect
Start generating a NEW image from a text prompt in a thread (create one with create_thread first). Spends credits; use estimate_cost first if unsure. Optionally pass sourceFileIds (file ids from upload_image or the library) as visual inputs. Use @Name to reference a named reference. Returns immediately with a nodeId and status; poll get_generation_status until it is COMPLETED or FAILED.
Inputs: prompt (required), threadId (required), quality, modelKey, +2 more.
generate_videoGenerate videoAInspect
Start generating a NEW video from a text prompt in a thread (create one with create_thread first). modelKey comes from list_models (a video model) and durationSeconds must be one that model supports. Spends credits; use estimate_cost first if unsure. Optionally pass sourceFileIds (file ids from upload_image or the library) as start/reference frames. Returns immediately with a nodeId and status; poll get_generation_status until it is COMPLETED or FAILED.
Inputs: prompt (required), modelKey (required), threadId (required), durationSeconds (required), +3 more.
get_account_usageGet account usageARead-onlyIdempotentInspect
Get the user's Framevine account usage in one call. credits: the current balance (total, plus subscription and purchased credits), how many credits they have used today and this month, and how many credits this connection can spend right now (availableToSpendCredits): the lower of the balance and what is left of the daily limit the user set for this app. connectionDailyLimitCredits and connectionRemainingTodayCredits are null when the user chose no daily limit. storage: their plan, used, total and available bytes, percent used, how many days files are kept, and a breakdown into uploads, generations and hidden files. Pass threadId to also get threadSpend: what that thread's generations cost (the total credits used, and for each generation, newest first, its operation, model, status and the credits charged, refunded and net). All of these are positive numbers of credits spent: totalCreditsUsed and netCredits are net of refunds (charged minus refunded). Call this first to check the user can afford generations and has room for large uploads or video, or after a purchase to confirm credits arrived. Use estimate_cost to see whether one specific generation will fit.
Inputs: limit, threadId.
get_generation_statusGet generation statusARead-onlyIdempotentInspect
Check the status of one generation (node). Returns its status, progress percent (progressEstimated is true when it is estimated from typical run times rather than reported by the provider) and, when it failed, the failure reason; once complete, the output file id, media URL, thumbnail URL and dimensions. Poll this after starting a generation until the status is complete or failed. Once complete it also returns a small preview image (for a video, its poster frame) so you can see the result.
Inputs: nodeId (required), threadId (required), includePreview.
get_media_urlGet media URLARead-onlyIdempotentInspect
Get a fresh, signed download URL for one of the user's files (an outputFileId from a generation, or a fileId from the library). The URL works without signing in and expires after ttlMinutes (default 60, max 1440). Use it when an outputUrl has expired or is not directly downloadable. Fails if the file is still being generated or uploaded. For a generation's output it also returns a small preview image (for a video, its poster frame), since some clients can't open the URL themselves.
Inputs: fileId (required), ttlMinutes, includePreview.
get_purchase_linkGet credit purchase linkAInspect
Get a Stripe Checkout link where the user can buy a credit pack. Nothing is charged by this tool: the user must open the link and pay on Stripe's page. Call without packId to list the available packs (packId, credits, price), then call again with the chosen packId.
Inputs: packId.
get_render_statusGet render statusARead-onlyIdempotentInspect
Check a timeline render started by render_timeline. Returns its status (QUEUED, PROCESSING, COMPLETED, FAILED or CANCELLED), progress, and the output video URL once COMPLETED.
Inputs: renderId (required), threadId (required).
get_threadGet threadARead-onlyIdempotentInspect
Get one Framevine thread with its nodes (generations) in order. Each node has its id, type (image or video), operation, status, progress, prompt, model, parent and child node ids (branches), and, once completed, the output file id, media URL and dimensions. Use node ids as inputs to edit, redo, or extend tools.
Inputs: threadId (required).
get_timelineGet timelineARead-onlyIdempotentInspect
Show a thread's timeline: its cuts (named sequences of video clips), the active cut, and each clip's id, position, trim range, source video node, status and video URL. Use clip ids with reorder_clips and remove_clips. A thread with no timeline yet returns an empty cuts list.
Inputs: threadId (required).
image_to_videoImage to videoAInspect
Animate an existing completed image node into a video. The node is used as the start frame; pass endNodeId (another completed image node) to interpolate between two frames. modelKey comes from list_models (a video model) and durationSeconds must be one that model supports. Spends credits; use estimate_cost first if unsure. Returns immediately with a new nodeId and status; poll get_generation_status until it is COMPLETED or FAILED.
Inputs: nodeId (required), prompt (required), modelKey (required), threadId (required), +5 more.
list_foldersList foldersARead-onlyIdempotentInspect
List the user's library folders, in their sidebar order, with each folder's id, name and thread count. Use a folder id with move_thread_to_folder.
Inputs: no named parameters.
list_library_filesList library filesARead-onlyIdempotentInspect
List files in the user's library (uploads and generated outputs), paged. Each item has its file id, media kind, MIME type, name, size, purpose, media URL and creation time. Use a file id as an input to generation tools.
Inputs: page, sort, purpose, pageSize, +1 more.
list_modelsList modelsARead-onlyIdempotentInspect
List the image and video generation models available on Framevine, with each model's modelKey, media type (image or video), supported durations and aspect ratios, and what image inputs it accepts. Call this before generating to pick a valid modelKey, and use estimate_cost for pricing.
Inputs: no named parameters.
list_recent_generationsList recent generationsARead-onlyIdempotentInspect
List the user's most recently completed generations (images and videos) across all threads, newest first. Each item has its node id, thread id, type, operation, prompt, model, output file id, media URL and dimensions. Use the node id and thread id with get_thread or edit tools. Small preview images of the first few results are attached (videos show their poster frame).
Inputs: limit, includePreviews.
list_referencesList referencesARead-onlyIdempotentInspect
List the user's named references (characters, objects and other images saved under a name). Mention one in a generation prompt as @Name to reuse it. Each item has its reference id, name, kind, file id, image URL and how many generations use it.
Inputs: includeHidden.
list_threadsList threadsARead-onlyIdempotentInspect
List the user's most recent Framevine threads (conversation-like canvases of generations), newest first, with each thread's id, title, favorite flag, node count, and the type and status of its latest generation. Use a thread id with get_thread to see its contents.
Inputs: limit.
move_thread_to_folderMove thread to folderAIdempotentInspect
Move a thread into a library folder (folder ids come from list_folders), or out of any folder by omitting folderId.
Inputs: threadId (required), folderId.
redo_generationRedo generationAInspect
Generate another take of an existing image or video node, reusing its original inputs and settings (use generate_image/generate_video for a new prompt from scratch). Optionally override the prompt, modelKey or image quality. Spends credits. Returns immediately with a new nodeId and status; poll get_generation_status until it is COMPLETED or FAILED.
Inputs: nodeId (required), threadId (required), prompt, quality, +1 more.
remove_clipsRemove clips from timelineADestructiveIdempotentInspect
Remove clips from a cut by clip id (from get_timeline). This only takes the clips off the timeline: the videos and their files stay in the thread and library and can be added again. Only the active cut can be changed. Returns the updated cut.
Inputs: cutId (required), clipIds (required), threadId (required).
renameRename thread or cutAIdempotentInspect
Rename a thread (change its title) or a cut on a thread's timeline. target is "thread" or "cut"; a cut also needs cutId. Does not spend credits.
Inputs: name (required), target (required), threadId (required), cutId.
render_timelineRender timelineAIdempotentInspect
Stitch the clips of a cut into one video. Does not spend credits (an identical render reuses the previous output), but renders use server CPU so they are limited per user (about 10 per hour). Returns a renderId and status; poll get_render_status until it is COMPLETED or FAILED.
Inputs: cutId (required), threadId (required).
reorder_clipsReorder clipsAIdempotentInspect
Set the playback order of the clips in a cut. clipIds must list every clip of the cut exactly once in the new order (clip ids come from get_timeline). Only the active cut can be changed. Returns the cut.
Inputs: cutId (required), clipIds (required), threadId (required).
restore_nodeRestore nodeAIdempotentInspect
Bring back a generation (node) removed with delete_node.
Inputs: nodeId (required), threadId (required).
update_referenceUpdate referenceAIdempotentInspect
Rename a named reference or change its kind (reference ids come from list_references). Prompts that use the old @Name will no longer match it. Same naming rules as create_reference.
Inputs: referenceId (required), kind, name.
upload_imageUpload imageAInspect
Add an image to the user's library and return its file id, for use as input to generation, reference and timeline tools. Provide exactly one of imageBase64 (raw base64 or a data: URL) or imageUrl (a public https URL). Content is safety-scanned like a normal upload.
Inputs: fileName, imageUrl, imageBase64.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Generate video and images, edit them on a real multi-track timeline, and export an MP4.
Agentic AI video editor: edit a real timeline, generate clips, music and voice, then render.
AI video editor: create projects, edit timelines, add captions and effects, and render videos.
AI video studio: generate with 80+ AI models, edit on a timeline and export 4K, from an assistant.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceGenerates video drafts from a prompt with a proprietary engine, then hands off to a human-editable timeline with tools for reshoots, takes, and media operations like image editing and speech synthesis.-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to build and edit a real video timeline — cuts, text, shapes, keyframes, captions and music — in a live studio the user can watch and edit alongside, rendering actual frames so the agent can verify its own work instead of guessing. Finishes by exporting an MP4 or carrying the timeline into DaVinci Resolve, Premiere Pro, CapCut or Remotion.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents to generate cinematic video and image assets and perform autonomous timeline assembly, multi-track audio editing, chroma-key compositing, and local draft manipulation from conversational prompts.3MIT

Eversince MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceA creative agent that plans and executes across image, video, and audio. Uses 30+ tools, orchestrates 20+ AI models, and does agentic timeline editing.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.