{
  "name": "youtube-dl",
  "description": "Download videos from YouTube",
  "options": [
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Print the help text and exit"
    },
    {
      "names": [
        "--version"
      ],
      "description": "Print program version and exit"
    },
    {
      "names": [
        "-U",
        "--update"
      ],
      "description": "Update this program to latest version. Make sure you have sufficient permissions (run with sudo if needed)"
    },
    {
      "names": [
        "--ignore-errors",
        "-i"
      ],
      "description": "Continue on download errors, for example to skip unavailable videos in a playlist"
    },
    {
      "names": [
        "--abort-on-error"
      ],
      "description": "Abort downloading of further videos (in the playlist or the command line) if an error occurs"
    },
    {
      "names": [
        "--dump-user-agent"
      ],
      "description": "Display the current browser identification"
    },
    {
      "names": [
        "--list-extractors"
      ],
      "description": "List all supported extractors"
    },
    {
      "names": [
        "--extractor-descriptions"
      ],
      "description": "Output descriptions of all supported extractors"
    },
    {
      "names": [
        "--default-search"
      ],
      "description": "Use this prefix for unqualified URLs. For example \"gvsearch2:\" downloads two videos from google videos for youtube-dl \"large apple\"",
      "args": [
        {
          "name": "PREFIX"
        }
      ]
    },
    {
      "names": [
        "--config-location"
      ],
      "description": "Location of the configuration file; either the path to the config or its containing directory",
      "args": [
        {
          "name": "PATH",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--force-generic-extractor"
      ],
      "description": "Force extraction to use the generic extractor"
    },
    {
      "names": [
        "--ignore-config"
      ],
      "description": "Do not read configuration files"
    },
    {
      "names": [
        "--flat-playlist"
      ],
      "description": "Do not extract the videos of a playlist, only list them"
    },
    {
      "names": [
        "--mark-watched"
      ],
      "description": "Mark videos watched (YouTube only)"
    },
    {
      "names": [
        "--no-mark-watched"
      ],
      "description": "Do not mark videos watched (YouTube only)"
    },
    {
      "names": [
        "--no-color"
      ],
      "description": "Do not emit color codes in output"
    },
    {
      "names": [
        "--proxy"
      ],
      "description": "Use the specified HTTP/HTTPS/SOCKS proxy. Pass in an empty string for direct connection",
      "args": [
        {
          "name": "URL"
        }
      ]
    },
    {
      "names": [
        "--socket-timeout"
      ],
      "description": "Time to wait before giving up, in seconds",
      "args": [
        {
          "name": "SECONDS"
        }
      ]
    },
    {
      "names": [
        "--source-address"
      ],
      "description": "Client-side IP address to bind to",
      "args": [
        {
          "name": "IP"
        }
      ]
    },
    {
      "names": [
        "-4",
        "--force-ipv4"
      ],
      "description": "Make all connections via IPv4"
    },
    {
      "names": [
        "-6",
        "--force-ipv6"
      ],
      "description": "Make all connections via IPv6"
    },
    {
      "names": [
        "--geo-verification-proxy"
      ],
      "description": "Use this proxy to verify the IP address for some geo-restricted sites",
      "args": [
        {
          "name": "URL"
        }
      ]
    },
    {
      "names": [
        "--geo-bypass"
      ],
      "description": "Bypass geographic restriction via faking X-Forwarded-For HTTP header"
    },
    {
      "names": [
        "--no-geo-bypass"
      ],
      "description": "Do not bypass geographic restriction via faking X-Forwarded-For HTTP header"
    },
    {
      "names": [
        "--geo-bypass-country"
      ],
      "description": "Force bypass geographic restriction with explicitly provided two-letter ISO 3166-2 county code",
      "args": [
        {
          "name": "CODE"
        }
      ]
    },
    {
      "names": [
        "--geo-bypass-ip-block"
      ],
      "description": "Force bypass geographic restriction with explicitly provided IP block in CIDR notation",
      "args": [
        {
          "name": "IP_BLOCK"
        }
      ]
    },
    {
      "names": [
        "--playlist-start"
      ],
      "description": "Playlist video to start at (default is 1)",
      "args": [
        {
          "name": "NUMBER"
        }
      ]
    },
    {
      "names": [
        "--playlist-end"
      ],
      "description": "Playlist video to end at (default is last)",
      "args": [
        {
          "name": "NUMBER"
        }
      ]
    },
    {
      "names": [
        "--playlist-items"
      ],
      "description": "Playlist video to end at (default is last)",
      "args": [
        {
          "name": "ITEM_SPEC"
        }
      ]
    },
    {
      "names": [
        "--match-title"
      ],
      "description": "Download only matching titles (regex or caseless sub-string)",
      "args": [
        {
          "name": "REGEX"
        }
      ]
    },
    {
      "names": [
        "--reject-title"
      ],
      "description": "Skip download for matching titles (regex or caseless sub-string)",
      "args": [
        {
          "name": "REGEX"
        }
      ]
    },
    {
      "names": [
        "--max-downloads"
      ],
      "description": "Abort after downloading NUMBER files",
      "args": [
        {
          "name": "NUMBER"
        }
      ]
    },
    {
      "names": [
        "--min-filesize"
      ],
      "description": "Do not download any videos smaller than SIZE (e.g. 50k or 44.6)",
      "args": [
        {
          "name": "SIZE"
        }
      ]
    },
    {
      "names": [
        "--max-filesize"
      ],
      "description": "Do not download any videos larger than SIZE (e.g. 50k or 44.6)",
      "args": [
        {
          "name": "SIZE"
        }
      ]
    },
    {
      "names": [
        "--date"
      ],
      "description": "Download only videos uploaded in this date",
      "args": [
        {
          "name": "DATE"
        }
      ]
    },
    {
      "names": [
        "--datebefore"
      ],
      "description": "Download only videos uploaded on or before this date (i.e. inclusive)",
      "args": [
        {
          "name": "DATE"
        }
      ]
    },
    {
      "names": [
        "--dateafter"
      ],
      "description": "Download only videos uploaded on or after this date (i.e. inclusive)",
      "args": [
        {
          "name": "DATE"
        }
      ]
    },
    {
      "names": [
        "--min-views"
      ],
      "description": "Do not download any videos with less than COUNT views",
      "args": [
        {
          "name": "COUNT"
        }
      ]
    },
    {
      "names": [
        "--max-views"
      ],
      "description": "Do not download any videos with more than COUNT views",
      "args": [
        {
          "name": "COUNT"
        }
      ]
    },
    {
      "names": [
        "--match-filter"
      ],
      "description": "Generic video filter",
      "args": [
        {
          "name": "FILTER"
        }
      ]
    },
    {
      "names": [
        "--no-playlist"
      ],
      "description": "Download only the video, if the URL refers to a video and a playlist"
    },
    {
      "names": [
        "--yes-playlist"
      ],
      "description": "Download the playlist, if the URL refers to a video and a playlist"
    },
    {
      "names": [
        "--age-limit"
      ],
      "description": "Download only videos suitable for the given age",
      "args": [
        {
          "name": "YEARS"
        }
      ]
    },
    {
      "names": [
        "--download-archive"
      ],
      "description": "Download only videos not listed in the archive file. Record the IDs of all downloaded videos in it",
      "args": [
        {
          "name": "FILE"
        }
      ]
    },
    {
      "names": [
        "--include-ads"
      ],
      "description": "Download advertisements as well (experimental)"
    },
    {
      "names": [
        "-r",
        "--limit-rate"
      ],
      "description": "Maximum download rate in bytes per second (e.g. 50K or 4.2M)",
      "args": [
        {
          "name": "RATE"
        }
      ]
    },
    {
      "names": [
        "-R",
        "--retries"
      ],
      "description": "Number of retries or \"infinite\"",
      "args": [
        {
          "name": "RETRIES"
        }
      ]
    },
    {
      "names": [
        "--fragment-retries"
      ],
      "description": "Number of retries for a fragment or \"infinite\"",
      "args": [
        {
          "name": "RETRIES"
        }
      ]
    },
    {
      "names": [
        "--skip-unavailable-fragments"
      ],
      "description": "Skip unavailable fragments"
    },
    {
      "names": [
        "--abort-on-unavailable-fragments"
      ],
      "description": "Abort downloading when some fragment is not available"
    },
    {
      "names": [
        "--keep-fragments"
      ],
      "description": "Keep downloaded fragments on disk after downloading is finished; fragments are erased by default"
    },
    {
      "names": [
        "--buffer-size"
      ],
      "description": "Size of download buffer (e.g. 1024 or 16K)",
      "args": [
        {
          "name": "SIZE"
        }
      ]
    },
    {
      "names": [
        "--no-resize-buffer"
      ],
      "description": "Do not automatically adjust the buffer size"
    },
    {
      "names": [
        "--http-chunk-size"
      ],
      "description": "Size of a chunk for chunk-based HTTP downloading (e.g. 10385760 or 10M)",
      "args": [
        {
          "name": "SIZE"
        }
      ]
    },
    {
      "names": [
        "--playlist-reverse"
      ],
      "description": "Download playlist videos in reverse order"
    },
    {
      "names": [
        "--playlist-random"
      ],
      "description": "Download playlist videos in random order"
    },
    {
      "names": [
        "--xattr-set-filesize"
      ],
      "description": "Set file xattribute ytdl.filesize with expected file size"
    },
    {
      "names": [
        "--hls-prefer-native"
      ],
      "description": "Use the native HLS downloader instead of ffmpeg"
    },
    {
      "names": [
        "--hls-prefer-ffmpeg"
      ],
      "description": "Use ffmpeg instead of the native HLS downloader"
    },
    {
      "names": [
        "--hls-prefer-mpegts"
      ],
      "description": "Use the mpegts container for HLS videos, allowing to play the video while downloading"
    },
    {
      "names": [
        "--external-downloader"
      ],
      "description": "Use the specified external downloader",
      "args": [
        {
          "name": "COMMAND",
          "suggestions": [
            "aria2c",
            "avconv",
            "axel",
            "curl",
            "ffmpeg",
            "httpie",
            "wget"
          ]
        }
      ]
    },
    {
      "names": [
        "--external-downloader-args"
      ],
      "description": "Give these arguments to the external downloader",
      "dependsOn": [
        "--external-downloader"
      ],
      "args": [
        {
          "name": "ARGS"
        }
      ]
    },
    {
      "names": [
        "-a",
        "--batch-file"
      ],
      "description": "File containing URLs to download ('-' for stdin), one URL per line. Lines starting with '#', ';' or ']' are considered as comments and ignored",
      "args": [
        {
          "name": "FILE",
          "template": "filepaths",
          "suggestions": [
            "-"
          ]
        }
      ]
    },
    {
      "names": [
        "--id"
      ],
      "description": "Use only video ID in file name"
    },
    {
      "names": [
        "-o",
        "--output"
      ],
      "description": "Output filename template",
      "args": [
        {
          "name": "TEMPLATE"
        }
      ]
    },
    {
      "names": [
        "--output-na-placeholder"
      ],
      "description": "Placeholder value for unavailable meta fields in output filename template",
      "args": [
        {
          "name": "PLACEHOLDER"
        }
      ]
    },
    {
      "names": [
        "--autonumber-start"
      ],
      "description": "Specify the start value for %(autonumber)s",
      "args": [
        {
          "name": "NUMBER"
        }
      ]
    },
    {
      "names": [
        "--restrict-filenames"
      ],
      "description": "Restrict filenames to only ASCII characters, and avoid \"&\" and spaces in filenames"
    },
    {
      "names": [
        "-w",
        "--no-overwrites"
      ],
      "description": "Do not overwrite files"
    },
    {
      "names": [
        "-c",
        "--continue"
      ],
      "description": "Do not resume partially downloaded files (restart from beginning)"
    },
    {
      "names": [
        "--no-part"
      ],
      "description": "Do not use .part files - write directly into output file"
    },
    {
      "names": [
        "--no-mtime"
      ],
      "description": "Do not use the Last-modified header to set the file modification time"
    },
    {
      "names": [
        "--write-description"
      ],
      "description": "Write video descriptions to a .description file"
    },
    {
      "names": [
        "--write-info-json"
      ],
      "description": "Write video metadata to a .info.json file"
    },
    {
      "names": [
        "--write-annotations"
      ],
      "description": "Write video annotations to a .annotations.xml file"
    },
    {
      "names": [
        "--load-info-json"
      ],
      "description": "JSON file containing the video information (created with the \"--write-info-json\" option",
      "args": [
        {
          "name": "FILE",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--cookies"
      ],
      "description": "File to read cookies from and dump cookie jar in",
      "args": [
        {
          "name": "FILE",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--cache-dir"
      ],
      "description": "Location in the filesystem where youtube-dl can store some downloaded information permanently",
      "args": [
        {
          "name": "DIR",
          "template": "folders"
        }
      ]
    },
    {
      "names": [
        "--no-cache-dir"
      ],
      "description": "Disable filesystem caching"
    },
    {
      "names": [
        "--rm-cache-dir"
      ],
      "description": "Delete all filesystem cache files"
    },
    {
      "names": [
        "--write-thumbnail"
      ],
      "description": "Write thumbnail image to disk"
    },
    {
      "names": [
        "--write-all-thumbnail"
      ],
      "description": "Write all thumbnail image formats to disk"
    },
    {
      "names": [
        "--list-thumbnails"
      ],
      "description": "Simulate and list all available thumbnail formats"
    },
    {
      "names": [
        "-q",
        "--quiet"
      ],
      "description": "Activate quite mode"
    },
    {
      "names": [
        "--no-warnings"
      ],
      "description": "Ignore warnings"
    },
    {
      "names": [
        "-s",
        "--simulate"
      ],
      "description": "Do not download the video and do note write anything to disk"
    },
    {
      "names": [
        "--skip-download"
      ],
      "description": "Do not download the video"
    },
    {
      "names": [
        "-g",
        "--get-url"
      ],
      "description": "Simulate, quiet but print URL"
    },
    {
      "names": [
        "-e",
        "--get-title"
      ],
      "description": "Simulate, quiet but print title"
    },
    {
      "names": [
        "--get-id"
      ],
      "description": "Simulate, quiet but print id"
    },
    {
      "names": [
        "--get-thumbnail"
      ],
      "description": "Simulate, quiet but print thumbnail URL"
    },
    {
      "names": [
        "--get-description"
      ],
      "description": "Simulate, quiet but print video description"
    },
    {
      "names": [
        "--get-duration"
      ],
      "description": "Simulate, quiet but print video length"
    },
    {
      "names": [
        "--get-filename"
      ],
      "description": "Simulate, quiet but print output filename"
    },
    {
      "names": [
        "--get-format"
      ],
      "description": "Simulate, quiet but print output format"
    },
    {
      "names": [
        "-j",
        "--dump-json"
      ],
      "description": "Simulate, quiet but JSON information"
    },
    {
      "names": [
        "-J",
        "--dump-single-json"
      ],
      "description": "Simulate, quiet but JSON information for each command-line argument"
    },
    {
      "names": [
        "--print-json"
      ],
      "description": "Be quiet and print the video information as JSON (video is still being downloaded)"
    },
    {
      "names": [
        "--newline"
      ],
      "description": "Output the progress bar as new lines"
    },
    {
      "names": [
        "--no-progress"
      ],
      "description": "Do not print the progress bar"
    },
    {
      "names": [
        "--console-title"
      ],
      "description": "Display progress in console titlebar"
    },
    {
      "names": [
        "-v",
        "--verbose"
      ],
      "description": "Print various debugging information"
    },
    {
      "names": [
        "--dump-pages"
      ],
      "description": "Print downloaded pages encoded using base64 to debug problems (very verbose)"
    },
    {
      "names": [
        "--write-pages"
      ],
      "description": "Write downloaded intermediary pages to files in the current directory to debug problems"
    },
    {
      "names": [
        "--print-traffic"
      ],
      "description": "Display sent and read HTTP traffic"
    },
    {
      "names": [
        "-C",
        "--call-home"
      ],
      "description": "Contact the youtube-dl server for debugging"
    },
    {
      "names": [
        "--no-call-home"
      ],
      "description": "Do NOT contact the youtube-dl server for debugging"
    },
    {
      "names": [
        "--encoding"
      ],
      "description": "Force the specified encoding (experimental)",
      "args": [
        {
          "name": "ENCODING"
        }
      ]
    },
    {
      "names": [
        "--no-check-certificate"
      ],
      "description": "Suppress HTTPS certificate validation"
    },
    {
      "names": [
        "--prefer-insecure"
      ],
      "description": "Use an unencrypted connection to retrieve information about the video. (Currently supported only for YouTube)"
    },
    {
      "names": [
        "--user-agent"
      ],
      "description": "Specify a custom user agent",
      "args": [
        {
          "name": "UA"
        }
      ]
    },
    {
      "names": [
        "--referer"
      ],
      "description": "Specify a custom referer, use if the video access is restricted to one domain",
      "args": [
        {
          "name": "URL"
        }
      ]
    },
    {
      "names": [
        "--add-header"
      ],
      "description": "Specify a custom HTTP header and its value, separated by a colon ':'",
      "isRepeatable": -1,
      "args": [
        {
          "name": "FIELD:VALUE"
        }
      ]
    },
    {
      "names": [
        "--bidi-workaround"
      ],
      "description": "Work around terminals that lack bidirectional text support. Requires bidiv or fribidi executable in PATH"
    },
    {
      "names": [
        "--sleep-interval"
      ],
      "description": "Number of seconds to sleep before each download when used alone or a lower bound of a range for randomized sleep before each download when used along with --max-sleep-interval",
      "args": [
        {
          "name": "SECONDS"
        }
      ]
    },
    {
      "names": [
        "--max-sleep-interval"
      ],
      "description": "Upper bound of a range for randomized sleep before each download. Must only be used along with --min- sleep-interval",
      "dependsOn": [
        "--sleep-interval"
      ],
      "args": [
        {
          "name": "SECONDS"
        }
      ]
    },
    {
      "names": [
        "-f",
        "--format"
      ],
      "description": "Video format code",
      "args": [
        {
          "name": "FORMAT"
        }
      ]
    },
    {
      "names": [
        "--all-formats"
      ],
      "description": "Download all available video formats"
    },
    {
      "names": [
        "--prefer-free-formats"
      ],
      "description": "Prefer free video formats unless a specific one is requested"
    },
    {
      "names": [
        "-F",
        "--list-formats"
      ],
      "description": "List all available formats of requested videos"
    },
    {
      "names": [
        "--youtube-skip-dash-manifest"
      ],
      "description": "Do not download the DASH manifests and related data on YouTube videos"
    },
    {
      "names": [
        "--merge-output-format"
      ],
      "description": "If a merge is required (e.g. bestvideo+bestaudio), output to given container format",
      "args": [
        {
          "name": "FORMAT",
          "suggestions": [
            "mkv",
            "mp4",
            "ogg",
            "webm",
            "flv"
          ]
        }
      ]
    },
    {
      "names": [
        "--write-sub"
      ],
      "description": "Write subtitle file"
    },
    {
      "names": [
        "--write-auto-sub"
      ],
      "description": "Write automatically generated subtitle file (YouTube only)"
    },
    {
      "names": [
        "--all-subs"
      ],
      "description": "Download all the available subtitles of the video"
    },
    {
      "names": [
        "--list-subs"
      ],
      "description": "List all available subtitles for the video"
    },
    {
      "names": [
        "--sub-format"
      ],
      "description": "Subtitle format, accepts formats preference, for example: \"srt\" or \"ass/srt/best\"",
      "args": [
        {
          "name": "FORMAT"
        }
      ]
    },
    {
      "names": [
        "--sub-lang"
      ],
      "description": "Languages of the subtitles to download (optional) separated by commas",
      "args": [
        {
          "name": "LANGS",
          "suggestions": [
            "af",
            "sq",
            "am",
            "ar",
            "hy",
            "az",
            "bn",
            "eu",
            "be",
            "bs",
            "bg",
            "my",
            "ca",
            "ceb",
            "zh-Hans",
            "zh-Hant",
            "co",
            "hr",
            "cs",
            "da",
            "nl",
            "en",
            "eo",
            "et",
            "fil",
            "fi",
            "fr",
            "gl",
            "ka",
            "de",
            "el",
            "gu",
            "ht",
            "ha",
            "haw",
            "iw",
            "hi",
            "hmn",
            "hu",
            "is",
            "ig",
            "id",
            "ga",
            "it",
            "ja",
            "jv",
            "kn",
            "kk",
            "km",
            "rw",
            "ko",
            "ku",
            "ky",
            "lo",
            "la",
            "lv",
            "lt",
            "lb",
            "mk",
            "mg",
            "ms",
            "ml",
            "mt",
            "mi",
            "mr",
            "mn",
            "ne",
            "no",
            "ny",
            "or",
            "ps",
            "fa",
            "pl",
            "pt",
            "pa",
            "ro",
            "ru",
            "sm",
            "gd",
            "sr",
            "sn",
            "sd",
            "si",
            "sk",
            "sl",
            "so",
            "st",
            "es",
            "su",
            "sw",
            "sv",
            "tg",
            "ta",
            "tt",
            "te",
            "th",
            "tr",
            "tk",
            "uk",
            "ur",
            "ug",
            "uz",
            "vi",
            "cy",
            "fy",
            "xh",
            "yi",
            "yo",
            "zu"
          ]
        }
      ]
    },
    {
      "names": [
        "-u",
        "--username"
      ],
      "description": "Login with this account ID",
      "args": [
        {
          "name": "USERNAME"
        }
      ]
    },
    {
      "names": [
        "-p",
        "--password"
      ],
      "description": "Account password. If this option is left out, youtube-dl will ask interactively",
      "args": [
        {
          "name": "PASSWORD"
        }
      ]
    },
    {
      "names": [
        "-2",
        "--twofactor"
      ],
      "description": "Two-factor authentication code",
      "args": [
        {
          "name": "TWOFACTOR"
        }
      ]
    },
    {
      "names": [
        "-n",
        "--netrc"
      ],
      "description": "Use .netrc authentication data"
    },
    {
      "names": [
        "--video-password"
      ],
      "description": "Video password (vimeo, youku)",
      "args": [
        {
          "name": "PASSWORD"
        }
      ]
    },
    {
      "names": [
        "--ap-mso"
      ],
      "description": "Adobe Pass multiple-system operator (TV provider) identifier",
      "args": [
        {
          "name": "MSO"
        }
      ]
    },
    {
      "names": [
        "--ap-username"
      ],
      "description": "Multiple-system operator account login",
      "args": [
        {
          "name": "USERNAME"
        }
      ]
    },
    {
      "names": [
        "--ap-password"
      ],
      "description": "Multiple-system operator account password. If this option is left out, youtube-dl will ask interactively",
      "args": [
        {
          "name": "PASSWORD"
        }
      ]
    },
    {
      "names": [
        "--ap-list-mso"
      ],
      "description": "List all supported multiple-system operators"
    },
    {
      "names": [
        "-x",
        "--extract-audio"
      ],
      "description": "Convert audio files to audio-only files (requires ffmpeg/avconv and ffprobe/avprobe)"
    },
    {
      "names": [
        "--audio-format"
      ],
      "description": "Specify audio format",
      "dependsOn": [
        "-x"
      ],
      "args": [
        {
          "name": "FORMAT",
          "suggestions": [
            "best",
            "aac",
            "flac",
            "mp3",
            "m4a",
            "opus",
            "vorbis",
            "wav"
          ]
        }
      ]
    },
    {
      "names": [
        "--audio-quality"
      ],
      "description": "Specify ffmpeg/avconv audio quality, insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K",
      "args": [
        {
          "name": "QUALITY"
        }
      ]
    },
    {
      "names": [
        "--recode-video"
      ],
      "description": "Encode the video to another format if necessary",
      "args": [
        {
          "name": "FORMAT",
          "suggestions": [
            "mp4",
            "flv",
            "ogg",
            "webm",
            "mkv",
            "avi"
          ]
        }
      ]
    },
    {
      "names": [
        "--postprocessor-args"
      ],
      "description": "Give these arguments to the postprocessor",
      "args": [
        {
          "name": "ARGS"
        }
      ]
    },
    {
      "names": [
        "-k",
        "--keep-video"
      ],
      "description": "Keep the video file on disk after the post-processing; the video is erased by default"
    },
    {
      "names": [
        "--no-post-overwrites"
      ],
      "description": "Do not overwrite post-processed files; the post-processed files are overwritten by default"
    },
    {
      "names": [
        "--embed-subs"
      ],
      "description": "Embed subtitles in the video (only for mp4, webm and mkv videos)"
    },
    {
      "names": [
        "--embed-thumbnail"
      ],
      "description": "Embed thumbnail in the audio as cover art"
    },
    {
      "names": [
        "--embed-metadata"
      ],
      "description": "Write metadata to the video file"
    },
    {
      "names": [
        "--metadata-from-title"
      ],
      "description": "Parse additional metadata like song title / artist from the video title. The format syntax is the same as --output. Regular expressions with named capture groups may also be used. The parsed parameters replace existing values",
      "args": [
        {
          "name": "FORMAT"
        }
      ]
    },
    {
      "names": [
        "--xattrs"
      ],
      "description": "Write metadata to the video file's xattrs (using dublin core and xdg standards)"
    },
    {
      "names": [
        "--fixup"
      ],
      "description": "Automatically correct known faults of the file",
      "args": [
        {
          "name": "POLICY",
          "suggestions": [
            "never",
            "warn",
            "detect_or_warn"
          ]
        }
      ]
    },
    {
      "names": [
        "--prefer-avconv"
      ],
      "description": "Prefer avconv over ffmpeg for running the postprocessors"
    },
    {
      "names": [
        "--prefer-ffmpeg"
      ],
      "description": "Prefer ffmpeg over avconv for running the postprocessors (default)"
    },
    {
      "names": [
        "--ffmpeg-location"
      ],
      "description": "Location of the ffmpeg/avconv binary; either the path to the binary or its containing directory",
      "args": [
        {
          "name": "PATH",
          "template": "folders"
        }
      ]
    },
    {
      "names": [
        "--exec"
      ],
      "description": "Execute a command on the file after downloading and post-processing, similar to find's -exec syntax",
      "args": [
        {
          "name": "CMD"
        }
      ]
    },
    {
      "names": [
        "--convert-subs"
      ],
      "description": "Convert the subtitles to other format",
      "args": [
        {
          "name": "FORMAT",
          "suggestions": [
            "srt",
            "ass",
            "vtt",
            "lrc"
          ]
        }
      ]
    }
  ],
  "args": [
    {
      "name": "URL",
      "isVariadic": true,
      "generators": [
        {
          "script": [
            "pbpaste"
          ]
        }
      ]
    }
  ]
}
