API Endpoint Access URL
https://api.pixlab.io/charcoal
Get Your API Key & Try CHARCOAL Now ↗Description
Simulates a charcoal drawing effect with the CHARCOAL API endpoint, ideal for developers and creators looking to enhance visual projects. Simulates a charcoal drawing.
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 10). |
sigma |
Float | The standard deviation of the Gaussian, in pixels (Max value is set to 100). |
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 returns a JSON Object holding the link to the image output. If set to true, the image binary contents are returned instead. |
POST Request Body
Use this if you plan to use POST instead of a simple GET request.
Allowed Content-Types:
multipart/form-data
application/json
Use multipart/form-data
for direct image uploads (refer to the REST API code samples or The PixLab Github Repository↗ for a working example). For JSON, ensure your image is already hosted. Call store to upload an image 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 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. |
The API 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 omitted. Otherwise, raw image binary data is returned directly.
Code Samples
import requests
def fetch_charcoal_effect(image_url: str, radius: int, sigma: float, api_key: str) -> None:
base_url = 'https://api.pixlab.io/charcoal'
params = {
'img': image_url,
'radius': radius,
'sigma': sigma,
'key': api_key
}
try:
response = requests.get(base_url, params=params, timeout=10)
response.raise_for_status()
data = response.json()
if data['status'] != 200:
print(f"Error: {data.get('error', 'Unknown error')}")
else:
print(f"Link to the picture: {data['link']}")
except requests.exceptions.RequestException as e:
print(f"Request failed: {e}")
except (KeyError, ValueError) as e:
print(f"Error processing response: {e}")
if __name__ == '__main__':
fetch_charcoal_effect(
image_url='http://www.drodd.com/images15/nature31.jpg',
radius=6,
sigma=2.6,
api_key='PIXLAB_API_KEY'
)
fetch('https://api.pixlab.io/charcoal?img=http://www.drodd.com/images15/nature31.jpg&radius=6&sigma=2.6&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',
'radius' => 6,
'sigma' => 2.6,
'key' => 'PIXLAB_API_KEY'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.pixlab.io/charcoal?' . http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
$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 'uri'
require 'json'
uri = URI.parse('https://api.pixlab.io/charcoal')
params = { img: 'http://www.drodd.com/images15/nature31.jpg', radius: 6, sigma: 2.6, 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
noise, blur, motionblur, gaussianblur, radialblur, blackthreshold, broder3d, border, chop, despeckle, deskew, edge, emboss, equalize, extent, flatten, gamma, flip