REST API · v1
API 문서
비동기 API로 인물 사진을 제출하고, 기존 크레딧 지갑을 공유하며, 모든 작업과 결제 내역을 추적하세요.
개발자 센터AI 가이드와 함께 앱 연동하기
이 프롬프트를 ChatGPT, Claude, Cursor 또는 코딩 도우미에 복사하세요. 사용 중인 기술 스택을 확인한 뒤 인증 정보 설정, 잔액 확인, 작업 제출, 결과 검증을 안내합니다.
API 키를 AI에 보낼 필요가 없습니다. 프롬프트 안내에 따라 직접 서버 환경에 키를 설정하세요.
전체 프롬프트 보기 / 직접 복사
결제
API: 테스트 성공 시 크레딧 1개 사용. 웹사이트: 테스트당 크레딧 10개 사용. 두 서비스는 같은 지갑을 사용합니다. API 작업 생성 시 크레딧 1개가 예약되며, 최종 실패 시 한 번 반환됩니다.
필요한 권한을 포함해 Authorization: Bearer 헤더를 보내세요. 동일한 이미지 바이트를 재시도할 때는 같은 Idempotency-Key를 사용하세요. 다른 입력에 같은 키를 사용하면 HTTP 409가 반환됩니다. 조회에는 크레딧이 사용되지 않습니다.
엔드포인트
| HTTP | 권한 |
|---|---|
| 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 |
작업 생성
이미지 파일 하나(JPEG, PNG 또는 WebP, 최대 5 MB)와 아래 동의 필드를 multipart/form-data로 보내세요. 동의한 성인만 본인의 사진을 제출할 수 있습니다. 원격 URL과 추가 매개변수는 허용되지 않습니다. 새로운 논리적 테스트에만 새 멱등성 키를 생성하세요.
# 새 테스트마다 한 번 생성해 저장하세요. 재시도할 때는 기존 키와 이미지로 아래 curl 명령만 실행하세요.
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"
}
}결과 확인
생성 요청은 HTTP 202와 작업 ID를 반환합니다. 10–15초 간격으로 상태를 확인하세요. queued, processing, retrying은 처리 중 상태이고 succeeded와 failed는 최종 상태입니다. HF를 깨우는 데 몇 분이 걸릴 수 있습니다. 작업 제한 시간은 20분이며, 활성 워커 임대 상태에 따라 최종 복구가 최대 4분 더 지연될 수 있습니다.
curl 'https://fahrface.org/api/v1/face-age/jobs/JOB_ID' \
-H "Authorization: Bearer $FAHRFACE_API_KEY"오류 및 제한
응답은 code/message/data 형식을 사용합니다. HTTP 400: 잘못된 요청 또는 동의 오류, 401: 잘못되었거나 만료된 키, 403: 권한 부족, 402: 크레딧 부족, 404: 작업이 없거나 소유한 작업이 아님, 409: 입력 변경, 413/415: 이미지 크기 또는 형식 오류, 429: 요청·동시 작업·한도 초과, 503: 서비스 이용 불가입니다. Retry-After를 따르고 같은 멱등성 키를 재사용하세요. 재시도하기 전에 message를 확인하세요.
키는 최대 1년 이내에 만료되도록 설정해야 합니다. 한도에는 예약된 크레딧과 사용이 완료된 크레딧이 포함되며, 환불 시 한도가 복구됩니다. 계정당 분당 요청은 최대 60회, 활성 API 작업은 최대 2개까지 가능합니다.
인물 사진은 비공개 버킷에 임시 저장되며, 처리가 끝나면 삭제됩니다. 삭제가 누락되는 경우를 대비해 24시간 후 삭제되는 대체 수명 주기 정책도 적용됩니다. 사진은 HF에서 처리됩니다. 추정 결과는 의학적 조언, 신원 확인 또는 나이 증명이 아닙니다.