curl -X POST https://api.bizmori.com/api/v2/orders/wtr-extract \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"idempotencyKey": "8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26",
"file": {
"fileName": "watermarked.jpg"
}
}'const response = await fetch('https://api.bizmori.com/api/v2/orders/wtr-extract', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
idempotencyKey: '8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26',
file: {
fileName: 'watermarked.jpg'
}
})
});
const data = await response.json();import requests
response = requests.post(
'https://api.bizmori.com/api/v2/orders/wtr-extract',
headers={'Authorization': 'Bearer YOUR_API_TOKEN'},
json={
'idempotencyKey': '8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26',
'file': {
'fileName': 'watermarked.jpg'
}
}
)
data = response.json()<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bizmori.com/api/v2/orders/wtr-extract",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'idempotencyKey' => '8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26',
'file' => [
'fileName' => 'watermarked.jpg'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bizmori.com/api/v2/orders/wtr-extract"
payload := strings.NewReader("{\n \"idempotencyKey\": \"8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26\",\n \"file\": {\n \"fileName\": \"watermarked.jpg\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bizmori.com/api/v2/orders/wtr-extract")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"idempotencyKey\": \"8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26\",\n \"file\": {\n \"fileName\": \"watermarked.jpg\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bizmori.com/api/v2/orders/wtr-extract")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"idempotencyKey\": \"8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26\",\n \"file\": {\n \"fileName\": \"watermarked.jpg\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"orderName": "wtr_extract_2026-02-13",
"orderId": "123456789",
"file": {
"fileId": 1,
"fileName": "watermarked.jpg",
"uploadUrl": "https://s3.amazonaws.com/...",
"fileKey": "123/456/watermarked.jpg",
"fileFormat": "JPG",
"fileType": "IMG",
"role": "watermarked",
"sequence": 1
}
}
}워터마크 추출 주문 생성
워터마크 추출 주문을 생성합니다.
- 주문당 파일 1개
- 이미지 (jpg, jpeg, png, webp, bmp, tiff) 또는 PDF 파일 지원
- 이미지의 경우
includeOriginal: true로 원본 파일도 함께 업로드 가능 - PDF는
includeOriginal미지원
curl -X POST https://api.bizmori.com/api/v2/orders/wtr-extract \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"idempotencyKey": "8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26",
"file": {
"fileName": "watermarked.jpg"
}
}'const response = await fetch('https://api.bizmori.com/api/v2/orders/wtr-extract', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
idempotencyKey: '8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26',
file: {
fileName: 'watermarked.jpg'
}
})
});
const data = await response.json();import requests
response = requests.post(
'https://api.bizmori.com/api/v2/orders/wtr-extract',
headers={'Authorization': 'Bearer YOUR_API_TOKEN'},
json={
'idempotencyKey': '8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26',
'file': {
'fileName': 'watermarked.jpg'
}
}
)
data = response.json()<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bizmori.com/api/v2/orders/wtr-extract",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'idempotencyKey' => '8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26',
'file' => [
'fileName' => 'watermarked.jpg'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bizmori.com/api/v2/orders/wtr-extract"
payload := strings.NewReader("{\n \"idempotencyKey\": \"8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26\",\n \"file\": {\n \"fileName\": \"watermarked.jpg\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bizmori.com/api/v2/orders/wtr-extract")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"idempotencyKey\": \"8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26\",\n \"file\": {\n \"fileName\": \"watermarked.jpg\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bizmori.com/api/v2/orders/wtr-extract")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"idempotencyKey\": \"8b3f1d6e-e7a5-424b-b6c9-1e4d5a8c0f26\",\n \"file\": {\n \"fileName\": \"watermarked.jpg\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"orderName": "wtr_extract_2026-02-13",
"orderId": "123456789",
"file": {
"fileId": 1,
"fileName": "watermarked.jpg",
"uploadUrl": "https://s3.amazonaws.com/...",
"fileKey": "123/456/watermarked.jpg",
"fileFormat": "JPG",
"fileType": "IMG",
"role": "watermarked",
"sequence": 1
}
}
}인증
외부 클라이언트 접근을 위한 Bearer API 키. 일반 키는 sk_ 접두사를 사용하고, 테스트 키는 sk_test_ 접두사로 모의 응답을 사용해 실제 처리나 크레딧 사용 없이 주문 흐름을 검증합니다.
본문
멱등성 키
Hide child attributes
Hide child attributes
응답
주문 생성 성공
Hide child attributes
Hide child attributes
주문 이름 (자동 생성)
주문 ID
워터마크 추출 주문 파일 정보
Hide child attributes
Hide child attributes
파일 ID
파일 이름
업로드 URL. live 키는 S3 presigned URL을 받고, 테스트 키는 절대 https://api.bizmori.com/api/v2/test-uploads/{signedToken} URL을 받습니다. 두 URL은 1시간 후 만료되며 POST /api/v2/orders/{orderId}/refresh-urls로 재발급할 수 있습니다. signed token 자체가 테스트 업로드를 인가하므로 PUT에 Authorization 헤더가 필요 없습니다. 테스트 요청 본문은 스트림으로 소비되어 저장되지 않으며, 테스트 주문은 사용량 차감이나 실제 외부 처리 없이 모의 결과로 전이합니다.
파일 식별자: live 키에서는 S3 object key이고 테스트 키에서는 격리된 logical key입니다.
파일 형식
"JPG"
파일 타입 (이미지 또는 PDF)
IMG, DOCUMENT 파일 역할 (항상 "watermarked")
watermarked 파일 순서 (항상 1)
1
원본 파일 정보 (includeOriginal이 true일 때만 포함)
Hide child attributes
Hide child attributes
파일 ID
파일 이름
업로드 URL. live 키는 S3 presigned URL을 받고, 테스트 키는 절대 https://api.bizmori.com/api/v2/test-uploads/{signedToken} URL을 받습니다. 두 URL은 1시간 후 만료되며 POST /api/v2/orders/{orderId}/refresh-urls로 재발급할 수 있습니다. signed token 자체가 테스트 업로드를 인가하므로 PUT에 Authorization 헤더가 필요 없습니다. 테스트 요청 본문은 스트림으로 소비되어 저장되지 않으며, 테스트 주문은 사용량 차감이나 실제 외부 처리 없이 모의 결과로 전이합니다.
파일 식별자: live 키에서는 S3 object key이고 테스트 키에서는 격리된 logical key입니다.
파일 형식
파일 타입 (이미지만 해당)
IMG 파일 역할 (항상 "original")
original 파일 순서 (항상 1)
1