Site Accelerator API
Site Accelerator from Jetpack is a Content Delivery Network (CDN) on WordPress.com, optimized to speed up your site by delivering faster images and static files. This guide explains how to use its API and available arguments.
Site Accelerator CDN is automatically enabled on sites with the WordPress.com Business and Commerce plans.
Query arguments
You can crop, resize, and filter images served by the Site Accelerator CDN using the following GET query parameters.
GET?w=
Set the width of an image in pixels:
?w=300

GET?h=
Set the height of an image in pixels:
?h=200

GET?crop=x,y,w,h
Crop an image by percentages x-offset, y-offset, width, height (x,y,w,h). Percentages are used so that you don’t need to recalculate the cropping when transforming the image in other ways such as resizing it.
For example, the following image takes a 60% by 60% rectangle from the source image starting at 12% offset from the left and 25% offset from the top.
?crop=12,25,60,60

The next image takes a 788 by 788 square starting at 160 by 160.
?crop=160px,160px,788px,788px

You can also mix the parameters types, for example a 1400 pixels by 60% rectangle from the image starting at 160 pixels by 25%.
?crop=160px,25,1400px,60

GET?resize=
Resize and crop an image to the exact width,height pixel dimensions. Set the first number as close to the target size as possible and then crop the rest. Which direction it’s resized and cropped depends on the aspect ratios of the original image and the target size.
?resize=400,220

?resize=200,400

This is useful for taking an image of any size and making it fit into a certain location while losing as little of the image as possible.
GET?fit=
Fit an image to a containing box of width, height dimensions. Image aspect ratio is maintained.
?fit=300,300

?fit=300,300

For example, fit=100,100 on a landscape image with dimensions 400×300 will result in an image that is 100×75, while fit=100,100 on a portrait image with dimensions 300×400 will result in an image that is 75×100.
GET?lb=
Add black letterboxing effect to images, by scaling them to width, height while maintaining the aspect ratio and filling the rest with black.
Original Image

?lb=310,250

GET?ulb=
Remove black letterboxing effect from images with ulb. This function takes only one argument, true.
Original Image

?ulb=true

GET?filter=
The filter parameter is used to apply one of multiple filters. Valid values are: negate, grayscale, sepia, edgedetect, emboss, blurgaussian, blurselective, meanremoval.
Original Image

?filter=negate

?filter=grayscale

?filter=sepia

?filter=edgedetect

?filter=emboss

?filter=blurgaussian

?filter=blurselective

?filter=meanremoval

GET?brightness=
Adjust the brightness of an image. Valid values are -255 through 255 where -255 is black and 255 is white. Higher is brighter. The default is zero.
?brightness=-40

?brightness=0

?brightness=80

GET?contrast=
Adjust the contrast contrast of an image. Valid values are -100 through 100. The default is zero.
?contrast=-50

?contrast=0

?contrast=50

GET?colorize=
Add color hues to an image with colorize by passing a comma separated list of red, green, and blue (RGB). For example, values such as 255,0,0 (red), 0,255,0 (green), 0,0,255 (blue).
?colorize=100,0,0

?colorize=0,100,0

?colorize=0,0,100

GET?smooth=
The smooth parameter can be used to smooth out the image.
Original image

?smooth=1

According to the PHP manual, the function applies a 9-cell convolution matrix where the center pixel is weighted by the value of the first argument, and all surrounding pixels have a weight of 1. The result is normalized by dividing by the total weight. In simpler terms, a value of 0 results in maximum smoothing, while higher values reduce the smoothing effect. Values around 2048 or more have little to no visible impact.
GET?zoom=
Use zoom to size images for high pixel ratio devices and browsers when zoomed. Not available to use with crop. Zoom is intended for use by scripts such as devicepx.js which automatically set the zoom level. Valid zoom levels are 1, 1.5, 2-10.
Original image

?zoom=2

GET?quality=
Use this parameter to manage the quality output of the images. Valid settings are between the values 10 and 100. The degree of compression depends on the image, its lossy or lossless nature, and the requesting web browser’s capabilities.
For lossless images, providing the quality input less than 100 will result in a lossy image provided the requested browser supports this image type. Below is an example that shows conversion of a non-transparent PNG (lossless) image to a JPEG (or lossy WebP if browser supports it) when quality is specified.
If the quality is not specified, photon will try to preserve the original quality.
Original image

?quality=50

Original png image

?quality=60

GET?allow_lossy=
Use this parameter to control whether the Image CDN may serve a lossy-compressed version of an image. When allow_lossy=1 is specified, the CDN will attempt to deliver a lossy format (for example, JPEG or WebP) if the requesting browser supports it.
Below is an example that demonstrates how a non-transparent PNG (lossless) image can be converted to a JPEG (or lossy WebP if browser supports it) when allow_lossy=1 is included in the request.
Original png image

?allow_lossy=1

GET?strip=
Use the strip functionality to control how metadata is preserved. Color profiles are always applied and removed, but other metadata may be kept. All data is stripped by default, with any existing orientation data being first applied to the image. There are 2 valid settings for this parameter:
- all: strips all extraneous data (this is the default).
- none: preserves Exif, IPTC and XMP.
Original image

?strip=none

Last updated: November 06, 2025