Back to Home

Image Describer API Dokumentation

2025-02-22

Posted by

Image 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-Schlüssel verwalten →

API-Endpunkt

POST https://imagedescriber.online/api/openapi/describe-image

Integrationsanleitung

Request-Header

Header-NameErforderlichBeschreibung
content-typeJaMuss multipart/form-data sein
appidJaIhr API-Schlüssel aus dem Dashboard
timestampJaAktueller Zeitstempel in Millisekunden
nonceJaZufällige UUID-Zeichenfolge für die Eindeutigkeit der Anfrage, muss eindeutig sein und zwischen 6 und 32 Zeichen lang sein. z.B. 4dc6gvrjg1
signatureJaHMAC-SHA256-Signatur für die Authentifizierung (Siehe Codebeispiele)

Request-Parameter

ParameterTypErforderlichBeschreibung
imageBase64DatastringJaBase64-kodierte Bilddaten mit MIME-Typ-Präfix (z. B. data:image/jpeg;base64,/9j/4AAQSkZJRgABAQE...)
promptstringNeinBenutzerdefinierte Eingabeaufforderung für die Bildanalyse
langstringNeinAntwortsprache (en/zh/de/es/fr/ja/ko)

Antwortformat

FeldTypBeschreibung
codenumberAntwortstatuscode. 200 für Erfolg
dataobjectAntwortdatenobjekt, vorhanden, wenn Code 200 ist
data.contentstringDie generierte Beschreibung für das Bild
msgstringAntwortnachricht, liefert zusätzliche Informationen
succeedbooleanGibt an, ob die Anfrage erfolgreich war

Beispielantwort

{
    "code": 200,
    "data": {
        "content": "Detaillierte Beschreibung des Bildes im Markdown-Format..."
    },
    "succeed": true,
    "msg": "Erfolg"
}

Fehlercodes

CodeNachrichtBeschreibung
200OKAnfrage erfolgreich
500SERVER_ERRORInterner Serverfehler
10003INSUFFICIENT_CREDITSUnzureichendes Guthaben
10004INVALID_PARAMUngültige Parameter
10005HARMFUL_CONTENTSchädlicher Inhalt erkannt
30001INVALID_API_KEYUngültiger API-Schlüssel
30002INVALID_SIGNATUREUngü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.

Preise anzeigen →

Hilfe & Support

Wenn Sie Fragen haben oder Hilfe benötigen, zögern Sie bitte nicht, unser Support-Team zu kontaktieren.

E-Mail: [email protected]