건설 문서용 OCR이 작동하지 않아, 수정했습니다

발행: (2026년 3월 31일 AM 01:05 GMT+9)
6 분 소요

Source: Hacker News

엔드포인트

POST /v1/drawings/detection/doors

건축 평면도 PDF에서 문을 감지합니다.
이전에 업로드된 document_id를 받아 추론을 큐에 넣고, 결과를 폴링할 수 있는 작업(job)을 반환합니다. 감지는 PDF 좌표 공간의 경계 상자(bounding box) 형태로 반환됩니다.

Floor plans – Async · 2022 credits / page

Floor plan input
Floor plan with detected doors

요청

X-API-Key 헤더를 통한 인증.
본문은 JSON이며, 이 엔드포인트는 파일 업로드를 직접 받지 않습니다.

매개변수

이름타입설명
document_id (required)string (UUID)업로드된 PDF의 ID. 해당 계정에 속하고 만료되지 않아야 합니다.
page_numbersint[]스캔할 1‑기반 페이지 인덱스. 생략하면 모든 페이지를 스캔합니다. 범위를 벗어난 값은 워커에 의해 건너뛰어지지만 여전히 청구됩니다.
webhook_urlstring완료된 작업 페이로드를 POST할 URL. 개발자, 프로, 엔터프라이즈 티어에서만 사용할 수 있습니다.

Note: 크레딧은 len(page_numbers)(생략 시 문서 전체 페이지 수)를 기준으로 제출 시 청구됩니다 — 실제로 문이 있는 페이지에 대해서만이 아니라. 과다 청구를 방지하려면 유효한 페이지 인덱스만 전송하십시오.

코드 예시

curl -X POST https://api.anchorgrid.ai/v1/drawings/detection/doors \
  -H "X-API-Key: " \
  -H "Content-Type: application/json" \
  -d '{
    "document_id": "550e8400-e29b-41d4-a716-446655440000",
    "page_numbers": [1, 2, 3]
  }'

응답 — 202 Accepted

작업이 즉시 대기열에 추가됩니다. statuscomplete 또는 failed가 될 때까지 GET /v1/jobs/{job_id}를 폴링하십시오.

필드

이름형식설명
job_idstring (UUID)결과를 조회하기 위해 사용합니다.
statusstring이 응답에서는 항상 "queued"입니다.
poll_urlstring경로만 포함 — 전체 URL을 만들려면 https://api.anchorgrid.ai를 앞에 붙이세요.

결과 형태

status === "complete"이고 model === "door-detector"인 경우, 작업의 result 필드에는 다음과 같은 내용이 포함됩니다:

필드

NameTypeDescription
document_idstring (UUID)원본 문서의 UUID.
doorsarray필터링된 문 감지 목록. 각 항목은 id, page, bbox를 가집니다.
doors[].idstring안정적인 식별자 — "door_" + 12 hex chars.
doors[].pageinteger문이 감지된 PDF 페이지 인덱스(1부터 시작).
doors[].bboxobjectPDF 좌표 공간에서 축에 정렬된 경계 상자: x1, y1, x2, y2.
doors_foundinteger서버 측 기하학 필터링 후 doors에 있는 항목 수.
pages_analyzedinteger워커가 실제로 스캔한 페이지 수.
model_versionstring예: door-detector-v1.0.0.
processing_time_msinteger추론 작업의 실제 경과 시간(밀리초).

Info: 문 목록은 반환되기 전에 기하학 및 중간 면적 파이프라인을 통해 후처리됩니다. doors_found는 항상 필터링된 개수를 나타내며, 원시(필터링되지 않은) 개수는 노출되지 않습니다.

크레딧 및 속도 제한

비용

  • 2 credits × pages billed

속도 제한

TierRPM (requests per minute)
free5
developer / pro60
enterprise120 (or 300 depending on plan)
  • Free tier: 평생 크레딧 한도 — 초과 시 402 FREE_TIER_LIMIT_REACHED 반환.
  • Developer / Pro: 월간 풀 — 초과 시 429 QUOTA_EXCEEDED 반환.
  • Enterprise: 할당량 검사가 없음.

속도 제한 429 응답에는 본문에 retry_after_seconds가 포함됩니다. 할당량 초과와 속도 제한 오류 모두 상태 코드 429를 사용합니다; 구분하려면 오류 본문을 확인하세요.

오류

코드설명
401누락되었거나 잘못된 X-API-Key.
402무료 티어 평생 크레딧 한도에 도달했습니다.
404document_id를 찾을 수 없거나 만료되었습니다.
422검증 오류 — 형식이 잘못된 UUID 또는 잘못된 본문.
429속도 제한 또는 월 할당량 초과.
{
  "job_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "status": "queued",
  "poll_url": "/v1/jobs/7c9e6679-7425-40de-944b-e07fc1f90ae7"
}
0 조회
Back to Blog

관련 글

더 보기 »

손으로 더 나은 노트 작성

주제를 연구하는 것은 어렵습니다. 왜냐하면 단순히 주어진 문제나 역사적 사건들의 원인과 결과를 맞추려는 것뿐만 아니라, 당신은…

손으로 더 나은 필기

주제를 연구하는 것은 어렵습니다. 왜냐하면 단순히 주어진 문제나 역사적 사건들의 원인과 결과를 맞추어 보려는 것뿐만 아니라, 당신은…