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ówPołą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.
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
| HTTP | Uprawnienia |
|---|---|
| POST /api/v1/face-age/jobs | face-age:write |
| GET /api/v1/face-age/jobs/{id} | face-age:read |
| GET /api/v1/credits | credits:read |
| GET /api/v1/usage?page=1&pageSize=20 | usage: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.