API Endpoint Access URL
https://api.pixlab.io/normalize
Get Your API Key & Try NORMALIZE Now ↗Description
Enhance the contrast of color images by adjusting pixel colors to span the full range available with the NORMALIZE API endpoint. Ideal for developers and creators seeking to improve image quality. Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available.
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. |
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). |
Allowed Content-Type:
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 for example 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
application/json
if the optional blob parameter is not set.This endpoint returns a JSON response unless the blob parameter is specified, in which case it returns the raw image binary. The JSON response contains the following fields:
Fields | Type | Description |
---|---|---|
status |
Integer | HTTP status code. 200 indicates success. |
link |
URL | Output image URL stored on our servers unless custom S3 keys are configured (see console for configuration). |
id |
String | Unique identifier for the processed image. |
error |
String | Error description when status ≠ 200. |
Code Samples
import requests
def normalize_image(image_url: str, api_key: str) -> None:
try:
response = requests.get(
'https://api.pixlab.io/normalize',
params={'img': image_url, 'key': api_key},
timeout=10
)
response.raise_for_status()
data = response.json()
if data.get('status') == 200:
print(f"Link to the picture: {data['link']}")
else:
print(data.get('error', 'Unknown error occurred'))
except requests.exceptions.RequestException as e:
print(f"Request failed: {e}")
except ValueError:
print("Invalid JSON response")
except KeyError:
print("Unexpected response format")
if __name__ == "__main__":
normalize_image(
image_url='http://www.drodd.com/images15/nature31.jpg',
api_key='PIXLAB_API_KEY'
)
fetch('https://api.pixlab.io/normalize?img=http://www.drodd.com/images15/nature31.jpg&key=PIXLAB_API_KEY')
.then(response => response.json())
.then(reply => {
if (reply.status !== 200) {
console.log(reply.error);
} else {
console.log("Link to the pic: " + reply.link);
}
})
.catch(error => console.error('Error:', error));
<?php
$params = [
'img' => 'http://www.drodd.com/images15/nature31.jpg',
'key' => 'PIXLAB_API_KEY'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.pixlab.io/normalize?' . http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
if (curl_errno($ch)) {
die('Curl error: ' . curl_error($ch));
}
curl_close($ch);
$reply = json_decode($response, true);
if ($reply['status'] != 200) {
die($reply['error']);
} else {
echo "Link to the pic: " . $reply['link'];
}
require 'net/http'
require 'json'
uri = URI('https://api.pixlab.io/normalize')
params = { img: 'http://www.drodd.com/images15/nature31.jpg', key: 'PIXLAB_API_KEY' }
uri.query = URI.encode_www_form(params)
response = Net::HTTP.get_response(uri)
reply = JSON.parse(response.body)
if reply['status'] != 200
puts reply['error']
else
puts "Link to the pic: #{reply['link']}"
end
Similar API Endpoints
shade, negate, separate, sketch, oilpaint, orderedposterize, polaroid, posterize, segment, quantize, raise, grayscale