API Endpoint Access URL
https://api.pixlab.io/adaptiveresize
Get Your API Key & Try ADAPTIVERESIZE Now ↗Description
Adaptively resize images with data-dependent triangulation, preserving sharp color changes. Ideal for slightly reducing web image sizes. May not be suitable for creating thumbnails from full-sized images.
Adaptively resize image with data dependent triangulation. Avoids blurring across sharp color changes. Most useful when used to shrink images slightly to a slightly smaller web size may not look good when a full-sized image is adaptively resized to a thumbnail.
HTTP Methods
GET, POST
HTTP Parameters
Required
Fields | Type | Description |
---|---|---|
img |
URL | Input media URL. If you want to upload your image directly from your app, then submit a multipart/form-data POST request. |
width |
Integer | Desired image Width. If this field is missing, then the height field is applied for this one. |
height |
Integer | Desired image Height. If this field is missing, then the width field is applied for this one. |
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. |
bestfit |
Boolean | Whether to fit the image inside a bounding box. |
POST Request Body
If you plan to use POST instead of a simple GET request
Allowed Content-Types:
multipart/form-data
application/json
Use multipart/form-data
if you want to upload your media file directly (refer to the REST API code samples or The PixLab Github Repository↗ for a working example). If you are using JSON, then the media file must be already uploaded somewhere. Call store if you want to upload an image for example before invoking this endpoint.
HTTP Response
Fields | Type | Description |
---|---|---|
status |
Integer | Status code 200 indicates success, any other code indicates failure. |
link |
URL | Link to the media 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 media ID. |
error |
String | Error message if status != 200. |
The API returns a JSON response with application/json
content type if the optional blob parameter is not set.
When the blob parameter is omitted, the response contains a JSON Object with the fields described above. If blob is enabled, the raw media binary is returned instead.
Code Samples
import requests
response = requests.get(
'https://api.pixlab.io/adaptiveresize',
params={
'img': 'http://www.drodd.com/images15/nature31.jpg',
'width': 512,
'key': 'PIXLAB_API_KEY',
'bestfit': True
}
)
response.raise_for_status()
data = response.json()
if data['status'] != 200:
print(data['error'])
else:
print(f"Link to the pic: {data['link']}")
fetch('https://api.pixlab.io/adaptiveresize?img=http://www.drodd.com/images15/nature31.jpg&width=512&key=PIXLAB_API_KEY&bestfit=true')
.then(response => response.json())
.then(data => {
if (data.status !== 200) {
console.log(data.error);
} else {
console.log("Link to the pic: " + data.link);
}
})
.catch(error => console.error('Error:', error));
<?php
$params = [
'img' => 'http://www.drodd.com/images15/nature31.jpg',
'width' => 512,
'key' => 'PIXLAB_API_KEY',
'bestfit' => true
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.pixlab.io/adaptiveresize?' . http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
$reply = json_decode($response, true);
if ($reply['status'] != 200) {
echo $reply['error'];
} else {
echo "Link to the pic: " . $reply['link'];
}
require 'net/http'
require 'json'
uri = URI('https://api.pixlab.io/adaptiveresize')
params = {
'img' => 'http://www.drodd.com/images15/nature31.jpg',
'width' => 512,
'key' => 'PIXLAB_API_KEY',
'bestfit' => true
}
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
newimage, scale, minify, magnify, crop, smartcrop, resize, smartresize, remap, setresolution, resample, thumbnail, merge, composite, docscan, avatar, webfit