API REFERENCE

AnimeTrace API

(Last updated July 3, 2026)

api.animetrace.com multipart/form-data JSON

Recognition API

POST https://api.animetrace.com/v1/search

Example Request

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"

Interface Description

Parameter Explanation Optional Values Required
is_multi Whether to display multiple results 0 or 1 No
model Recognition model to use (see model selection table below) See the Model List API below No
ai_detect Whether to enable AI image detection 1: Yes / 0: No No
file Image data to recognize (optional) [Image Data] Yes
url Image URL source to recognize (optional) URL Yes
base64 Image Base64 to recognize (optional) Base64 str Yes

file or url or base64

Model Selection

GET https://api.animetrace.com/v1/model/list
Available models change dynamically. Do not hardcode model names — fetch the latest list from this API. Models with enabled=false are temporarily paused and cannot be selected.

Example Response

JSON
{
  "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"
}

Response Fields

Field Type Explanation
dataarrayArray of models
data[].idstringModel ID (the value for the model parameter of /v1/search)
data[].namestringDisplay name
data[].providerstringModel provider
data[].enabledboolAvailability (false = temporarily paused, not selectable)
data[].defaultboolWhether this is the default model
data[].descobjectModel description (ja / en / zh)

Response

Example Response

JSON
{
  "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": "鷹倉杏璃" }
      ]
    }
  ]
}

Response Fields

Field Type Explanation
codeintStatus code (0 = success)
trace_idstringUnique ID for this recognition (use it when reporting issues)
aiboolWhether the image is judged AI-generated (true / false)
dataarrayList of results, one per detected character
data[].boxnumber[4]Character position [x1, y1, x2, y2] (0–1, relative to image width/height)
data[].box_idstringUnique ID of each detection box
data[].not_confidentboolLow confidence (many candidates — please verify)
data[].characterarrayCandidate characters (most likely first)
data[].character[].workstringTitle of the work
data[].character[].characterstringCharacter name

Status Code Description

Status Code HTTP Status Code Explanation
17720 - Recognition successful
200 200 Success
17721 200 Server running normally
17701 413 Image size too large
17702 503 Server busy, please retry
17703 - Request parameters incorrect
17704 403 API under maintenance
17705 - Unsupported image format
17706 - Recognition failed (internal error, please retry)
17707 - Internal error
17708 - Number of people in image exceeds limit
17722 - Image download failed
17728 - Usage limit reached
17731 - Too many server users, please retry
404 - Page not found