Thumbgen is a lightweight Go web service for generating thumbnails from images and videos. Point it at a source URL and an upload destination — Thumbgen fetches the media, produces a 200×200 PNG thumbnail, and PUT-uploads the result. It supports images via Go’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/sanskarsharma/thumbgen/llms.txt
Use this file to discover all available pages before exploring further.
imaging library and video frames via ffmpeg, and can be deployed locally, in Docker, or on Cloudflare Workers + Containers.
Introduction
Learn what Thumbgen does and how it works under the hood.
Quickstart
Make your first thumbnail generation request in under 5 minutes.
API Reference
Full documentation of the HTTP API endpoints and request/response schemas.
Deployment
Run Thumbgen locally, in Docker, or deploy to Cloudflare.
How It Works
Send a POST request to /thumbify
Provide a
download_url pointing to the source image or video, and an upload_url where the thumbnail should be uploaded.Thumbgen fetches and inspects the media
Thumbgen downloads the file and checks its
Content-Type header to determine whether it’s an image or a video.Thumbnail is generated
For images, the
imaging library resizes and crops to 200×200 pixels. For videos, ffmpeg extracts the first frame and crops to 200×200.Key Features
Image Thumbnails
Supports JPEG, PNG, GIF, BMP, SVG, and TIFF. Output is always a 200×200 PNG.
Video Thumbnails
Extracts and crops the first frame from MP4, WebM, MOV, AVI, WMV, FLV, and more via ffmpeg.
Configurable Media Types
Override supported MIME types at runtime using environment variables — no code changes needed.
Flexible Deployment
Run locally with
go run, containerise with Docker, or deploy serverlessly on Cloudflare Workers + Containers.