{
  "slug": "loop-video",
  "name": "gizza-ai/loop-video",
  "version": "0.1.0",
  "title": "Loop a Video Online — gizza.ai",
  "description": "Loop a video or GIF into one continuous file — repeat it N times or fill a target duration, free and in your browser with nothing uploaded.",
  "tags": [
    "loop video",
    "repeat video",
    "loop gif",
    "video loop",
    "repeat clip"
  ],
  "category": "video",
  "urls": {
    "page": "https://gizza.ai/tools/loop-video/",
    "markdown": "https://gizza.ai/tools/loop-video/index.md",
    "descriptor": "https://gizza.ai/tools/loop-video/tool.json",
    "deep_link_example": "https://gizza.ai/tools/loop-video/?url=https://example.com/input&count=2&duration=0"
  },
  "cli": "gizza tool loop-video 'url=https://example.com/input' 'count=2' 'duration=0'",
  "tool": {
    "description": "Repeat a video or GIF into one continuous file — either a set number of times (count, 1-100, default 2) or until a target duration in seconds (duration, takes precedence when > 0). Stream-copied (no re-encode), keeps the input format. Provide the video as either url (HTTP/HTTPS) or ref. Note: runs on the standalone page and the CLI (chat ffmpeg is unavailable).",
    "parameters": {
      "additionalProperties": false,
      "oneOf": [
        {
          "required": [
            "url"
          ]
        },
        {
          "required": [
            "ref"
          ]
        }
      ],
      "properties": {
        "count": {
          "description": "How many times to play the clip in total (1-100, default 2). Ignored if duration is set.",
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "duration": {
          "description": "Target total duration in seconds (loops the clip to fill it). Takes precedence over count when > 0.",
          "maximum": 3600,
          "minimum": 0,
          "type": "number"
        },
        "ref": {
          "description": "Reference id from a prior tool call. Use either url or ref.",
          "type": "string"
        },
        "url": {
          "description": "Video URL (HTTP/HTTPS). Use either url or ref.",
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}