video_export_gif
Screen, windows & UI · macOS · Windows
Effect: write (strongest supported action). Status: gated.
Gated means the tool requires an installed app, a connected account, permission, or runtime availability. Check those requirements on the listed platform before using it.
macOS
Purpose
Exports a video (or a [start_ms,end_ms] slice of it) to an optimized looping GIF — for README/social. fps (default 12) and width (default 640, height auto) control size. Returns the output path, frame count, and size. The first call previews; confirm: true writes the file.
Required inputs
input— Path to the source video.
Permissions and confirmation
Explicit confirmation parameter: inspect the schema and tool description before any real call. The documentation example keeps confirm false. Obtain user authorization before performing the action.
- Use only the apps, accounts and resources authorized by the user on this platform. Consult this tool's platform-specific description for its connection and permission requirements; this catalog does not assert additional OAuth scopes or OS entitlements.
Full input schema — macOS
{
"properties": {
"confirm": {
"description": "Must be true to write the output. Without it the call returns a preview and writes nothing.",
"type": "boolean"
},
"end_ms": {
"description": "Slice end (default: end of video).",
"type": "integer"
},
"fps": {
"description": "Frames per second in the GIF (default 12).",
"type": "integer"
},
"input": {
"description": "Path to the source video.",
"type": "string"
},
"output": {
"description": "Output path (default: <input>.gif). Missing parent folders are created.",
"type": "string"
},
"overwrite": {
"description": "Replace an existing file at output. Without it an existing output is refused. The input is never overwritten.",
"type": "boolean"
},
"start_ms": {
"description": "Slice start (default 0).",
"type": "integer"
},
"width": {
"description": "Output width in px, 64–1920 (a value outside is clamped to the nearest end); height scales to keep aspect (default 640).",
"maximum": 1920,
"minimum": 64,
"type": "integer"
}
},
"required": [
"input"
],
"type": "object"
}Documentation example
Do not execute this example. These concrete inputs refer to a fictional demonstration dataset. Resolve real handles and obtain user authorization before any real call.
{
"confirm": false,
"input": "/Users/demo/Documents/meeting.mov"
}Windows
Purpose
Exports a video (or a [start_ms,end_ms] slice of it) to an optimized looping GIF — for README/social. fps (default 12) and width (default 640, height auto) control size. Returns the output path, frame count, and size. The first call returns a preview and writes nothing; confirm=true exports.
Required inputs
input— Path to the source video.
Permissions and confirmation
Explicit confirmation parameter: inspect the schema and tool description before any real call. The documentation example keeps confirm false. Obtain user authorization before performing the action.
- Use only the apps, accounts and resources authorized by the user on this platform. Consult this tool's platform-specific description for its connection and permission requirements; this catalog does not assert additional OAuth scopes or OS entitlements.
Full input schema — Windows
{
"properties": {
"confirm": {
"description": "Must be true to export. Without it, returns a preview.",
"type": "boolean"
},
"end_ms": {
"description": "Slice end in ms (default: end of video).",
"type": "integer"
},
"fps": {
"description": "GIF frame rate 1-30 (default 12).",
"type": "integer"
},
"input": {
"description": "Path to the source video.",
"type": "string"
},
"output": {
"description": "Output path (default: <input>_clip.gif).",
"type": "string"
},
"start_ms": {
"description": "Slice start in ms (default 0).",
"type": "integer"
},
"width": {
"description": "Output width in px, height scales to keep aspect (default 640).",
"type": "integer"
}
},
"required": [
"input"
],
"type": "object"
}Documentation example
Do not execute this example. These concrete inputs refer to a fictional demonstration dataset. Resolve real handles and obtain user authorization before any real call.
{
"confirm": false,
"input": "C:\\Users\\demo\\Documents\\meeting.mov"
}