ImagePipe
ImagePipe serves and processes images inside Elixir applications or as a standalone image server. Use its Plug endpoint for on-demand HTTP images, its Elixir API for jobs and uploads, or both with shared plans, configuration, and caches. Image and libvips power processing.
plan =
ImagePipe.URL.new()
|> ImagePipe.URL.group(resize: [width: 400, height: 300, fit: :cover])
|> ImagePipe.URL.output(format: :webp, quality: 82)
{:ok, result} = ImagePipe.run(ImagePipe.config(), plan, {:file, "photos/original.jpg"})
File.write!("thumbnail.webp", result.data)
The equivalent path for a configured source on an /images mount is:
/images/w=400/h=300/fit=cover/format=webp/q=82/src/photos/original.jpg
Documentation
Start with the documentation overview.
Try the demo
The repository includes the ImagePipe Fiddle, a Phoenix demo app with visual controls, URL editing, source selection, and tracing. Running the Fiddle covers starting it from a repository checkout.