사전 준비
- BIZ MORI API 키 (여기서 발급)
- 분석할 이미지 파일 (
jpeg,jpg,png,webp,bmp, 또는tiff)
자동 발급된
sk_test_ 키로 실제 AI Detection 처리나 크레딧 사용 없이 주문 흐름을 검증할 수 있습니다. 테스트 업로드는 파일 내용을 폐기하고 결정적인 확률 값을 반환합니다. 실제 탐지 결과가 필요할 때는 일반 API 키를 사용하세요.1단계: 주문 생성
이미지 파일 이름으로 AI Detection 주문을 생성합니다.2단계: 파일 업로드
1단계 응답의uploadUrl로 파일을 PUT 업로드합니다. Authorization 헤더는 필요 없습니다 — S3 직접 업로드입니다.
live 키는 S3 presigned URL을 받고, 테스트 키는
https://api.bizmori.com/api/v2/test-uploads/{signedToken}을 받습니다. 두 URL 모두 1시간 후 만료되며 같은 방식으로 Authorization 헤더 없이 PUT합니다. 테스트 업로드는 스트림으로만 소비되고 저장·처리되지 않습니다. 만료되면 POST /api/v2/orders/{orderId}/refresh-urls를 사용하세요.3단계: 주문 확인
업로드 완료 후, 탐지 처리를 시작하기 위해 주문을 확인합니다:4단계: 결과 확인
이 단계는 deprecated되었지만 동작이 바뀌지 않은
GET /api/v2/orders/{orderId}를 사용합니다. 새로 연동한다면 주문 상세 조회(v3)를 사용하세요. 결과를 최상위 statusCode, probability 대신 result.verdict, result.probability로 반환합니다.heatmapUrl, overlayUrl은 주문 생성 시 각각 options.generateHeatmap, options.generateOverlay를 요청한 경우에만 응답에 포함됩니다.
결과 이미지는 보통 긴 변을 1600px 이내로 줄인 WebP입니다. originalImageUrl도 같은 방식으로 줄인 입력 이미지 사본이고, thumbnailImageUrl은 740×400 이내 썸네일이며 options.generateThumbnail과 관계없이 반환됩니다. 리사이즈 이미지가 준비되지 않았으면 원본 파일을 반환합니다.결과 해석
probability 필드(0–1)는 이미지가 AI로 생성되었을 확률을 나타냅니다. statusCode는 이를 사람이 읽기 쉽게 해석한 값입니다:
전체 React 예제
위 내용을 모두 하나의 컴포넌트로 연결했습니다: 진행률 표시가 있는 이미지 업로드, 백오프 폴링, 그리고 탐지 결과 표시까지. React 외에 별도의 의존성은 없습니다.AiDetectionChecker.jsx
import.meta.env.VITE_MORI_API_TOKEN은 Vite 문법입니다. Next.js에서는 process.env.NEXT_PUBLIC_MORI_API_TOKEN을 사용하거나, 사용 중인 번들러가 클라이언트 코드에 노출하는 방식을 사용하세요. crypto.randomUUID()는 보안 컨텍스트에서만 동작합니다. HTTPS와 localhost에서는 문제없지만, 일반 HTTP LAN 주소에서는 사용할 수 없습니다.에러 처리
전체 에러 코드는 에러 코드 페이지를 참고하세요.
다음 단계
Anti-AI
이미지를 AI 학습 및 생성으로부터 보호합니다.
워터마크 삽입
이미지에 보이지 않는 워터마크를 삽입합니다.
워터마크 검출
이미지에서 워터마크를 검출하고 추출합니다.
웹훅
처리 완료 시 알림을 받기 위해 웹훅을 설정합니다.