{
  "slug": "video-freeze-frame",
  "name": "gizza-ai/video-freeze-frame",
  "version": "0.1.0",
  "title": "Freeze Frame Video Effect Online — Free, In-Browser — gizza.ai",
  "description": "Add a freeze-frame effect to a video: play up to a moment, hold that frame still for a set number of seconds, then continue. Free, in your browser.",
  "tags": [
    "freeze frame",
    "freeze frame video",
    "still frame",
    "hold frame",
    "video effect",
    "pause frame",
    "stop motion",
    "reels",
    "shorts",
    "ffmpeg"
  ],
  "category": "video",
  "urls": {
    "page": "https://gizza.ai/tools/video-freeze-frame/",
    "markdown": "https://gizza.ai/tools/video-freeze-frame/index.md",
    "descriptor": "https://gizza.ai/tools/video-freeze-frame/tool.json",
    "deep_link_example": "https://gizza.ai/tools/video-freeze-frame/?url=https://example.com/input&time=1&duration=2"
  },
  "cli": "gizza tool video-freeze-frame 'url=https://example.com/input' 'time=1' 'duration=2'",
  "tool": {
    "description": "Create a freeze-frame effect: the video plays normally up to a chosen timestamp (time, seconds), holds that frame as a still for a set number of seconds (duration, 0-60), then resumes from the same point. The output is `duration` seconds longer than the source. Provide the video as either url (HTTP/HTTPS) or ref (id from a prior tool call). The frame is held at the source frame rate (no fps guessing) and the video re-encodes to H.264; the input container (mp4/mov/mkv) is kept when it can hold H.264, otherwise the output is mp4. Audio is dropped — the freeze is a video-only visual effect. Note: runs on the standalone page and the CLI (chat ffmpeg is unavailable).",
    "parameters": {
      "additionalProperties": false,
      "oneOf": [
        {
          "required": [
            "url"
          ]
        },
        {
          "required": [
            "ref"
          ]
        }
      ],
      "properties": {
        "duration": {
          "default": 2.0,
          "description": "How long to hold the frozen frame, in seconds (0-60). Default 2. The output ends up this many seconds longer than the source.",
          "maximum": 60,
          "minimum": 0,
          "type": "number"
        },
        "ref": {
          "description": "Reference id from a prior tool call. Use either url or ref.",
          "type": "string"
        },
        "time": {
          "default": 1.0,
          "description": "Timestamp of the frame to freeze, in seconds from the start (e.g. 2.5). Default 1. The video plays normally up to here, then this frame is held still. If it is past the end of the clip, the last frame is held.",
          "maximum": 36000,
          "minimum": 0,
          "type": "number"
        },
        "url": {
          "description": "Video URL (HTTP/HTTPS). Use either url or ref.",
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}