550W · 개발자 API

개발자 API

이미지 및 동영상 처리 API

기능 개요

빠른 연동

1

크레딧 충전

동영상 자막 제거는 처리 시간과 해상도에 따라 과금됩니다. 이미지는 성공한 작업당 10크레딧이며 처리 실패 시 차감되지 않습니다.

사용 및 요금
2

API Key 생성

모든 요청에 userNo와 API Key를 포함하세요. 업로드는 선택 사항입니다. /open/uploadVideo를 사용하거나 공개 videoUrl을 직접 제공할 수 있습니다.

API Key 생성
3

통합 예시

서비스에 맞는 흐름을 선택하세요. 각 단계에서 아래 API 레퍼런스로 바로 이동할 수 있습니다.

통합 예시
Base URLhttps://www.550wai.cnPOST · multipart/form-data

빠른 시작

모든 요청에 userNo와 API Key를 포함하세요. 업로드는 선택 사항입니다. /open/uploadVideo를 사용하거나 공개 videoUrl을 직접 제공할 수 있습니다.

curl -X POST https://www.550wai.cn/open/submitTask \\
  -H 'Content-Type: application/x-www-form-urlencoded' \\
  --data-urlencode 'userNo=YOUR_USER_NO' --data-urlencode 'apiKey=YOUR_API_KEY' \\
  --data-urlencode 'videoUrl=https://example.com/video.mp4' \\
  --data-urlencode 'width=1920' --data-urlencode 'height=1080' --data-urlencode 'duration=30' \\
  --data-urlencode 'x1=0' --data-urlencode 'y1=0' --data-urlencode 'x2=1920' --data-urlencode 'y2=200'

공통 규칙

필수

모든 요청에 userNo와 API Key를 포함하세요. 업로드는 선택 사항입니다. /open/uploadVideo를 사용하거나 공개 videoUrl을 직접 제공할 수 있습니다.

응답

응답에는 code와 message가 포함됩니다. 작업은 waiting, processing을 거쳐 success 또는 failed가 됩니다. 성공 시 resultUrl을 사용하고 실패 시 failCode를 확인하세요. 결과 파일에는 만료 기한이 있습니다. 해외 계정(clientType=overseas)의 message는 영어로 반환됩니다. 프로그램 로직에는 언어와 무관한 code, status, failCode 및 필드 이름을 사용하세요.

동영상 자막 / 워터마크 제거

uploadVideo → submitTask → taskDetail

작업 상태

응답에는 code와 message가 포함됩니다. 작업은 waiting, processing을 거쳐 success 또는 failed가 됩니다. 성공 시 resultUrl을 사용하고 실패 시 failCode를 확인하세요. 결과 파일에는 만료 기한이 있습니다.

waiting→processing→successfailed

code, message, status, failCode, refundStatus로 오류를 처리하세요.

비동기 작업 및 안정성

작업 상태 확인 및 웹후크

최종 작업 상태를 수신하려면 공개적으로 연결 가능한 HTTPS callbackUrl을 구성하세요. 또는 taskId로 taskDetail를 쿼리하고 검사 간격을 점차적으로 늘립니다.

멱등성 재시도

새 작업을 제출할 때마다 고유한 Idempotency-Key를 지정하세요. 같은 제출을 재시도할 때는 같은 키를 사용하면 원래 taskId가 반환되어 작업 중복 생성이나 이중 과금을 방지할 수 있습니다.

비동기식 이미지 처리

sync를 false로 설정하고 task.taskId를 저장한 다음, 상태가 success 또는 failed가 될 때까지 imageWatermarkTaskDetail을 호출하세요. 성공하면 task.resultUrl을 확인하세요.

resultUrl · 24 h

통합 예시

서비스에 맞는 흐름을 선택하세요. 각 단계에서 아래 API 레퍼런스로 바로 이동할 수 있습니다.

동영상 자막 / 워터마크 제거

  1. videoUrl · uploadVideo · 동영상 자막 / 워터마크 제거 · uploadVideo
  2. submitTask · 동영상 자막 / 워터마크 제거 · submitTask
  3. taskId · taskDetail · callbackUrl
  4. success 상태에서는 resultUrl을 다운로드하고, failed 상태에서는 failCode와 failReason을 확인하세요.

작업 및 계정 도구

  1. userNo · apiKey · 모든 요청에 필요
  2. queryCredits · 작업 및 계정 도구 · credits
  3. taskList · 동영상 자막 / 워터마크 제거 · 작업 및 계정 도구. 삭제된 작업은 taskDetail, taskList에서 제외됩니다. 작업 상태 값은 waiting, processing, success 또는 failed로 유지됩니다.

사용 가능한 엔드포인트

POST/open/uploadVideo

동영상 자막 / 워터마크 제거 · uploadVideo

POST/open/submitTask

동영상 자막 / 워터마크 제거 · submitTask

POST/open/taskDetail

동영상 자막 / 워터마크 제거 · 작업 상태

POST/open/taskList

동영상 자막 / 워터마크 제거 · 작업 및 계정 도구. 삭제된 작업은 taskDetail, taskList에서 제외됩니다. 작업 상태 값은 waiting, processing, success 또는 failed로 유지됩니다.

POST/open/deleteTask

작업 삭제 · 동영상 작업을 삭제된 것으로 표시하고 즉시 응답합니다. 업로드 원본, 처리 결과 및 재시도용 미디어는 이후 백그라운드에서 VOD에서 비동기로 삭제됩니다. 이미 차감된 크레딧은 환불되지 않습니다. 삭제된 작업은 taskDetail, taskList에서 제외됩니다. 작업 상태 값은 waiting, processing, success 또는 failed로 유지됩니다.

POST/open/removeImageWatermark

이미지 워터마크 제거 · removeImageWatermark

POST/open/imageWatermarkTaskDetail

이미지 워터마크 제거 · 작업 상태

POST/open/queryCredits

작업 및 계정 도구 · credits

POST

/open/uploadVideo

동영상 자막 / 워터마크 제거 · uploadVideo

요청 형식: multipart/form-data

요청 매개변수

필드유형필수설명
userNostring예550W userNo
apiKeystring예API Key
filefile예MP4/MOV · ≤ 1080p · ≤ 30 min · 파일 크기 ≤ 1 GiB

응답 필드

필드유형설명
codenumber결과 코드; 200은 성공을 뜻한다
messagestring상태 메시지
videoUrlstring업로드된 동영상 URL
coverUrlstring동영상 표지 URL
widthnumber비디오 너비(픽셀)
heightnumber비디오 높이(픽셀)
durationnumber비디오 재생 시간(초)

엔드포인트 오류 코드

code의미설명
-100인증 또는 할당량 오류주요 원인: userNo · API Key · credits
-200잘못된 매개변수주요 원인: field · URL · size · duration · Idempotency-Key
-500내부 오류주요 원인: server · retry
POST

/open/submitTask

동영상 자막 / 워터마크 제거 · submitTask

요청 형식: application/x-www-form-urlencoded

요청 매개변수

필드유형필수설명
userNostring예550W userNo
apiKeystring예API Key
videoUrlstring예HTTP(S) URL · ≤ 2048 문자
widthnumber예비디오 너비 · px
heightnumber예비디오 높이 · px · max ≤ 1920 · min ≤ 1080
durationnumber예1–1800 s
x1number예왼쪽 위 X · px
y1number예왼쪽 위 Y · px
x2number예오른쪽 하단 X · px
y2number예오른쪽 하단 Y · px · x1 = y1 = x2 = y2 = 0: 풀 프레임
modestring아니요normal (기본값) · protect
fileNamestring아니요UTF-8
coverUrlstring아니요HTTP(S) URL
callbackUrlstring아니요HTTPS webhook · 최종 작업 상태
removeAudioboolean아니요true · false (기본값)
Idempotency-Key / idempotencyKeystring권장≤ 128 문자 · 재시도해도 안전

응답 필드

필드유형설명
codenumber결과 코드; 200은 성공을 뜻한다
messagestring상태 메시지
taskIdstring상태 쿼리에 대한 작업 식별자
statusstringwaiting · processing · success · failed

엔드포인트 오류 코드

code의미설명
-100인증 또는 할당량 오류주요 원인: userNo · API Key · credits
-200잘못된 매개변수주요 원인: field · URL · size · duration · Idempotency-Key
-300요청 거부주요 원인: taskId · ownership · state
-401계정 일시 정지주요 원인: 유효 위반 1회는 1시간, 2회는 24시간 정지됩니다. 정지 중 탐지는 누적·연장·상향되지 않습니다.
-402계정 영구 정지주요 원인: 유효 위반 3회째 계정이 영구 정지됩니다.
-600지원하지 않는 동영상 형식주요 원인: codec · bit depth · HDR · audio
POST

/open/taskDetail

동영상 자막 / 워터마크 제거 · 작업 상태

요청 형식: form / query

요청 매개변수

필드유형필수설명
userNostring예550W userNo
apiKeystring예API Key
taskIdstring예1–64 문자
subUserIdstring아니요≤ 128 문자 · 사용자 소유권

응답 필드

필드유형설명
taskIdstring상태 쿼리에 대한 작업 식별자
statusstringwaiting · processing · success · failed
widthnumber비디오 너비(픽셀)
heightnumber비디오 높이(픽셀)
durationnumber비디오 재생 시간(초)
x1numberx1
y1numbery1
x2numberx2
y2numbery2
modestringmode
costnumber이 작업에 대해 청구되는 크레딧
resultUrlstring결과 URL; 생성 후 24시간 동안 유효
failCodestring안정적인 실패 식별자
failReasonstring작업 실패 이유
refundStatusnumber크레딧 환불 상태

엔드포인트 오류 코드

code의미설명
-100인증 또는 할당량 오류주요 원인: userNo · API Key · credits
-300요청 거부주요 원인: taskId · ownership · state
-500내부 오류주요 원인: server · retry
POST

/open/taskList

동영상 자막 / 워터마크 제거 · 작업 및 계정 도구. 삭제된 작업은 taskDetail, taskList에서 제외됩니다. 작업 상태 값은 waiting, processing, success 또는 failed로 유지됩니다.

요청 형식: form / query

요청 매개변수

필드유형필수설명
userNostring예550W userNo
apiKeystring예API Key
pagenumber아니요≥ 0 · 기본값 0
sizenumber아니요1–100 · 기본값 20
subUserIdstring아니요≤ 128 문자 · 사용자 소유권

응답 필드

필드유형설명
totalnumber삭제되지 않은 작업 수
pagenumber페이지 번호
sizenumber페이지당 작업 수
listarray삭제되지 않은 작업 목록

엔드포인트 오류 코드

code의미설명
-100인증 또는 할당량 오류주요 원인: userNo · API Key · credits
-200잘못된 매개변수주요 원인: field · URL · size · duration · Idempotency-Key
-500내부 오류주요 원인: server · retry
POST

/open/deleteTask

작업 삭제 · 동영상 작업을 삭제된 것으로 표시하고 즉시 응답합니다. 업로드 원본, 처리 결과 및 재시도용 미디어는 이후 백그라운드에서 VOD에서 비동기로 삭제됩니다. 이미 차감된 크레딧은 환불되지 않습니다. 삭제된 작업은 taskDetail, taskList에서 제외됩니다. 작업 상태 값은 waiting, processing, success 또는 failed로 유지됩니다.

요청 형식: form / query

요청 매개변수

필드유형필수설명
userNostring예550W userNo
apiKeystring예API Key
taskIdstring예1–64 문자
subUserIdstring아니요≤ 128 문자 · 사용자 소유권

응답 필드

필드유형설명
codenumber결과 코드; 200은 성공을 뜻한다
messagestring상태 메시지

엔드포인트 오류 코드

code의미설명
-100인증 또는 할당량 오류주요 원인: userNo · API Key · credits
-200잘못된 매개변수주요 원인: field · URL · size · duration · Idempotency-Key
-300요청 거부주요 원인: taskId · ownership · state
-500내부 오류주요 원인: server · retry
POST

/open/removeImageWatermark

이미지 워터마크 제거 · removeImageWatermark

요청 형식: multipart/form-data

요청 매개변수

필드유형필수설명
userNostring예550W userNo
apiKeystring예API Key
filefile예JPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB
syncboolean아니요true (기본값) · false
operationIdstring아니요추적 식별자

응답 필드

필드유형설명
codenumber결과 코드; 200은 성공을 뜻한다
messagestring상태 메시지
creditsAfternumber처리 후 남은 크레딧
taskobject처리 결과 또는 비동기 작업

엔드포인트 오류 코드

code의미설명
-100인증 또는 할당량 오류주요 원인: userNo · API Key · credits
-200잘못된 매개변수주요 원인: field · URL · size · duration · Idempotency-Key
-300요청 거부주요 원인: taskId · ownership · state
-500내부 오류주요 원인: server · retry
POST

/open/imageWatermarkTaskDetail

이미지 워터마크 제거 · 작업 상태

요청 형식: form / query

요청 매개변수

필드유형필수설명
userNostring예550W userNo
apiKeystring예API Key
taskIdstring예1–64 문자

응답 필드

필드유형설명
statusstringwaiting · processing · success · failed
resultUrlstring결과 URL; 생성 후 24시간 동안 유효
failCodestring안정적인 실패 식별자
failReasonstring작업 실패 이유
costnumber이 작업에 대해 청구되는 크레딧
expiredTimestring결과 URL 만료 시간

엔드포인트 오류 코드

code의미설명
-100인증 또는 할당량 오류주요 원인: userNo · API Key · credits
-300요청 거부주요 원인: taskId · ownership · state
-500내부 오류주요 원인: server · retry
POST

/open/queryCredits

작업 및 계정 도구 · credits

요청 형식: form / query

요청 매개변수

필드유형필수설명
userNostring예550W userNo
apiKeystring예API Key

응답 필드

필드유형설명
codenumber결과 코드; 200은 성공을 뜻한다
messagestring상태 메시지
userNostring사용자 식별자
creditsnumber사용 가능한 크레딧

엔드포인트 오류 코드

code의미설명
-100인증 또는 할당량 오류주요 원인: userNo · API Key · credits
-500내부 오류주요 원인: server · retry

공통 요청 필드

필드필수설명
userNo예550W userNo
apiKey예API Key
Idempotency-Key권장≤ 128 · retry-safe
callbackUrl아니요HTTPS webhook · final status

동영상 작업 필드

필드유형설명
videoUrlstringHTTP(S) URL · ≤ 2048 문자
widthnumber비디오 너비 · px
heightnumber비디오 높이 · px · max ≤ 1920 · min ≤ 1080
durationnumber1–1800 s
x1number왼쪽 위 X · px
y1number왼쪽 위 Y · px
x2number오른쪽 하단 X · px
y2number오른쪽 하단 Y · px · x1 = y1 = x2 = y2 = 0: 풀 프레임
modestringnormal (기본값) · protect
removeAudiobooleantrue · false (기본값)

응답 및 작업 상태

응답에는 code와 message가 포함됩니다. 작업은 waiting, processing을 거쳐 success 또는 failed가 됩니다. 성공 시 resultUrl을 사용하고 실패 시 failCode를 확인하세요. 결과 파일에는 만료 기한이 있습니다.

{ "code": 200, "message": "success", "taskId": "...", "status": "waiting" }

오류 코드

Code의미주요 원인
200성공message: "success"
-100인증 또는 할당량 오류userNo · API Key · credits
-200잘못된 매개변수field · URL · size · duration · Idempotency-Key
-300요청 거부taskId · ownership · state
-401계정 일시 정지유효 위반 1회는 1시간, 2회는 24시간 정지됩니다. 정지 중 탐지는 누적·연장·상향되지 않습니다.
-402계정 영구 정지유효 위반 3회째 계정이 영구 정지됩니다.
-500내부 오류server · retry
-600지원하지 않는 동영상 형식codec · bit depth · HDR · audio

작업 실패 식별자(failCode)

failCode는 숫자형 code와 구분되는 문자열 식별자이며, 작업이 실패했을 때만 표시됩니다. 원인은 failCode로 판단하고 번역된 failReason 메시지는 파싱하지 마세요.

failCode의미
VIDEO_UNREACHABLE동영상 URL은 공개적으로 액세스할 수 없습니다.
VIDEO_METADATA_UNAVAILABLE신뢰할 수 있는 동영상 메타데이터를 가져오지 못했습니다.
VIDEO_RESOLUTION_UNSUPPORTED측정된 비디오 해상도가 지원 범위를 초과합니다.
VIDEO_DURATION_UNSUPPORTED측정된 동영상 길이가 30분을 초과합니다.
VIDEO_CODEC_UNSUPPORTED비디오 코덱이 지원되지 않습니다
VIDEO_BIT_DEPTH_UNSUPPORTED비디오 비트 심도가 지원되지 않습니다
VIDEO_HDR_UNSUPPORTEDHDR, PQ 또는 HLG는 지원되지 않습니다.
VIDEO_AUDIO_UNSUPPORTED오디오 코덱이 지원되지 않습니다
VIDEO_CONTAINER_UNSUPPORTED비디오 컨테이너 형식은 지원되지 않습니다.
VIDEO_PREPARE_FAILED비디오 준비, 유효성 검사 또는 오디오 제거 실패

예제를 복사해 호출

/open/submitTask

// JavaScript
const form = new URLSearchParams({
  userNo: USER_NO, apiKey: API_KEY, videoUrl: VIDEO_URL,
  width: '1920', height: '1080', duration: '30',
  x1: '0', y1: '0', x2: '1920', y2: '200'
});
const response = await fetch('https://www.550wai.cn/open/submitTask', {
  method: 'POST',
  body: form,
});

# Python
import requests
r = requests.post('https://www.550wai.cn/open/submitTask', data={
  'userNo': USER_NO, 'apiKey': API_KEY, 'videoUrl': VIDEO_URL,
  'width': 1920, 'height': 1080, 'duration': 30,
  'x1': 0, 'y1': 0, 'x2': 1920, 'y2': 200
})

/open/removeImageWatermark

// JavaScript
const imageFile = document.querySelector('#image-file').files[0];
const imageForm = new FormData();
imageForm.append('userNo', USER_NO);
imageForm.append('apiKey', API_KEY);
imageForm.append('file', imageFile);
imageForm.append('sync', 'true');
const imageResponse = await fetch(
  'https://www.550wai.cn/open/removeImageWatermark',
  { method: 'POST', body: imageForm }
);

# Python
import requests
IMAGE_FILE_PATH = '/path/to/image-file'
with open(IMAGE_FILE_PATH, 'rb') as image:
  r = requests.post(
    'https://www.550wai.cn/open/removeImageWatermark',
    data={'userNo': USER_NO, 'apiKey': API_KEY, 'sync': 'true'},
    files={'file': image}
  )

사용 및 요금

동영상 자막 제거는 처리 시간과 해상도에 따라 과금됩니다. 이미지는 성공한 작업당 10크레딧이며 처리 실패 시 차감되지 않습니다.

동영상 해상도요금예시
width × height ≤ 921,600 · 720p 이하1.3 크레딧 / s1280×720 · 30 s ≈ 39 크레딧
width × height > 921,600 · 최대 1080p1.6 크레딧 / s1920×1080 · 30 s ≈ 48 크레딧

작업 조회는 인증된 사용자의 데이터만 반환합니다.

code, message, status, failCode, refundStatus로 오류를 처리하세요.

크레딧 구매

동영상 자막 제거는 처리 시간과 해상도에 따라 과금됩니다. 이미지는 성공한 작업당 10크레딧이며 처리 실패 시 차감되지 않습니다.

요금 →