Skip to content
All tools

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

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.

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

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.

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"
}