REST API · v1

API-dokumentation

Skicka in porträtt via ett asynkront API, använd din befintliga kreditplånbok och följ varje jobb och debitering.

Utvecklarcenter

Anslut din app med hjälp av en AI-guide

Kopiera prompten till ChatGPT, Claude, Cursor eller din kodningsassistent. Den frågar om din teknikstack och vägleder dig sedan genom inloggningsuppgifter, en saldokontroll, jobbinskickning och verifiering av resultat.

Öppna som oformaterad text

Du behöver inte skicka din API-nyckel till AI:n. Prompten vägleder dig så att du kan konfigurera den i din egen servermiljö.

Läs hela prompten / kopiera manuellt

Debitering

API: 1 kredit per lyckat test. Webbplats: 10 krediter per test. Båda använder samma kreditplånbok. När ett API-jobb skapas reserveras 1 kredit; vid ett slutgiltigt fel återbetalas den en gång.

Skicka Authorization: Bearer med den behörighet som krävs. Använd samma Idempotency-Key när du försöker igen med identiska bilddata. Om du återanvänder nyckeln med ett annat innehåll får du HTTP 409. Förfrågningar förbrukar inga krediter.

Slutpunkter

HTTPBehörigheter
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

Skapa ett jobb

Använd multipart/form-data med en bildfil (JPEG, PNG eller WebP, högst 5 MB) och samtyckesfältet nedan. Endast vuxna som skickar in ett foto av sig själva med samtycke får använda den här slutpunkten. Fjärradresser och extra parametrar avvisas. Skapa en ny idempotency key endast för ett nytt logiskt test.

# Skapa och spara en gång per nytt test. Vid nya försök kör du bara curl-kommandot nedan med den ursprungliga nyckeln och bilden.
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"
  }
}

Hämta resultat

När jobbet skapas returneras HTTP 202 och ett jobb-ID. Hämta status var 10–15 sekund. queued, processing och retrying är statusar som inte är slutgiltiga; succeeded och failed är slutgiltiga. Det kan ta flera minuter att väcka HF. Jobb har en tidsgräns på 20 minuter; en aktiv worker-lease kan fördröja den slutliga återställningen med upp till ytterligare fyra minuter.

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

Fel och begränsningar

Svar använder code/message/data. HTTP 400: ogiltig förfrågan eller samtycke; 401: ogiltig/utgången nyckel; 403: behörighet saknas; 402: för få krediter; 404: jobb saknas eller tillhör inte dig; 409: ändrat innehåll; 413/415: ogiltig bildstorlek/-typ; 429: gräns för förfrågningar, samtidighet eller budget; 503: otillgänglig. Följ Retry-After, använd samma idempotency key och kontrollera message innan du försöker igen.

Nycklar löper ut inom ett år. Budgeten omfattar reserverade och använda krediter; återbetalningar återställer budgeten. Kontot tillåter 60 förfrågningar per minut och högst två aktiva API-jobb.

Porträtt lagras tillfälligt i en privat lagringsbucket och raderas när behandlingen är klar, med en livscykelreserv som raderar dem efter 24 timmar. HF behandlar fotot. Uppskattningar är inte medicinsk rådgivning, identitetsverifiering eller bevis på ålder.