GAUSSIANBLUR API Endpoint

Version 2.197 (Release Notes ↗)

Description

Blurs an image using a Gaussian operator with specified radius and sigma parameters. Ideal for achieving smooth blur effects in images. Available in Prod Plan and higher. Blurs an image. The image is convolved with a Gaussian operator of the given radius and standard deviation sigma. For reasonable results, the radius should be larger than sigma parameter. This endpoint is available starting from the Prod Plan and up.

HTTP Methods

GET, POST

HTTP Parameters

Required

Fields Type Description
img URL Input image URL. If you want to upload your image directly from your app, then submit a multipart/form-data POST request.
radius Float The radius of the Gaussian, in pixels, not counting the center pixel (Max value is set to 100.00).
sigma Float The standard deviation of the Gaussian, in pixels. (Max value is set to 100.00).
key String Your PixLab API Key ↗. You can also embed your key in the WWW-Authenticate: HTTP header and omit this parameter if you want to.

Optional

Fields Type Description
blob Boolean By default, this API endpoint return a JSON Object holding the link to the image output. But, if this parameter is set to true then the image binary contents is returned instead.
channel Integer Color channel constant. If this field is missing (Recommended), then all image channels will be affected (See below for the list of channels constant).

POST Request Body

This section details the requirements for using a POST request instead of a simple GET request.

Allowed Content-Types:

multipart/form-data
application/json

Use multipart/form-data if you want to upload your image directly (refer to the REST API code samples or The PixLab Github Repository↗ for a working example). If you are using JSON, then your image must be already uploaded somewhere. Call store if you want to upload an image before invoking this endpoint.

Channels Constant

We recommend that you always omit this parameter and let PixLab affect all image channels.

Fields Value
CHANNEL_RED 1
CHANNEL_GRAY 1
CHANNEL_CYAN 1
CHANNEL_GREEN 2
CHANNEL_MAGENTA 2
CHANNEL_BLUE 4
CHANNEL_YELLOW 4
CHANNEL_ALPHA 8
CHANNEL_OPACITY 8
CHANNEL_MATTE 8
CHANNEL_BLACK 32
CHANNEL_INDEX 32
CHANNEL_ALL 134217727

HTTP Response

Fields Type Description
status Integer Status code 200 indicates success, any other code indicates failure.
link URL Link to the image output which is usually stored on the pixlab.xyz storage server unless you set your own S3 keys (refer to your dashboard ↗ on how to do that).
id String Unique image ID.
error String Error message if status != 200.

Returns application/json if the optional blob parameter is not set.

This endpoint returns a JSON Object after each call only if the optional blob parameter is not set. Otherwise, the raw image binary is returned.

Code Samples


import requests


def apply_gaussian_blur(image_url: str, radius: int, sigma: int, api_key: str) -> str:
    """Apply Gaussian blur to an image using PixLab API.
    
    Args:
        image_url: URL of the image to process
        radius: Blur radius
        sigma: Standard deviation for Gaussian kernel
        api_key: PixLab API key
    
    Returns:
        URL of the processed image
    
    Raises:
        ValueError: If API request fails
    """
    params = {
        'img': image_url,
        'radius': radius,
        'sigma': sigma,
        'key': api_key
    }
    
    try:
        response = requests.get(
            'https://api.pixlab.io/gaussianblur',
            params=params,
            timeout=10
        )
        response.raise_for_status()
        data = response.json()
        
        if data['status'] != 200:
            raise ValueError(data.get('error', 'Unknown error occurred'))
            
        return data['link']
    
    except requests.exceptions.RequestException as e:
        raise ValueError(f"API request failed: {str(e)}")


if __name__ == '__main__':
    try:
        blurred_image_url = apply_gaussian_blur(
            image_url='http://www.drodd.com/images15/nature31.jpg',
            radius=45,
            sigma=30,
            api_key='PIXLAB_API_KEY'
        )
        print(f"Link to the blurred picture: {blurred_image_url}")
    except ValueError as e:
        print(f"Error: {str(e)}")
← Return to API Endpoint Listing