# image_pipe v0.2.0 - Table of Contents > A Plug-based image optimization server with a declarative path API. ## Pages - Getting started - [ImagePipe documentation](overview.md) - [Installation](installation.md) - [Getting started with the server](server-getting-started.md) - [Getting started with Phoenix](phoenix-getting-started.md) - [Processing images in Elixir](processing-in-elixir.md) - [Elixir API](elixir-api.md) - [Building URLs for the server](building-server-urls.md) - Requesting images - [Requesting images](requesting-images.md) - [Processing options](processing.md) - [Resize and layout](resize.md) - [Orientation and cropping](crop.md) - [Effects](effects.md) - [Watermarks](watermark.md) - [Output and encoding](output.md) - [Request controls](request.md) - Running ImagePipe - [Deploying image_pipe_server](server-deployment.md) - [Limiting work per request](deployment.md) - [Image sources](sources.md) - [Serving images from local files](serving-local-files.md) - [Serving from an HTTP origin](serving-from-http.md) - [Serving images from S3](serving-from-s3.md) - [Caching processed images](caching-processed-images.md) - [Serving images through a CDN](serving-through-a-cdn.md) - [Signing URLs and rotating keys](signing-urls.md) - [Defining presets](defining-presets.md) - [Enabling detection](enabling-detection.md) - [Serving SVG images](serving-svg-images.md) - [Limiting concurrent processing](processing-controls.md) - [Choosing a quality target](choosing-an-autoquality-target.md) - [Monitoring with telemetry](telemetry.md) - [Exporting traces to Jaeger](opentelemetry-jaeger.md) - [Serving and processing in one app](combined-usage.md) - [Fetching images from the server](fetching-from-the-server.md) - Concepts - [Processing order and groups](processing-order.md) - [Caching and freshness](caching-and-freshness.md) - [Failures during streaming](streaming-failures.md) - [Signing and source concealment](urls.md) - [Presets](presets.md) - [Content-aware cropping](content-aware-gravity.md) - [Source network policy](source-network-policy.md) - [Request tracing](tracing.md) - Extending - [Writing a custom source](custom-sources.md) - [Writing a custom detector](custom-detectors.md) - [Storing presets in a database](storing-presets-in-a-database.md) - Reference - [Elixir configuration](configuration.md) - [Configuring image_pipe_server](server-configuration.md) - [Shared URL settings](shared-url-settings.md) - [Cache storage](cache.md) - [HTTP cache headers](cdn-http-cache.md) - [Error responses](errors.md) - [Telemetry event reference](telemetry-events.md) - [Debug response headers](debug_headers.md) - Project - [ImagePipe](readme.md) - [Changelog](changelog.md) - [LICENSE](license.md) ## Modules - [ImagePipe.PresetLookup](ImagePipe.PresetLookup.md): Resolves presets that the static `:presets` map does not define, while a request is served. - Application API - [ImagePipe](ImagePipe.md): Processes images in your own code, and holds the configuration that `ImagePipe.Plug` serves images with. - [ImagePipe.Config](ImagePipe.Config.md): Reusable host configuration shared by the Plug and direct execution. - [ImagePipe.Plug](ImagePipe.Plug.md): Serves ImagePipe's image API from a Plug or Phoenix router. Each place it is plugged in is a mount, with its own options. - [ImagePipe.Plug.StreamAbortedError](ImagePipe.Plug.StreamAbortedError.md): Raised by `ImagePipe.Plug` when a response fails after its `200` status and headers were sent. - [ImagePipe.ProcessingPool](ImagePipe.ProcessingPool.md): Limits how many images are processed at once, with a queue for requests that wait for a turn and a deadline for each image. - [ImagePipe.Result](ImagePipe.Result.md): The complete output of `ImagePipe.run/4` or `ImagePipe.write/5`. - Sources - [ImagePipe.Source](ImagePipe.Source.md): Behaviour for source adapters, and the shape of the `:sources` option of `ImagePipe.config/1`. - [ImagePipe.Source.File](ImagePipe.Source.File.md): Source adapter for image files below a directory. - [ImagePipe.Source.HTTP](ImagePipe.Source.HTTP.md): Source adapter for images fetched over HTTP and HTTPS. - [ImagePipe.Source.S3](ImagePipe.Source.S3.md): Source adapter for objects in S3 and S3-compatible storage. - Source adapter types - [ImagePipe.Source.CachePolicy](ImagePipe.Source.CachePolicy.md): Cache storage and freshness policy for originals and processed images. - [ImagePipe.Source.CacheSemantics](ImagePipe.Source.CacheSemantics.md): Source-owned cache facts used by internal and HTTP cache decisions. - [ImagePipe.Source.CacheSettings](ImagePipe.Source.CacheSettings.md): Cache settings shared by source adapters. - [ImagePipe.Source.Object](ImagePipe.Source.Object.md): Product-neutral bucket or container object source, such as `s3://bucket/key`. - [ImagePipe.Source.Origin](ImagePipe.Source.Origin.md): Origin cache evidence, kept separately from the source's byte identity. - [ImagePipe.Source.Path](ImagePipe.Source.Path.md): Root-relative path source. - [ImagePipe.Source.Resolved](ImagePipe.Source.Resolved.md): Validated source information returned by an adapter's `c:ImagePipe.Source.resolve/3`. - [ImagePipe.Source.Response](ImagePipe.Source.Response.md): Source bytes returned by an `ImagePipe.Source` adapter. - [ImagePipe.Source.URL](ImagePipe.Source.URL.md): Absolute HTTP and HTTPS source. - S3 credentials - [ImagePipe.Source.S3.AssumeRole](ImagePipe.Source.S3.AssumeRole.md): Credential provider that assumes an IAM role with STS `AssumeRole`, usually a role in another account. - [ImagePipe.Source.S3.ContainerCredentials](ImagePipe.Source.S3.ContainerCredentials.md): Credential provider for ECS, Fargate, and EKS container credentials. - [ImagePipe.Source.S3.CredentialProvider](ImagePipe.Source.S3.CredentialProvider.md): Behaviour for S3 credential providers. - [ImagePipe.Source.S3.CredentialWarmup](ImagePipe.Source.S3.CredentialWarmup.md): Fetches S3 credentials from a provider at startup, so the first request for a bucket doesn't wait for them. - [ImagePipe.Source.S3.InstanceRole](ImagePipe.Source.S3.InstanceRole.md): Credential provider for the IAM role attached to an EC2 instance, including Elastic Beanstalk, read from the instance metadata service (IMDSv2). - [ImagePipe.Source.S3.WebIdentity](ImagePipe.Source.S3.WebIdentity.md): Credential provider for EKS IAM roles for service accounts (IRSA), using STS `AssumeRoleWithWebIdentity`. - Cache - [ImagePipe.Cache.FileSystem](ImagePipe.Cache.FileSystem.md): Stores processed images, or originals, as files on local disk. The `cache` and `input_cache` options take its options, and need an instance, which starts the processes that track the cache's size (see `ImagePipe.child_spec/1`) - Content detection - [ImagePipe.Transform.Detector](ImagePipe.Transform.Detector.md): Behaviour for detectors that find faces and objects for `detect` and `anchor=smart-face` crops. - [ImagePipe.Transform.Detector.Composite](ImagePipe.Transform.Detector.Composite.md): Routes requested classes to an ordered list of detectors and merges their regions. - [ImagePipe.Transform.Detector.ImageVision.Face](ImagePipe.Transform.Detector.ImageVision.Face.md): `ImagePipe.Transform.Detector` for faces, backed by the optional `image_vision` dependency (`Image.FaceDetection`, YuNet). The dependency is not declared by ImagePipe — hosts opt in. When absent, `available?/1` is false and callers fall back gracefully. - [ImagePipe.Transform.Detector.ImageVision.Objects](ImagePipe.Transform.Detector.ImageVision.Objects.md): `ImagePipe.Transform.Detector` for general objects, backed by the optional `image_vision` dependency (`Image.Detection`, RT-DETR, COCO-80). The dependency is not declared by ImagePipe — hosts opt in. When absent, `available?/1` is false and callers fall back gracefully. - [ImagePipe.Transform.Detector.Warmup](ImagePipe.Transform.Detector.Warmup.md): One-shot worker that pre-loads a detector's models at boot. - Telemetry - [ImagePipe.Telemetry](ImagePipe.Telemetry.md): Attaches ImagePipe's optional Logger handler and span tracer.