Ähnliche Bilder finden
KIT vergleicht ein Bild mit einem eigenen Bildbestand und findet die Aufnahmen, die ihm inhaltlich am ähnlichsten sind – etwa gleiche Motive, Farben oder Kompositionen. Die Funktion befindet sich in der Beta-Phase; Ergebnisse sollten stichprobenartig geprüft werden, bevor Sie sich in einer produktiven Anwendung vollständig darauf verlassen.
Online ausführen
Führen Sie dies mit Ihrem Konto auf unseren Servern aus. Kostenlose Tools laufen in Ihrem Browser; dieses wird zum oben genannten Preis von Ihrem KIT-Guthaben abgebucht.
Wie die Bildähnlichkeit berechnet wird
KIT wandelt jedes Bild in ein Embedding um, das visuelle Eigenschaften wie Motiv, Farbverteilung und Komposition abbildet. Zwei Bilder mit ähnlichem Inhalt erhalten ähnliche Embeddings, auch wenn Dateiname oder Auflösung völlig unterschiedlich sind. Anders als eine Suche nach Dateinamen oder Schlagworten erkennt die Funktion damit auch Ähnlichkeiten, die nirgends in Text oder Metadaten festgehalten sind. Genau das macht sie für rein visuelle Suchanfragen besonders wertvoll.
Ablauf einer Anfrage
Sie senden ein Bild als Anfrage; KIT vergleicht dessen Embedding mit allen zuvor indexierten Bildern und liefert die ähnlichsten Treffer samt Ähnlichkeitswert zurück. Der Bildbestand muss vorher über die Bildindexierung aufgebaut worden sein; ohne einen bestehenden Bildindex hat die Funktion nichts, womit sie das gesendete Bild vergleichen könnte, ähnlich wie bei der textbasierten semantischen Suche. Ohne einen solchen Bestand liefert jede Anfrage lediglich eine leere Trefferliste.
Warum die Funktion als Beta gekennzeichnet ist
Die Bewertung visueller Ähnlichkeit ist komplexer als bei Text und liefert bei sehr ähnlichen, aber inhaltlich unterschiedlichen Motiven gelegentlich unerwartete Treffer. Nutzen Sie das Ergebnis derzeit als Vorschlag, den Sie stichprobenartig prüfen, statt als endgültige Entscheidung. Mit wachsender Nutzung wird die Funktion weiter verfeinert; bis dahin bleibt eine kurze menschliche Prüfung bei wichtigen Entscheidungen empfehlenswert. Für eine erste grobe Vorauswahl eignet sich die Funktion schon jetzt zuverlässig.
Preis und Einsatzfälle
$0.002 pro Anfrage plus $0.0015 pro Abfrage, insgesamt $0.0035. Typische Einsatzfälle sind Bildarchive, Produktkataloge mit Fotos oder die Suche nach ähnlichen Referenzbildern für eine neue Aufnahme. Der Preis bleibt dabei unabhängig von der Größe des Bildbestands, gegen den verglichen wird, sodass sich auch ein wachsendes Archiv kalkulierbar durchsuchen lässt, ohne dass die Kosten pro Anfrage steigen. Das macht die Funktion auch für sehr umfangreiche Bildarchive planbar nutzbar.
Anwendungsfälle
Bildarchiv einer Agentur
Eine Werbeagentur durchsucht ihr Bildarchiv nach Aufnahmen mit ähnlicher Bildsprache zu einem bereits genehmigten Motiv.
Produktfotos im Online-Shop
Ein Online-Shop findet zu einem neuen Produktfoto ähnlich aussehende Bestandsfotos, um doppelte Aufnahmen zu vermeiden.
Referenzsuche für ein Packshot
Ein Fotostudio sucht anhand eines Beispielbilds nach ähnlich beleuchteten Aufnahmen im eigenen Archiv als Vorlage.
Häufige Fragen
Was bedeutet der Beta-Status bei dieser Funktion?
Die Funktion ist nutzbar, aber die Ergebnisse sind noch nicht so zuverlässig wie bei einer stabilen Funktion; prüfen Sie Treffer stichprobenartig, bevor Sie sich darauf verlassen.
Was kostet eine Bildsuche?
$0.002 pro Anfrage plus $0.0015 pro Abfrage, insgesamt $0.0035.
Muss der Bildbestand vorher indexiert werden?
Ja, die Bilder, gegen die verglichen wird, müssen zuvor über eine Indexierungsfunktion erfasst worden sein.
Erkennt die Funktion auch Text auf einem Bild?
Nein, sie vergleicht visuelle Eigenschaften wie Motiv und Farbe, nicht enthaltenen Text; dafür eignet sich die Texterkennung.
Was passiert mit dem gesendeten Bild?
Es wird nur zur Berechnung der Ähnlichkeit verwendet und nicht dauerhaft gespeichert.
Brauche ich ein Konto?
Nein. Es gibt derzeit keine Konten – Sie zahlen pro Nutzung.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/search/similar-images \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/search/similar-images", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/search/similar-images",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/search/similar-images", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/search/similar-images", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"input": "…"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "search.similar_images",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_chunks | 10000 |
max_tokens | 20000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |