MCPcopy
hub / github.com/cshum/imagor

github.com/cshum/imagor @v1.9.2 sqlite

repository ↗ · DeepWiki ↗ · release v1.9.2 ↗
1,045 symbols 6,325 edges 99 files 484 documented · 46%
README

imagor

Test Status Codecov Docker Hub Docs

imagor is a fast, secure image processing server and Go library.

imagor uses one of the most efficient image processing libraries, libvips, with the Go binding vipsgen, which is also available for low-level libvips operations directly in Go. It is typically 4-8x faster than using the quickest ImageMagick settings. imagor implements libvips streaming to facilitate parallel processing pipelines and achieve high network throughput. Benchmarks show imagor is one of the fastest image processing servers.

imagor features a ton of image processing use cases, available as a HTTP server with first-class Docker support. It adopts the thumbor URL syntax representing a high-performance drop-in replacement.

imagor is built with speed, security and extensibility in mind. Alongside there is imagorvideo bringing video thumbnail capability through ffmpeg C bindings.

Quick Start

docker run -p 8000:8000 shumc/imagor -imagor-unsafe -imagor-auto-webp

Original images:

https://raw.githubusercontent.com/cshum/imagor/master/testdata/gopher.png
https://raw.githubusercontent.com/cshum/imagor/master/testdata/dancing-banana.gif
https://raw.githubusercontent.com/cshum/imagor/master/testdata/gopher-front.png

Try out the following image URLs:

http://localhost:8000/unsafe/fit-in/200x200/filters:fill(white)/https://raw.githubusercontent.com/cshum/imagor/master/testdata/gopher.png
http://localhost:8000/unsafe/200x200/smart/filters:fill(white):format(jpeg):quality(80)/https://raw.githubusercontent.com/cshum/imagor/master/testdata/gopher.png
http://localhost:8000/unsafe/fit-in/-180x180/10x10/filters:hue(290):saturation(100):fill(yellow)/raw.githubusercontent.com/cshum/imagor/master/testdata/gopher.png
http://localhost:8000/unsafe/30x40:100x150/filters:fill(cyan)/raw.githubusercontent.com/cshum/imagor/master/testdata/dancing-banana.gif
http://localhost:8000/unsafe/fit-in/200x150/filters:fill(yellow):watermark(raw.githubusercontent.com/cshum/imagor/master/testdata/gopher-front.png,repeat,bottom,0,40,40)/raw.githubusercontent.com/cshum/imagor/master/testdata/dancing-banana.gif

[!TIP] Full documentation at docs.imagor.netImage Endpoint · Filters · Storage · Security · Configuration

Extension points exported contracts — how you extend this code

Loader (Interface)
Loader image loader interface [9 implementers]
imagor.go
Service (Interface)
Service is a http.Handler with Startup and Shutdown lifecycle [9 implementers]
server/server.go
Detector (Interface)
Detector detects regions of interest in a raw pixel buffer. Implementations are free to perform any kind of detection (f [3 …
detector.go
Buffer (Interface)
Buffer is the underlying buffer interface for allowing the non-seekable source to become seekable [2 implementers]
seekstream/buffer.go
Signer (Interface)
Signer imagor URL signature signer [1 implementers]
imagorpath/signer.go
SafeChars (Interface)
SafeChars safe chars for storage paths [1 implementers]
imagorpath/normalize.go
Option (FuncType)
Option imagor option
option.go
Option (FuncType)
Option PrometheusMetrics option
metrics/prometheusmetrics/prometheus.go

Core symbols most depended-on inside this repo

String
called by 291
config/flags.go
Run
called by 290
server/server.go
ServeHTTP
called by 220
imagor.go
Get
called by 217
imagor.go
New
called by 145
imagor.go
Set
called by 128
config/flags.go
Error
called by 121
errors.go
NewBlobFromBytes
called by 117
blob.go

Shape

Function 650
Method 271
Struct 76
FuncType 27
Interface 16
TypeAlias 5

Languages

Go100%
TypeScript1%

Modules by API surface

imagor_test.go109 symbols
imagor.go50 symbols
blob.go43 symbols
option.go35 symbols
processor/vipsprocessor/overlay_test.go32 symbols
loader/httploader/httploader_test.go32 symbols
processor/vipsprocessor/option.go30 symbols
server/server_test.go29 symbols
fanoutreader/fanout_test.go29 symbols
processor/vipsprocessor/filter.go25 symbols
processor/vipsprocessor/processor.go24 symbols
blob_test.go22 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.2 · 1×
cloud.google.com/gov0.123.0 · 1×
cloud.google.com/go/authv0.20.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/monitoringv1.29.0 · 1×
cloud.google.com/go/pubsub/v2v2.6.0 · 1×
cloud.google.com/go/storagev1.63.0 · 1×
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcpv1.33.0 · 1×
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metricv0.57.0 · 1×
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemappingv0.57.0 · 1×

For agents

$ claude mcp add imagor \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact