Make your first delivery request.
Every delivery URL begins with the project delivery key, identifies a source, and adds zero or more manipulation parameters. The response body is the final image—not JSON.
https://imagario.web.app/image/v1/project-key/assets/hero-chair?sw=1200&sh=800&fit=cover&g=attention&of=webp&c=86Use a stored asset or a remote URL.
Uploaded originals are addressed by their editable asset ID. Remote originals use a Base64URL-encoded source URL in the path—this is the remote URL encoded as text, not image bytes.
# Project asset
/project-key/assets/asset-id?of=webp
# URL-safe Base64 encoded https://example.com/photo.jpg
/project-key/remote/aHR0cHM6Ly9leGFtcGxlLmNvbS9waG90by5qcGc?sw=900Compose a validated pipeline.
Parameters can appear in any order. Imagario normalizes them into a canonical operation sequence before generating the cache key.
orauto | none | -360…360Orientation. Apply EXIF orientation automatically, ignore EXIF orientation, or rotate by an angle. Default: auto for non-empty pipelines.
flipx | y | xyMirror. Mirror the image across the x axis, y axis, or both axes.
sp1…400Scale percent. Scale both dimensions proportionally from 1% through 400%.
sw1…8192Target width. Set a target width in pixels. With no height, the aspect ratio is preserved.
sh1…8192Target height. Set a target height in pixels. With no width, the aspect ratio is preserved.
fitfit | fill | cover | contain | inside | outsideFit mode. Choose how the source is resized or cropped into the target dimensions. Default: fit.
gposition | entropy | attentionGravity. Anchor a crop to a compass point or use entropy/attention-based positioning. Default: center.
bgtransparent | hex colorBackground. Set the background color used by contain-mode padding. Default: transparent.
no_up1 | truePrevent enlargement. Prevent a resize from enlarging a source that is already smaller than the target. Default: false.
ofjpeg | png | webpOutput format. Encode the delivered image as JPEG, PNG, or WebP. Default: source.
c1…100Compression. Choose fidelity from 1 (maximum compression) to 100 (no lossy compression requested). Default: 82.
baseline1 | trueBaseline encoding. Disable progressive encoding when the target format supports it. Default: false.
c=100 requests maximum fidelity and no lossy compression; c=1 requests maximum compression. Encoders translate that policy appropriately for each format.Choose how the source meets its bounds.
Use sw or sh alone for proportional scaling, both for a bounded resize, or sp for a percentage. Pixel dimensions and percentage scale cannot be mixed.
fit=fitFit inside both bounds while preserving aspect ratio; no crop or padding.
fit=fillFill the exact dimensions by stretching when the source ratio differs.
fit=coverFill both bounds and crop overflow using the selected gravity.
fit=containFit inside both bounds and pad the remaining area with the background.
fit=insideResize as large as possible while remaining within the bounds.
fit=outsideResize as small as possible while covering both bounds.
# 50% of source dimensions
sp=50
# 900px wide, proportional height
sw=900
# Exact 900×900 frame with smart crop
sw=900&sh=900&fit=cover&g=attentionKeep the important region in frame.
For crops, gravity accepts compass positions from north through northwest, plus center, entropy, and attention. Entropy favors the busiest region; attention favors visually salient areas.
or=auto&flip=x&sw=1200&sh=800&fit=cover&g=northeast Use or=auto to apply EXIF orientation before geometry, an angle from −360 through 360 to rotate explicitly, and flip=x, flip=y, or flip=xy to mirror.
Publish the recipe, then call it by name.
Named manipulations are project-specific and versioned. They keep application URLs stable while your team manages the underlying recipe in one place.
https://imagario.web.app/image/v1/project-key/assets/hero-chair?m=product-cardProcess once. Reuse the exact derivative.
The same source revision, canonical manipulation, engine version, and output policy always resolve to the same derivative key.
Three independent usage dimensions.
Manipulation uses a fixed credit rate when work is performed. Private storage accrues daily at its per-GB rate. Delivered bytes consume bandwidth credits at a separate per-GB rate. Every ledger event uses the pricing version effective at that moment.