Barcode aus einem Foto auslesen
Diese Funktion liest die Nummer aus einem fotografierten oder gescannten Strichcode aus, ohne einen eigenen Handscanner: Sie laden ein Bild hoch, und die Funktion erkennt Format und kodierte Ziffernfolge automatisch, auch wenn der Barcode auf dem Foto leicht schräg oder aus der Nähe aufgenommen wurde.
Diese Aufgabe ist derzeit nicht verfügbar und kann daher nicht gebucht werden. Es wird nichts berechnet.
API ansehenWenn kein Scanner zur Hand ist
Ein Handscanner an der Kasse ist für den einmaligen oder gelegentlichen Bedarf oft überdimensioniert. Diese Funktion liest denselben Barcode aus einem normalen Foto aus, aufgenommen mit einem Smartphone, und liefert die kodierte Nummer als Text, ohne dass dafür zusätzliche Hardware angeschafft werden muss.
Warum das Auslesen aus einem Foto Rechenleistung braucht
Anders als ein spezialisierter Laserscanner muss die Funktion den Barcode zunächst im Bild erkennen, ausrichten und von Beleuchtung, Schatten oder leichter Unschärfe bereinigen, bevor die eigentliche Dekodierung erfolgt. Dieser Bildverarbeitungsschritt ist rechenintensiver als das reine Erzeugen eines Barcodes, weshalb das Auslesen kostenpflichtig ist und nicht kostenlos im Browser läuft.
Welche Formate erkannt werden
Erkannt werden dieselben gängigen Formate wie bei der Erstellung: EAN-13, EAN-8, UPC-A, Code128 und Code39. Enthält das Foto mehrere Barcodes, etwa auf einer Lieferliste mit mehreren Produkten, erkennt die Funktion in der Regel den größten, am zentralsten platzierten Code zuerst.
Wofür sich das Auslesen eignet
Ein Einkäufer, der eine Lieferantenrechnung mit aufgedruckten Barcodes digital abgleichen möchte, oder ein Kleinunternehmer, der eine Inventur ohne eigenes Scanner-Gerät durchführt, tippt die Nummer nicht mehr von Hand ab, sondern lässt sie aus einem Foto auslesen und direkt in die eigene Liste übernehmen.
Anwendungsfälle
Inventur ohne Handscanner
Ein Kleinunternehmer fotografiert die Barcodes seines Lagerbestands mit dem Smartphone und lässt die Nummern automatisch auslesen, statt einen separaten Scanner anzuschaffen.
Lieferschein digital abgleichen
Katrin Baumann liest die Barcodes von einem Lieferschein aus einem Foto aus, um die gelieferten Artikelnummern mit der ursprünglichen Bestellung abzugleichen.
Alte Etiketten digitalisieren
Die Weber Metallbau GmbH fotografiert Barcodes von älteren, handschriftlich ergänzten Lagerkarten und lässt die Nummern auslesen, um sie in ein neues digitales System zu übernehmen.
Häufige Fragen
Was kostet das Auslesen eines Barcodes?
$0.002 pro Anfrage zuzüglich $0.005 pro ausgewertetem Bild.
Warum ist das Auslesen kostenpflichtig, das Erstellen aber kostenlos?
Weil das Erkennen eines Barcodes in einem Foto einen Bildverarbeitungsschritt erfordert, der serverseitige Rechenleistung braucht, während das reine Erzeugen eines Barcode-Bilds direkt im Browser läuft.
Welche Bildqualität wird benötigt?
Ein scharfes, ausreichend beleuchtetes Foto, auf dem der Barcode gut lesbar und nicht zu klein abgebildet ist; starke Unschärfe oder Spiegelungen erschweren die Erkennung.
Werden hochgeladene Fotos gespeichert?
Nein, die Übertragung erfolgt verschlüsselt, ausschließlich für die Dauer der Auswertung; danach wird das Bild nicht aufbewahrt.
Erkennt die Funktion auch mehrere Barcodes auf einem Bild?
In der Regel den am deutlichsten erkennbaren Code; für mehrere getrennte Codes empfiehlt sich ein Foto pro Barcode.
Brauche ich ein Konto?
Nein, Sie zahlen direkt pro ausgewertetem Bild, ohne Registrierung.
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/dev/barcode-decode \
-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/dev/barcode-decode", {
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/dev/barcode-decode",
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/dev/barcode-decode", 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/dev/barcode-decode", 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": "dev.barcode_decode",
"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.
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. |