REST API · v1

Dokumentacja API

Wysyłaj zdjęcia twarzy przez asynchroniczne API, korzystaj ze wspólnego portfela kredytów i śledź każde zadanie oraz obciążenie.

Centrum dla deweloperów

Połącz swoją aplikację z pomocą asystenta AI

Skopiuj ten prompt do ChatGPT, Claude, Cursor lub swojego asystenta programistycznego. Zapyta o używane przez Ciebie technologie, a potem przeprowadzi Cię przez konfigurację danych dostępowych, sprawdzenie salda, wysłanie zadania i weryfikację wyniku.

Otwórz zwykły tekst

Nie musisz wysyłać klucza API do AI. Prompt przeprowadzi Cię przez konfigurację go w środowisku własnego serwera.

Przeczytaj cały prompt / skopiuj ręcznie

Rozliczenie

API: 1 kredyt za każdy udany test. Strona: 10 kredytów za test. Oba korzystają z tego samego portfela. Utworzenie zadania przez API rezerwuje 1 kredyt; końcowe niepowodzenie zwraca go jednorazowo.

Wysyłaj Authorization: Bearer z wymaganym zakresem uprawnień. Przy ponawianiu żądania z identycznymi danymi obrazu użyj tego samego Idempotency-Key. Ponowne użycie go z innymi danymi zwróci HTTP 409. Sprawdzanie statusu nie zużywa kredytów.

Punkty końcowe

HTTPUprawnienia
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

Utwórz zadanie

Użyj multipart/form-data z jednym plikiem obrazu (JPEG, PNG lub WebP, do 5 MB) oraz podanym niżej polem zgody. Z tego punktu końcowego mogą korzystać wyłącznie osoby dorosłe, które przesyłają własne zdjęcie za zgodą. Zdalne adresy URL i dodatkowe parametry są odrzucane. Wygeneruj nowy klucz idempotencji tylko dla nowego testu.

# Wygeneruj i zapisz klucz raz dla każdego nowego testu; przy ponawianiu uruchom tylko poniższe curl z oryginalnym kluczem i obrazem.
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"
  }
}

Sprawdź wynik

Utworzenie zadania zwraca HTTP 202 i identyfikator zadania. Sprawdzaj status co 10–15 sekund. queued, processing i retrying to stany pośrednie; succeeded i failed to stany końcowe. Wybudzanie HF może potrwać kilka minut. Zadania mają limit czasu 20 minut; aktywna dzierżawa procesu roboczego może opóźnić ostateczne odzyskiwanie nawet o kolejne cztery minuty.

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

Błędy i limity

Odpowiedzi mają format code/message/data. HTTP 400: nieprawidłowe żądanie lub zgoda; 401: nieprawidłowy lub wygasły klucz; 403: brak uprawnienia; 402: za mało kredytów; 404: nie znaleziono zadania lub nie należy ono do Ciebie; 409: zmienione dane wejściowe; 413/415: nieprawidłowy rozmiar lub typ obrazu; 429: limit żądań, równoczesności lub budżetu; 503: usługa niedostępna. Stosuj się do Retry-After, ponownie używaj tego samego klucza idempotencji i przed ponowieniem sprawdź message.

Klucze wygasają najpóźniej po roku. Limit obejmuje kredyty zarezerwowane i wykorzystane przy udanych testach; zwroty przywracają limit. Na koncie obowiązuje limit 60 żądań na minutę i maksymalnie dwóch aktywnych zadań API.

Zdjęcia twarzy są tymczasowo przechowywane w prywatnym zasobniku i usuwane po zakończeniu przetwarzania, z awaryjnym usunięciem po 24 godzinach. HF przetwarza zdjęcie; wyniki nie stanowią porady medycznej, weryfikacji tożsamości ani dowodu wieku.