The Image Describer API is a powerful image description generation tool that intelligently produces accurate, detailed, and insightful descriptions of images based on the provided image and prompt. This AI-driven image recognition API understands and analyzes image content, generating corresponding textual descriptions according to your prompts. It's widely applicable to various scenarios involving image understanding, image analysis, and image content generation, enabling you to easily implement image question answering and image-to-text conversion.
The Image Describer API can assist you in efficiently performing image understanding and content generation in the following areas:
To access the Image Describer API, you must first obtain a valid API key. This key is used to authenticate your requests and ensure secure access to the API.
Important: Do not share it with others or expose it in the browser, client-side code, or any other insecure location. Keep your key safe to prevent unauthorized access.
POST https://api.imagedescriber.app/api/v1/generate_content
Header | Type | Required | Description |
---|---|---|---|
content-type | string | Yes | `application/json` |
authorization | string | Yes | `Bearer ${api_key}`, where `${api_key}` is your API key. |
{
"image": "data:image/jpeg;base64,{image_base64_data}",
"prompt": "What is this object? Describe its possible uses.",
"lang": "en"
}
Parameter | Type | Required | Description |
---|---|---|---|
image | string | Yes | The URL or Base64 encoded data of the image. Supported image formats are listed in Image Format Details. |
prompt | string | No | The question or description request for the image, for example, "What is this?" or "Describe this image." |
lang | string | No | The language code for the returned description. Defaults to `en` (English). Supported language codes are listed below. |
Code | Language |
---|---|
en | English (Default) |
zh | Chinese |
fr | French |
de | German |
es | Spanish |
ja | Japanese |
ko | Korean |
curl --location 'https://api.imagedescriber.app/api/v1/generate_content' \
--header 'content-type: application/json' \
--header 'authorization: Bearer your_api_key' \
--data '{
"image":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQE...",
"prompt":"What is this object? Describe its possible uses.",
"lang":"en"
}'
import requests
import base64
def image_to_base64(image_path):
"""Convert image to Base64 encoding"""
with open(image_path, "rb") as image_file:
encoded_string = base64.b64encode(image_file.read()).decode("utf-8")
return encoded_string
def generate_image_description(api_key, image_path, prompt, lang="en"):
"""Generate image description using the Image Describer API"""
url = "https://api.imagedescriber.app/api/v1/generate_content"
headers = {
"content-type": "application/json",
"authorization": f"Bearer {api_key}"
}
image_base64_data = image_to_base64(image_path)
payload = {
"image": f"data:image/jpeg;base64,{image_base64_data}",
"prompt": prompt,
"lang": lang
}
response = requests.post(url, headers=headers, json=payload)
if response.status_code == 200:
result = response.json()
print(result["data"]["content"])
else:
print(f"Error: {response.status_code}")
print(response.text)
# Example usage
api_key = "your_api_key"
image_path = "your_image.jpg"
prompt = "What is this object? Describe its possible uses."
generate_image_description(api_key, image_path, prompt)
import fs from 'fs';
// Server-side implementation
const buffer = await fs.readFileSync("/temp/test.jpg");
const base64Image = buffer.toString('base64');
const imageData = `data:image/jpeg;base64,${base64Image}`;
// Client-side implementation
const file:File = /* file from input or drop event */;
const arrayBuffer = await file.arrayBuffer();
const bytes = new Uint8Array(arrayBuffer);
const base64Image = btoa(String.fromCharCode.apply(null, bytes as any));
const imageData = `data:${file.type};base64,${base64Image}`;
const body = {
"image": imageData,
"prompt": "Describe the image in detail",
"lang": "en"
};
const response = await fetch('https://api.imagedescriber.app/api/v1/generate_content', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer {your_api_key}'
},
body: JSON.stringify(body),
});
const result = await response.json();
console.log(result);
The API now returns the complete response in a single JSON object. The content
field within the data
object contains the generated image description in Markdown format.
{
"code": 0,
"message": "success",
"request_id": "unique_request_id_string",
"data": {
"content": "Generated content in Markdown format"
}
}
Field | Type | Description |
---|---|---|
code | number | Status code, `0` indicates success, non-`0` indicates an error. |
message | string | Status message, describes the status of the request. |
request_id | string | Unique request ID, used for tracking and troubleshooting. |
data | string | Contains the generated content. markdown format. |
content | string | The generated **image description** text. The format is **Markdown**. |
To ensure service stability and fairness, each API key is limited to 5 requests per minute (300 requests per hour). Requests exceeding this limit will be rejected with error code 1004
.
How to Get More Credits?
You can visit the Credit Recharge Page to purchase credit packages to support more API calls. We offer various packages to meet the needs of different users.
The following table lists common error codes, their meanings, and solutions:
Error Code | Description | Solution |
---|---|---|
1002 | Unauthorized | Please verify that your `authorization` header is set correctly. |
1003 | Invalid API Key | Please verify that your API key is correct or obtain a new one. |
1004 | Too Many Requests | Please reduce your request frequency, maximum 5 requests per minute. |
1005 | Invalid Parameters | Please verify that your request parameters conform to the specifications. |
2002 | Insufficient Credits | Please recharge your credits. |
2003 | Content Blocked by Filter | Please modify your image or prompt to ensure the content complies with regulations. |
2004 | Invalid Image Format | Please use a supported image format, refer to Image Format Details. |
2005 | Image Upload Failed | Please verify that your image URL is valid or try uploading again later. |
5050 | Internal Server Error | Please contact our technical support team and provide the `request_id`. |
Currently supported image formats include: JPG
, JPEG
, PNG
, WebP
. The maximum image size is 4MB.
If you have any questions or suggestions, please feel free to contact us through the following methods:
Start using the Image Describer API now and unlock the limitless possibilities of image understanding!