API Endpoint Access URL
https://api.pixlab.io/describe
Get Your API Key & Try DESCRIBE Now ↗Description
The DESCRIBE API endpoint programmatically generates natural language descriptions of image content from input images and video frames. It supports multiple languages and varying image sizes, and can be integrated using your preferred programming language. This endpoint is designed for developers, content creators, and marketing agencies requiring automated image descriptions.
HTTP Methods
GET, POST
HTTP Parameters
Required
Fields | Type | Description |
---|---|---|
img |
URL | URL to the input image to generate a description for in the event of a GET request. If you want to upload an image directly from your app, then submit a multipart/form-data POST request instead. Refer to the POST Request Data section below. |
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 |
---|---|---|
lang |
String | Default to english . Language to which you want to receive the image content description. |
short |
Boolean | If this optional parameter is set to true , then generate a quick and brief image description instead of a full accurate description. Default to False . |
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
to directly upload your image from you app (see the REST API code samples or The PixLab Github Repository↗ for a working example). If you're using JSON, the media file must already be uploaded. Consider calling store to upload an image before invoking this endpoint.
HTTP Response
application/json
This endpoint always returns a JSON object containing image description data. Response fields include:
Fields | Type | Description |
---|---|---|
status |
Integer | HTTP 200 indicates success. Any other code indicates failure. |
description |
String | AI-generated natural language description of the image's content (default to English). |
error |
String | Error description when status != 200. |
Code Samples
import requests
import json
# Generate a natural language description of an image content
# Target Image: Change to any link or switch to POST if you want to upload your image directly, refer to the REST API code samples for more info.
img = 'https://pixlab.io/assets/images/nature31.jpg'
key = 'PIXLAB_API_KEY' # Get your API key from https://console.pixlab.io/
req = requests.get('https://api.pixlab.io/describe',params={
'img':img,
'key':key,
'lang':'english',
'short':False
})
reply = req.json()
if reply['status'] != 200:
print (reply['error'])
else:
description = reply['description']
print(f"Natural language content description: {description}")
// Generate a natural language description of an image content
// Target Image: Change to any link or switch to POST if you want to upload your image directly, refer to the REST API code samples for more info.
const img = 'https://pixlab.io/assets/images/nature31.jpg';
const key = 'PIXLAB_API_KEY'; // Get your API key from https://console.pixlab.io/
fetch('https://api.pixlab.io/describe', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
img: img,
key: key,
lang: 'english',
short: false
})
})
.then(response => response.json())
.then(reply => {
if (reply.status !== 200) {
console.log(reply.error);
} else {
const description = reply.description;
console.log(`Natural language content description: ${description}`);
}
})
.catch(error => console.error('Error:', error));
<?php
# Generate a natural language description of an image content
# Target Image: Change to any link or switch to POST if you want to upload your image directly, refer to the REST API code samples for more info.
$img = 'https://pixlab.io/assets/images/nature31.jpg';
$key = 'PIXLAB_API_KEY'; // Get your API key from https://console.pixlab.io/
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.pixlab.io/describe?img=' . urlencode($img) . '&key=' . $key . '&lang=english&short=false');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$reply = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($reply['status'] != 200) {
echo $reply['error'];
} else {
$description = $reply['description'];
echo "Natural language content description: " . $description;
}
require 'net/http'
require 'json'
# Generate a natural language description of an image content
# Target Image: Change to any link or switch to POST if you want to upload your image directly, refer to the REST API code samples for more info.
img = 'https://pixlab.io/assets/images/nature31.jpg'
key = 'PIXLAB_API_KEY' # Get your API key from https://console.pixlab.io/
uri = URI('https://api.pixlab.io/describe')
params = {
'img' => img,
'key' => key,
'lang' => 'english',
'short' => false
}
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
description = reply['description']
puts "Natural language content description: #{description}"
end
Similar API Endpoints
tagimg, nsfw, img-embed, docscan, chat, text-embed, crop, mogrify, facelookup ↗, faceverify ↗, query