Ist Ihre Bilddatei gültig?
Diese Funktion prüft eine Bilddatei, bevor Sie sie irgendwo hochladen: Stimmt das angegebene Format wirklich, ist die Datei beschädigt, welche Abmessungen und welche Farbtiefe hat sie. Die Prüfung läuft vollständig im Browser auf Ihrem eigenen Gerät, ist unbegrenzt nutzbar und kostet nichts, auch nicht bei häufiger Nutzung.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Was genau geprüft wird
Die Funktion liest die Datei byteweise und meldet, ob der Inhalt tatsächlich zum angegebenen Format passt – eine PNG-Datei mit falscher Endung fällt genauso auf wie eine abgeschnittene JPG-Datei, die sich nicht vollständig öffnen lässt. Zusätzlich liefert sie Abmessungen, Farbtiefe und, sofern vorhanden, ob ein Transparenzkanal enthalten ist. Das Ergebnis ist eine klare Ja-oder-Nein-Aussage zur Gültigkeit, ergänzt um die technischen Details der Datei.
Wann sich die Prüfung lohnt
Wer Bilder von Kunden oder Nutzern entgegennimmt – etwa als Upload in einem Formular oder Marktplatz –, will vor der Weiterverarbeitung wissen, ob die Datei überhaupt in Ordnung ist. Eine beschädigte oder falsch benannte Datei sorgt sonst erst später im Prozess für einen Fehler, an einer Stelle, an der die Ursache schwerer zu finden ist. Die Prüfung direkt beim Hochladen fängt solche Fälle frühzeitig ab.
Kostenlos im Browser, optional per API
Für die normale Nutzung reicht die Seite selbst: Die Datei wird lokal geprüft und verlässt Ihr Gerät nicht, ohne Limit und ohne Kosten. Wer die Prüfung in einen eigenen Upload-Prozess einbauen will, etwa bevor eine Datei auf einem Server landet, kann dieselbe Funktion per API ansprechen – dort fällt $0.002 pro Anfrage an, weil die Verarbeitung dann serverseitig statt im Browser des Endnutzers läuft.
Anwendungsfälle
Formular für Produktfotos
Die Weber Metallbau GmbH aus Stuttgart lässt Händler Produktfotos über ein Formular einreichen. Eine Prüfung direkt beim Hochladen verhindert, dass beschädigte Dateien erst im Katalog auffallen.
Marktplatz mit vielen Anbietern
Ein regionaler Online-Marktplatz prüft jedes hochgeladene Bild vor der Freigabe. Dateien mit falscher Endung oder beschädigtem Inhalt werden sofort zurückgewiesen, statt später den Import zu stören.
Archiv historischer Aufnahmen
Ein Stadtarchiv in Dresden digitalisiert alte Fotografien und prüft jede Scandatei vor der Ablage, um beschädigte Scans frühzeitig zu erkennen und neu einzuscannen.
Häufige Fragen
Verlässt meine Datei den Browser?
Nein, bei der Nutzung auf der Seite bleibt die Datei auf Ihrem Gerät; geprüft wird lokal im Browser.
Erkennt die Funktion auch eine falsch benannte Dateiendung?
Ja. Die Prüfung liest den tatsächlichen Dateiinhalt, nicht nur die Endung – eine als .jpg benannte PNG-Datei wird als solche erkannt.
Was kostet die Prüfung?
Im Browser nichts. Für die serverseitige Nutzung per API fällt $0.002 pro Anfrage an, relevant nur bei automatisierter Einbindung in ein eigenes System.
Brauche ich ein Konto?
Nein, es gibt derzeit keine Konten – die Browser-Funktion ist ohne Anmeldung nutzbar.
Welche Dateiformate werden erkannt?
JPG, PNG, WebP, GIF und einige weitere gängige Bildformate.
Gibt es ein Limit für die Dateigröße?
Bis zu 15 MB und 12 Megapixel pro Datei – das deckt Fotos aus jeder aktuellen Kamera ab.
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/image/validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"image": "https://ejemplo.com/imagen.jpg"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.validate",
"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_mb | 15 |
max_megapixels | 12 |
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. |