REST API · v1

API-Dokumentation

Übermittle Porträtfotos über eine asynchrone API, nutze dein vorhandenes Credit-Guthaben und verfolge jeden Auftrag und jede Abbuchung.

Entwicklerbereich

Verbinde deine App mit einem KI-Assistenten

Kopiere diese Eingabeaufforderung in ChatGPT, Claude, Cursor oder deinen Programmierassistenten. Er fragt nach deinem Tech-Stack und begleitet dich dann durch die Zugangsdaten, eine Guthabenabfrage, die Auftragserstellung und die Ergebnisprüfung.

Reinen Text öffnen

Du musst deinen API-Schlüssel nicht an die KI senden. Der Prompt zeigt dir, wie du ihn in deiner eigenen Serverumgebung einrichtest.

Vollständigen Prompt lesen / manuell kopieren

Abrechnung

API: 1 Credit pro erfolgreichem Test. Website: 10 Credits pro Test. Beide verwenden dasselbe Guthaben. Beim Erstellen eines API-Auftrags wird 1 Credit reserviert; bei einem endgültigen Fehler wird er einmalig zurückerstattet.

Sende Authorization: Bearer mit dem erforderlichen Scope. Verwende bei Wiederholungsversuchen mit identischen Bilddaten denselben Idempotency-Key. Bei erneuter Verwendung mit anderen Eingabedaten wird HTTP 409 zurückgegeben. Abfragen verbrauchen keine Credits.

Endpunkte

HTTPBerechtigungen
POST /api/v1/face-age/jobsface-age:write
GET /api/v1/face-age/jobs/{id}face-age:read
GET /api/v1/creditscredits:read
GET /api/v1/usage?page=1&pageSize=20usage:read

Auftrag erstellen

Verwende multipart/form-data mit einer Bilddatei (JPEG, PNG oder WebP, bis zu 5 MB) und dem unten angegebenen Zustimmungsfeld. Diesen Endpunkt dürfen nur Erwachsene nutzen, die mit ihrer Zustimmung ein eigenes Foto übermitteln. Externe URLs und zusätzliche Parameter werden abgelehnt. Erzeuge nur für einen neuen logischen Test einen neuen Idempotency-Key.

# Erzeuge und speichere den Schlüssel einmal pro neuem Test. Bei Wiederholungsversuchen führe nur den folgenden curl-Befehl mit dem ursprünglichen Schlüssel und Bild aus.
IDEMPOTENCY_KEY="$(uuidgen)"

curl -X POST 'https://fahrface.org/api/v1/face-age/jobs' \
  -H "Authorization: Bearer $FAHRFACE_API_KEY" \
  -H "Idempotency-Key: $IDEMPOTENCY_KEY" \
  -F 'image=@portrait.jpg' \
  -F 'consent=appearance-age-2026-10-21'
{
  "code": 0,
  "message": "ok",
  "data": {
    "id": "JOB_ID",
    "status": "queued",
    "age": null,
    "creditsCost": 1,
    "billingStatus": "reserved"
  }
}

Ergebnisse abrufen

Die Erstellung gibt HTTP 202 und eine Auftrags-ID zurück. Frage alle 10–15 Sekunden den Status ab. queued, processing und retrying sind nicht endgültig; succeeded und failed sind endgültig. Das Aufwecken von HF kann mehrere Minuten dauern. Aufträge haben eine Frist von 20 Minuten; eine aktive Worker-Lease kann die endgültige Wiederherstellung um bis zu vier weitere Minuten verzögern.

curl 'https://fahrface.org/api/v1/face-age/jobs/JOB_ID' \
  -H "Authorization: Bearer $FAHRFACE_API_KEY"

Fehler und Limits

Antworten verwenden code/message/data. HTTP 400: ungültige Anfrage oder Zustimmung; 401: ungültiger/abgelaufener Schlüssel; 403: fehlender Scope; 402: unzureichende Credits; 404: Auftrag fehlt oder gehört nicht deinem Konto; 409: geänderte Eingabedaten; 413/415: ungültige Bildgröße/-art; 429: Anfrage-, Parallelitäts- oder Budgetlimit; 503: nicht verfügbar. Beachte Retry-After, verwende denselben Idempotency-Key erneut und prüfe vor einem erneuten Versuch die message.

Schlüssel laufen spätestens nach einem Jahr ab. Zum Budget zählen reservierte und erfolgreich abgebuchte Credits; Erstattungen stellen das Budget wieder her. Pro Konto sind 60 Anfragen pro Minute und höchstens zwei aktive API-Aufträge zulässig.

Porträtfotos werden vorübergehend in einem privaten Bucket gespeichert und nach der abschließenden Verarbeitung gelöscht; andernfalls greift nach 24 Stunden eine automatische Löschung. HF verarbeitet das Foto. Die Schätzungen sind keine medizinische Beratung, Identitätsprüfung oder Altersbestätigung.