모든 API 요청은 REST-스타일 URL에 표준 HTTP 요청입니다. 응답은 JSON 또는 이미지 입니다 (결과를 가져올 때)
API는 표준 HTTP 기본 액세스 인증을 이용합니다. API에 대한 모든 요구들은 사용자로 API Id 를 사용자로 API 비밀을 비밀 번호로 귀하의 API 자격 증명이 필요합니다. ClippingMagic.js
는 귀하의 사용자에게 API 비밀을 알려주지 않기 위하여 귀하의 API Id만 사용함에 주의하십시오.
모든 요구는 HTTPS에서 행하여야 하며, 모든 요구가 인증되어야 합니다.
성공적인 요구를 하려면 귀하의 HTTP 클라이언트 라이브러리는 서버 이름 표시 (SNI)를 지원하여야 합니다. 이상한 핸드셰이크 에러를 받으면, 대부분이 이러한 이유입니다.
모든 업로드 및 다운로드 작동은 백엔드에서 일어나지만, 모든 검토 및 편집 작동은 스마트 편집기에서 일어납니다.
이 분리 작업은 귀하의 API 키를 보호하며, 귀하의 사이트에서 매끄러운 최종-사용자 경험을 가능하게 합니다.
API 사용에는 관대한 허용하에 비율 제한이 있으며 귀하의 API 크레딧 이상의 상한 제한이 없습니다.
정상적 최종 사용자 중심 작동중에는 비율 제한을 거의 받지 않을것입니다, 그 이유는 사용이 줄어용자 중심 작동중에는 비율 제한을 거의 받지 않을것입니다, 그 이유는 사용이 줄어드는 경향이 있으며 서비스가 적절히 처리되는 방향으로 흘러갑니다.
하지만, 최대 5개의 스레드로 시작하고, 원하는 레벨의 평행에 도달할 때 까지, 매5분마다 1개의 스레드를 추가하기를 추천합니다. 100개 이상의 동시 스레드가 필요하면 시작하기 전에 알려주십시오.
너무 많은 요구를 제출하면 429 Too Many Requests
를 받기 시작합니다. 이러한 일이 발생하며, 선형적으로 물러나십시오: 처음 이러한 반응을 받으면, 다음 요구를 제출하기 전에 5초를 기다리십시오. 2번째의 연속적 429 반응을 받으면, 다음 요구를 제출하기 이전에 2*5=10 초를 기다리십시오. 3번째 반응을 받으면, 3*5=15 초, 등을 기다리십시오.
요구가 성공적이면, 물러나기를 재설정하시고 매 스레드에 기존하여 물러나십시오 (예, 스레드가 서로 독립적으로 작동하여야 합니다).
우리는 API 요청의 성공 또는 실패를 알려주기 위하여 기본 HTTP 상태를 이용하며 또한 반환된 오류 JSON 매체에 중요한 에러 정보를 포함합니다.
문제가 있는 요구에는 언제나 오류 JSON 개체를 반환하려고 합니다. 하지만, 내부 서버 실패가 비-JSON 오류 메시지로 나타나는 것은 항상 이론적으로 가능합니다.
특성 |
|
---|---|
status | 디버깅에 도움이 되도록 응답의 HTTP 상태가 여기 다시 되풀이됩니다. |
code | Clipping Magic 내부 에러 코드. |
message | 디버깅에 유용한 사람이 읽을 수 있는 오류 메시지. |
귀하 요구의 HTTP 상태가 200 이면, 오류 JSON 개체가 반환되지 않으며, 요구가 널리 전달되었다고 생각하여도 안전합니다.
일부 HTTP 클라이언트 라이브러리는 400
에서 599
범위로 HTTP 상태 예외를 알려줍니다. 이러한 예외를 감지하고 적절히 처리하여야 합니다.
HTTP Status | 의미 |
---|---|
200 -299
|
성공 |
400 -499
|
요구에서 제공된 정보에 문제가 있습니다 (예, 매개변수가 없음) 오류 메시지를 검토하고 어떻게 수정할 것인지 알아보십시오. |
500 -599
|
Clipping Magic 내부 에러 코드가 있었습니다. 잠시 기다리신 다음 다시 시도하십시오, 그리고 문제가 계속되면 이메일을 저희한테 보내주십시오. |
디버깅 편의를 위해 최근 API 오류가 계정 페이지에 나열됩니다.
오류 응답 예
{ "error" : { "status" : 400, "code" : 1006, "message" : "Failed to read the supplied image. " } }
이미지 기록이 JSON 개체로 균일한 방법으로 표현되며, 여러가지의 API 행동으로 반환됩니다.
특성 |
|
---|---|
id |
이미지를 위한 고유 식별자 사용자에게 편집을 하고 결과를 다운로드할 수 있다고 알려줄 필요가 있습니다. |
secret |
이 이미지를 |
resultRevision |
다운로드할 수 있는 가장 최근 개정 번호를 의미하는 번호 (0 는 아직 사용할 수 있는 결과가 없음). 항상 귀하가 이전에 다운로드한 것보다 더 새로운 결과가 있는지 결정할 수 있게 합니다. |
originalFilename |
원본 이미지를 업로드할 때 파일이름을 포함하는 문자열 |
test |
|
예
{ "id" : 2346, "secret" : "image_secret1", "resultRevision" : 0, "originalFilename" : "example_image1.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false }
POST https://clippingmagic.com/api/v1/images
이미지를 업로드하려면, 표준 HTTP POST 파일 업로드를 합니다. 엔드포인트는 귀하의 백엔드에서 호출하여야합니다, 귀하의 웹페이지의 자바스크립트로 호출할 수 없습니다. 이진수 파일을 업로드할 때 콘텐츠-유형이 multipart/form-data
가 되어야 함을 주의하십시오.
추적 변수 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
입력 이미지는 다음의 한 종류이어야 합니다:
.bmp, .gif, .jpeg, .png 또는 .tiff 파일이어야 합니다.
최대 이미지 크기(= 폭 × 높이)는 33,554,432 픽섹이며, 아래의 |
|||||||||||||||
test
부울 true , false
|
이것이 시험 이미지임을 표시하기 위하여
완제품 이미지를 위하여 테스트 이미지들은 무료로 사용할 수 있으나, 그 결과에는 워터마크가 있습니다. |
||||||||||||||
format
열거형 json , result , clipping_path_svg , clipping_path_tiff , alpha_mask_png
|
기본적으로
비-JSON 결과를 가져올 때 이미지 JSON 개체를 갖고 오는 데는 귀하의 계정에 청구되지 않습니다; 생산 결과를 다운로드할 때만 청구됩니다. |
||||||||||||||
maxPixels
정수 1000000 에서 26214400 까지
|
이미지를 업로드한 후 최대 이미지 크기(= 폭 × 높이)를 변경하십시오. 기본값: 4,194,404 픽셀 |
||||||||||||||
background.color
#RRGGBB #0055FF
|
투명한 배경 사용을 생략하고 PNG 결과릉 얻습니다. 지정된 색상의 불투명한 배경 및 output.opaqueFileFormat 결과(디폴트 JPEG)를 얻는것 포함. '#'를 잊지 말고 포함하십시오. |
||||||||||||||
처리 매개 변수를 구성하십시오:
|
|||||||||||||||
색상 수준 구성:
|
|||||||||||||||
녹색 스크린을 사용하는 것과 같이, 배경에서 색상 제거, 즉 전경에 캐스트를 구성하십시오.
|
|||||||||||||||
화이트 밸런스 구성:
|
|||||||||||||||
마무리 작업을 구성하십시오. |
|||||||||||||||
겅계 매개 변수를 구성하십시오.
|
|||||||||||||||
|
|||||||||||||||
결과 크기 및 종횡비를 조절합니다.
|
|||||||||||||||
출력 옵션을 제어합니다.
|
구독하지 않고 테스트 모드로 이미지를 업로드할 수 있습니다. 하지만, 업로드하는데 크레딧을 사용하지 않아도 되지만, API를 통하여 생산 이미지를 업로드하기 위하여 유효한 API 구독이 필요합니다.
시도해 보십시오
사용자 이름 = API Id, 비밀번호 = API Secret
cURL
$ curl "https://clippingmagic.com/api/v1/images" \ -u 123:[secret] \ -F 'image=@example.jpg' \ -F 'test=true'
'example.jpg'가 있다고 가정하십시오. 필요시 대치하십시오. 'test=true'가 있는 라인은 선택적.
반응 예
{ "image" : { "id" : 2346, "secret" : "image_secret1", "resultRevision" : 0, "originalFilename" : "example_image1.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false } }
GET https://clippingmagic.com/api/v1/images/[imageId]
결과를 다운로드하기 위하여, 표준 HTTP GET을 합니다. 결과가 먼저 생성되어야 합니다.
시험 결과는 자유로이 다운로드할 수 있으나, 워터마크가 있습니다. 생산 결과는 처음 다운로드하였을떄는 한 크레딧이 요구되며; 연속적 다운로드는 무료입니다.
사용할 결과가 없으면, 오류 반응을 받습니다.
추적 변수 |
|
---|---|
imageId |
URL에 포함됨
업로드 호출에서 반환된 |
선택적
format |
이미지 JSON 개체를 갖고 오는 데는 귀하의 계정에 청구되지 않습니다; 생산 결과를 다운로드할 때만 청구됩니다. |
반응 헤더
|
|
---|---|
x-amz-meta-id
Example: 2346
|
귀하 이미지의 |
x-amz-meta-secret
Example: image_secret1
|
귀하 이미지의 |
x-amz-meta-resultrevision
Example: 1
|
귀하가 본 요청으로 갖고온 새로운 결과가 생성될 때 마다 이 카운터가 증가됩니다. |
x-amz-meta-width
Example: 3200
( format=result 에만 포함됨)
|
본 요청이 갖고온 픽셀로 표시된 결과의 폭. |
x-amz-meta-height
Example: 2400
( format=result 에만 포함됨)
|
본 요청이 갖고온 픽셀로 표시된 결과의 높이. |
Content-Disposition
Example: attachment; filename*=UTF-8''example_image1_clipped_rev_0.png
|
확장명을 포함한 결과 파일 이름. |
시도해 보십시오
사용자 이름 = API Id, 비밀번호 = API Secret
cURL
$ curl "https://clippingmagic.com/api/v1/images/2346" \ -u 123:[secret] \ -LOJ
JSON 응답 예
{ "image" : { "id" : 2346, "secret" : "image_secret1", "resultRevision" : 0, "originalFilename" : "example_image1.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false } }
GET https://clippingmagic.com/api/v1/images
이미지 JSON 개체 목록을 갖고 오려면 표준 HTTP GET을 행합니다.
추적 변수 |
|
---|---|
선택적
limit |
가져올 기록 숫자. 20로 기본값이 됨 (최소 1, 최대 100). |
선택적
offset |
기록 목록에서 사용할 오프셋 (기본값 0). |
반응 특성 |
|
---|---|
images |
이미지 JSON 개체의 배열 |
limit |
|
offset |
|
시도해 보십시오
사용자 이름 = API Id, 비밀번호 = API Secret
cURL
$ curl "https://clippingmagic.com/api/v1/images?limit=2&offset=0" \ -u 123:[secret]
반응 예
{ "images" : [ { "id" : 2346, "secret" : "image_secret1", "resultRevision" : 0, "originalFilename" : "example_image1.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false }, { "id" : 2347, "secret" : "image_secret2", "resultRevision" : 0, "originalFilename" : "example_image2.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false } ], "limit" : 2, "offset" : 0 }
POST https://clippingmagic.com/api/v1/images/[imageId]/delete
이미지를 제거하기 위하여, delete-URL에 표준 HTTP POST를 합니다.
많은 HTTP 클라이언트 라이브러리가 HTTP DELETE 동사를 지원하지 않는 현실을 처리하는데 표준 REST 습관으로부터 약간 이탈된 것이며, 동시에 같은 결과를 내는데 많은 방법의 사용을 피합니다.
추적 변수 |
|
---|---|
imageId |
URL에 포함됨
업로드 호출에서 반환된 |
반응 특성 |
|
---|---|
image |
제거된 이미지 JSON 개체 |
시도해 보십시오
사용자 이름 = API Id, 비밀번호 = API Secret
cURL
$ curl "https://clippingmagic.com/api/v1/images/2346/delete" \ -u 123:[secret] \ -X POST
반응 예
{ "image" : { "id" : 2346, "secret" : "image_secret1", "resultRevision" : 0, "originalFilename" : "example_image1.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false } }
GET https://clippingmagic.com/api/v1/account
구독 상태 및 남아 있는 크레딧과 같은 귀하의 계정 정보를 알아본다
추적 변수 |
|
---|---|
없음 |
반응 특성 |
|
---|---|
subscriptionPlan |
귀하가 현재 구독한 구독 플랜 또는 "없음". |
subscriptionState |
현재 구독 상태 ('유효' 또는 '연체') 또는 구독하고 있지 않으면 '종료'. |
credits |
귀하의 계정에 남아있는 크레딧 숫자. 현재 구독하고 있지 않거나 API가 아닌 계획을 구독하고 있는 경우 0입니다. |
사용자 이름 = API Id, 비밀번호 = API Secret
cURL
$ curl "https://clippingmagic.com/api/v1/account" \ -u 123:[secret]
반응 예
{ "subscriptionPlan" : "none", "subscriptionState" : "ended", "credits" : 0 }