Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PICTOR_GPUNoGPU acceleration mode: auto, off, or torch.off
U2NET_HOMENoDirectory where background removal models are stored or pre-seeded.
PICTOR_HOSTNoHost interface to bind for HTTP transports.127.0.0.1
PICTOR_PORTNoPort for HTTP transports.8077
PICTOR_BG_MODELNoBackground removal model to use with the ML image (e.g., u2net). Downloaded on first use if not baked in.
PICTOR_TRANSPORTNoTransport protocol: stdio, streamable-http, or sse. Defaults to streamable-http in Docker.stdio
PICTOR_AUTH_TOKENNoBearer token for HTTP authentication. Required for HTTP once reachable off-host. Minimum 16 characters.
PICTOR_MAX_PIXELSNoPer-frame decompression-bomb ceiling in pixels.64000000
PICTOR_URL_SECRETNoSecret for signing generated file URLs. Required if PICTOR_SERVE_OUTPUTS=true and PICTOR_AUTH_TOKEN is not set.
PICTOR_ENABLE_HSTSNoEnable HTTP Strict Transport Security when behind TLS termination.false
PICTOR_INPUT_ROOTSNoComma-separated list of allowed read roots (absolute paths)./data
PICTOR_OUTPUT_ROOTNoThe only writable directory for outputs. Must not overlap an input root./data/output
PICTOR_ALLOWED_HOSTSNoComma-separated list of allowed Host headers when exposed beyond localhost.
PICTOR_JSON_RESPONSENoUse JSON responses instead of SSE streams for better compatibility with some clients.false
PICTOR_SERVE_OUTPUTSNoEnable signed URLs for generated files.false
PICTOR_STATELESS_HTTPNoUse stateless HTTP mode for best client compatibility.true
PICTOR_STRIP_METADATANoStrip EXIF/GPS/ICC metadata from outputs.true
PICTOR_ALLOWED_ORIGINSNoComma-separated list of allowed Origin headers for browser-based clients.
PICTOR_ALLOW_NET_FETCHNoEnables URL inputs, with SSRF guard.false
PICTOR_HTTP_ACCESS_LOGNoEnable uvicorn access log. Off so signed URLs are not written to logs.false
PICTOR_MAX_CONCURRENCYNoMaximum number of concurrent operations.4
PICTOR_PUBLIC_BASE_URLNoExternal base URL for generated file links when behind a reverse proxy.
PICTOR_URL_TTL_SECONDSNoLifetime of signed generated file URLs.3600
PICTOR_OP_TIMEOUT_SECONDSNoCooperative timeout for operations, checked between pipeline steps.120
PICTOR_MAX_ANIMATION_PIXELSNoCeiling on width × height × frames for animations.128000000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
image_capabilitiesA

Report what this image server can do: supported formats, available operations, resource limits, security posture, and whether GPU acceleration is active. Call this first when you are unsure which formats or features are available.

image_infoA

Read an image's metadata without modifying it: dimensions, format, colour mode, animation frames, EXIF, perceptual hashes and dominant colours.

image_convertB

Convert an image between formats (JPEG, PNG, WebP, AVIF, TIFF, GIF, BMP, ICO, JPEG 2000, QOI, PPM), controlling quality, losslessness and metadata.

image_resizeB

Resize by width, height, percentage, or to fit a box. Supports contain, cover, fill, inside, outside and pad fit modes, all resampling filters, and optional format change.

image_compressA

Reduce an image's file size, either by a quality level or by searching for the best quality that stays under a target size. Reports the exact saving achieved.

image_cropA

Crop by explicit pixel box, by aspect ratio with a gravity anchor, or auto-trim a uniform border.

image_rotateA

Rotate by any angle, mirror horizontally or vertically, and/or apply the EXIF orientation so the pixels match what a viewer shows.

image_thumbnailB

Produce a thumbnail of an exact size, choosing the crop by saliency (attention or entropy) instead of blindly taking the centre.

image_transformA

Run several operations in one call, in order. Prefer this over chaining single-step tools: it transfers the image once and applies every step server-side. Operations: auto_orient, resize, crop, rotate, flip, sharpen, blur, smart_crop, watermark_text, watermark_image, background_remove, feather.

image_watermarkA

Add a text or image watermark with position, opacity, rotation and optional tiling. Supply either 'text' or 'watermark_path'.

image_background_removeA

Make the background transparent. method='color' keys out a flat border colour (instant, offline, best for product/logo shots); method='ml' uses a U^2-Net model for arbitrary backgrounds; method='auto' picks ML when the model is installed.

image_batchA

Run the same operation list across every image in a directory, a glob, or an explicit list of paths. Each file is independent: a failure is reported per file and does not abort the run. Use a {name} placeholder in output_name for per-file suffixes.

image_compareA

Measure how different two images are: SSIM, RMSE, PSNR, mean and max pixel difference, the fraction of changed pixels, and perceptual-hash distance. Use it to verify a transform or to spot duplicate images.

image_optimize_webA

Turn one source image into a set of web-ready variants at several widths, each optionally constrained to a maximum file size, plus a tiny blurred placeholder and a ready-to-paste srcset. This is the one call to use for 'make this web-ready'.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 14 tools

Disambiguation2/5

Several single-step tools overlap heavily with image_transform, which already supports resize, crop, rotate, watermark, and background removal. An agent deciding between image_resize and image_transform with a resize operation, or between image_thumbnail and image_resize, will face real ambiguity. A few tools like image_info and image_compare are distinct, but the manipulation subset is not clearly delineated.

Naming Consistency4/5

All tools share the image_ prefix and use lower_snake_case, giving the set a coherent visual pattern. The second part is usually a verb (resize, convert, compress, crop, rotate, compare), though a few nouns appear (capabilities, info, thumbnail, watermark, batch). This is a minor deviation rather than a chaotic mix.

Tool Count4/5

Fourteen tools is on the higher end but still believable for a general-purpose image manipulation server. The count is justifiable given the range of operations, batch processing, web optimization, and comparison features. It is not bloated, though the redundancy with image_transform makes the number feel slightly larger than necessary.

Completeness5/5

The surface covers a full image lifecycle: inspect, resize, crop, rotate, convert, compress, watermark, remove backgrounds, batch-process, compare, and produce web-ready output. It also includes capabilities reporting and metadata extraction, so there are no obvious dead ends or missing core operations. The composite transform fills in extra operations like sharpen, blur, and feather.

Maintenance

ActivityMaintained
ResponsivenessNo issues