# Video to GIF Creator > Turn a video clip into a high-quality GIF or animated WebP with fps, width and dithering. Makes a GIF or animated WebP from up to 15 seconds of a video. Choose start, length, frame rate and width; GIFs use ffmpeg's two-stage palette (palettegen/paletteuse) with selectable dithering for much better colours than a default conversion. Shows the size, frame count and a preview. Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://videotogifcreator.usefulweb.site/ (interactive tool at https://videotogifcreator.usefulweb.site/tool) - JSON API: POST https://videotogifcreator.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://videotogifcreator.usefulweb.site/api/v1/tool) - OpenAPI: https://videotogifcreator.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://videotogifcreator.usefulweb.site/mcp - tool `video_to_gif_creator` ## Inputs - file (file, required): Video file - MP4, MOV, MKV, WebM, AVI; max 250 MB and 20 minutes. Processed on our server in a private temporary folder that is deleted afterwards; the result can be downloaded for about 2 hours. - start (text): Start time - Seconds, mm:ss or hh:mm:ss.mmm. - duration (number): Length - At most 15 seconds. - fps (integer): Frame rate - 10–15 fps is typical for GIFs; more frames = larger file. - width (integer): Width - Height follows the aspect ratio. Never wider than the source. - format (select): Output format - dither (select): Dithering (GIF) - colors (integer): Palette colours (GIF) - statsMode (select): Palette from (GIF) - loop (boolean): Loop forever - webpQuality (integer): WebP quality ## Method - ffmpeg seeks to the start time and reads up to 15 seconds. The frames are resampled to the chosen fps and scaled with Lanczos to the width (never wider than the source); the height follows the aspect ratio. - GIF: palettegen builds an optimal palette of up to 256 colours from the clip (from all pixels or only changing ones), and paletteuse maps every frame to it with the chosen dithering. This is the standard two-stage method for high-quality GIFs. - Animated WebP uses libwebp (lossy, quality 1–100), which is typically several times smaller than a GIF of the same clip. - All values (times, fps, width, colours) are validated numbers or fixed option names before they go into the filtergraph.