Image Describer API Dokumentation
2025-02-22
Posted byImage Describer API Dokumentation
Einführung & Anwendungsfälle
Die Image Describer API ermöglicht es Ihnen, KI-gestützte Bildbeschreibungsfunktionen in Ihre Anwendungen zu integrieren. Unsere API verwendet fortschrittliche KI-Modelle, um Bilder zu analysieren und detaillierte Beschreibungen zu generieren.
Häufige Anwendungsfälle
- Generieren Sie detaillierte Beschreibungen für Bilder
- Extrahieren Sie Text und Informationen aus Bildern
- Analysieren Sie Bildinhalt und -kontext
- Erstellen Sie Charakterbeschreibungen für kreatives Schreiben
- Generieren Sie Bildunterschriften für die Inhaltsverwaltung
API-Schlüssel
Um unsere API nutzen zu können, benötigen Sie API-Anmeldeinformationen (API-Schlüssel und -Geheimnis). Sie können Ihre API-Schlüssel im Dashboard verwalten.
API-Endpunkt
POST https://imagedescriber.online/api/openapi/describe-image
Integrationsanleitung
Request-Header
Header-Name | Erforderlich | Beschreibung |
---|---|---|
content-type | Ja | Muss multipart/form-data sein |
appid | Ja | Ihr API-Schlüssel aus dem Dashboard |
timestamp | Ja | Aktueller Zeitstempel in Millisekunden |
nonce | Ja | Zufällige UUID-Zeichenfolge für die Eindeutigkeit der Anfrage, muss eindeutig sein und zwischen 6 und 32 Zeichen lang sein. z.B. 4dc6gvrjg1 |
signature | Ja | HMAC-SHA256-Signatur für die Authentifizierung (Siehe Codebeispiele) |
Request-Parameter
Parameter | Typ | Erforderlich | Beschreibung |
---|---|---|---|
imageBase64Data | string | Ja | Base64-kodierte Bilddaten mit MIME-Typ-Präfix (z. B. data:image/jpeg;base64,/9j/4AAQSkZJRgABAQE... ) |
prompt | string | Nein | Benutzerdefinierte Eingabeaufforderung für die Bildanalyse |
lang | string | Nein | Antwortsprache (en/zh/de/es/fr/ja/ko) |
Antwortformat
Feld | Typ | Beschreibung |
---|---|---|
code | number | Antwortstatuscode. 200 für Erfolg |
data | object | Antwortdatenobjekt, vorhanden, wenn Code 200 ist |
data.content | string | Die generierte Beschreibung für das Bild |
msg | string | Antwortnachricht, liefert zusätzliche Informationen |
succeed | boolean | Gibt an, ob die Anfrage erfolgreich war |
Beispielantwort
{
"code": 200,
"data": {
"content": "Detaillierte Beschreibung des Bildes im Markdown-Format..."
},
"succeed": true,
"msg": "Erfolg"
}
Fehlercodes
Code | Nachricht | Beschreibung |
---|---|---|
200 | OK | Anfrage erfolgreich |
500 | SERVER_ERROR | Interner Serverfehler |
10003 | INSUFFICIENT_CREDITS | Unzureichendes Guthaben |
10004 | INVALID_PARAM | Ungültige Parameter |
10005 | HARMFUL_CONTENT | Schädlicher Inhalt erkannt |
30001 | INVALID_API_KEY | Ungültiger API-Schlüssel |
30002 | INVALID_SIGNATURE | Ungültige Anfrage-Signatur |
Codebeispiele
Next.js Beispiel
import fs from 'fs';
// Get image base64 data: Server-side implementation
const buffer = await fs.readFileSync("/temp/test.jpg");
const base64Image = buffer.toString('base64');
const imageBase64Data = `data:image/jpeg;base64,${base64Image}`;
// Get image base64 data: 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 imageBase64Data = `data:${file.type};base64,${base64Image}`;
// Request Body
const formData = new FormData();
formData.append('imageBase64Data', imageBase64Data);
formData.append('lang', 'en');
formData.append('prompt', 'Summarize the content of the picture in one sentence, then describe in detail what is in the picture, including objects, people, animals, and the atmosphere and mood of the picture');
// Signature
const appid = "app_1234567";
const secret = "sk_a8f3dbb3...";
const timestamp = Date.now().toString();
const nonce = crypto.randomBytes(4).toString('hex');
const signStr = buildSignString(appid, timestamp, nonce); // See subsequent code for function implementation
const sign = await sign(signStr, secret); // See subsequent code for function implementation
// Do Request
const response = await fetch('https://imagedescriber.online/api/openapi/describe-image', {
method: 'POST',
headers: {
'appid': appid,
'timestamp': timestamp,
'nonce': nonce,
'signature': sign
},
body: formData
});
const result = await response.json();
console.log(result);
function buildSignString(appId: string, timestamp: string, nonce: string): string {
return [appId, timestamp, nonce].join('-');
}
async function sign(message: string, secret: string): Promise<string> {
const encoder = new TextEncoder();
const keyData = encoder.encode(secret);
const messageData = encoder.encode(message);
const key = await crypto.subtle.importKey(
'raw',
keyData,
{ name: 'HMAC', hash: 'SHA-256' },
false,
['sign']
);
const signatureData = await crypto.subtle.sign(
'HMAC',
key,
messageData
);
return btoa(String.fromCharCode.apply(null, Array.from(new Uint8Array(signatureData))));
}
Preise
API-Aufrufe verbrauchen Guthaben von Ihrem Konto. Sie können Guthaben auf unserer Preisseite erwerben.
Hilfe & Support
Wenn Sie Fragen haben oder Hilfe benötigen, zögern Sie bitte nicht, unser Support-Team zu kontaktieren.
E-Mail: [email protected]