API REFERENCE
AnimeTrace API
(마지막 업데이트 2026년 7월 3일)
인식 API
POST
https://api.animetrace.com/v1/search 요청 예시
curl -X POST https://api.animetrace.com/v1/search \
-F "model=animetrace_high_beta" \
-F "is_multi=1" \
-F "ai_detect=1" \
-F "file=@image.jpg"인터페이스 설명
| 매개변수 | 설명 | 선택적 값 | 필수 여부 |
|---|---|---|---|
is_multi | 여러 결과를 표시할지 여부 | 0 또는 1 | 아니오 |
model | 사용할 인식 모델 (모델 선택은 아래 표 참조) | 아래 모델 목록 API 참조 | 아니오 |
ai_detect | AI 이미지 감지를 활성화할지 여부 | 1: 예 / 0: 아니오 | 아니오 |
file | 인식할 이미지 데이터 (선택사항) | [이미지 데이터] | 예 |
url | 인식할 이미지 URL 소스 (선택사항) | URL | 예 |
base64 | 인식할 이미지 Base64 (선택사항) | Base64 str | 예 |
file 또는 url 또는 base64
모델 선택
GET
https://api.animetrace.com/v1/model/list 사용 가능한 모델은 동적으로 변경됩니다. 모델명을 코드에 고정하지 말고 본 API로 최신 목록을 가져오세요. enabled가 false인 모델은 일시 중지 상태로 선택할 수 없습니다.
응답 예시
{
"data": [
{
"id": "example-model-1.0",
"name": "Example Model 1.0",
"provider": "amt",
"enabled": true,
"default": true,
"desc": {
"ja": "…",
"en": "…",
"zh": "…"
}
}
],
"code": 0,
"message": "success"
}필드 설명
| 필드 | 유형 | 설명 |
|---|---|---|
data | array | 모델 배열 |
data[].id | string | 모델 ID (/v1/search 의 model 파라미터 값) |
data[].name | string | 표시 이름 |
data[].provider | string | 모델 제공자 |
data[].enabled | bool | 사용 가능 여부 (false = 일시 중지, 선택 불가) |
data[].default | bool | 기본 모델 여부 |
data[].desc | object | 모델 설명 (ja / en / zh) |
응답 데이터
응답 예시
{
"code": 0,
"ai": false,
"trace_id": "34ab47ab-9162-4213-a7e3-635e8ccb6640",
"data": [
{
"box": [0.173, 0.219, 0.460, 0.398],
"box_id": "6a555364-1c8b-4be7-9c48-97af53ad856b",
"not_confident": true,
"character": [
{ "work": "ご注文はうさぎですか?", "character": "保登心愛" },
{ "work": "Clover Day's", "character": "鷹倉杏鈴" },
{ "work": "恋×シンアイ彼女", "character": "小鞠ゆい" }
]
},
{
"box": [0.489, 0.035, 0.724, 0.197],
"box_id": "3f4430a9-5ef0-4276-8bf2-78bd11b8a4c4",
"not_confident": false,
"character": [
{ "work": "Clover Day's", "character": "鷹倉杏璃" }
]
}
]
}필드 설명
| 필드 | 유형 | 설명 |
|---|---|---|
code | int | 상태 코드 (0 = 성공) |
trace_id | string | 이번 인식의 고유 ID (문의 시 사용) |
ai | bool | AI 생성 이미지로 판정되었는지 여부 (true / false) |
data | array | 감지된 인물별 결과 목록 |
data[].box | number[4] | 인물 위치 [x1, y1, x2, y2] (이미지 너비·높이 대비 0~1 상대 좌표) |
data[].box_id | string | 각 감지 박스의 고유 ID |
data[].not_confident | bool | 신뢰도가 낮음 (후보가 많아 확인 필요) |
data[].character | array | 후보 캐릭터 목록 (앞쪽일수록 가능성 높음) |
data[].character[].work | string | 작품명 |
data[].character[].character | string | 캐릭터명 |
상태 코드 설명
| 상태 코드 | HTTP 상태 코드 | 설명 |
|---|---|---|
17720 | - | 인식 성공 |
200 | 200 | 성공 |
17721 | 200 | 서버가 정상적으로 실행 중 |
17701 | 413 | 이미지 크기가 너무 큼 |
17702 | 503 | 서버 사용량이 많음, 재시도 바랍니다 |
17703 | - | 요청 매개변수가 올바르지 않음 |
17704 | 403 | API 유지 보수 중 |
17705 | - | 지원되지 않는 이미지 형식 |
17706 | - | 인식 실패 (내부 오류, 재시도 바랍니다) |
17707 | - | 내부 오류 |
17708 | - | 이미지의 인물 수가 제한을 초과 |
17722 | - | 이미지 다운로드 실패 |
17728 | - | 이번 사용 한도에 도달 |
17731 | - | 서버 사용자가 너무 많음, 재시도 바랍니다 |
404 | - | 페이지를 찾을 수 없음 |