동영상 자막 / 워터마크 제거
동영상 자막 / 워터마크 제거 · submitTask
동영상 자막 / 워터마크 제거 →550W · 개발자 API
이미지 및 동영상 처리 API
동영상 자막 / 워터마크 제거 · submitTask
동영상 자막 / 워터마크 제거 →이미지 워터마크 제거 · removeImageWatermark
이미지 워터마크 제거 →작업 상태 · 작업 및 계정 도구
사용 가능한 엔드포인트 →동영상 자막 제거는 처리 시간과 해상도에 따라 과금됩니다. 이미지는 성공한 작업당 10크레딧이며 처리 실패 시 차감되지 않습니다.
사용 및 요금모든 요청에 userNo와 API Key를 포함하세요. 업로드는 선택 사항입니다. /open/uploadVideo를 사용하거나 공개 videoUrl을 직접 제공할 수 있습니다.
API Key 생성서비스에 맞는 흐름을 선택하세요. 각 단계에서 아래 API 레퍼런스로 바로 이동할 수 있습니다.
통합 예시https://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를 확인하세요. 결과 파일에는 만료 기한이 있습니다.
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 레퍼런스로 바로 이동할 수 있습니다.
videoUrl · uploadVideo · 동영상 자막 / 워터마크 제거 · uploadVideosubmitTask · 동영상 자막 / 워터마크 제거 · submitTasktaskId · taskDetail · callbackUrlremoveImageWatermark · 이미지 워터마크 제거 · removeImageWatermarksync=true → resultUrl · sync=false → taskIdimageWatermarkTaskDetail · 최종 작업 상태 확인userNo · apiKey · 모든 요청에 필요queryCredits · 작업 및 계정 도구 · creditstaskList · 동영상 자막 / 워터마크 제거 · 작업 및 계정 도구. 삭제된 작업은 taskDetail, taskList에서 제외됩니다. 작업 상태 값은 waiting, processing, success 또는 failed로 유지됩니다./open/uploadVideo동영상 자막 / 워터마크 제거 · uploadVideo
/open/submitTask동영상 자막 / 워터마크 제거 · submitTask
/open/taskDetail동영상 자막 / 워터마크 제거 · 작업 상태
/open/taskList동영상 자막 / 워터마크 제거 · 작업 및 계정 도구. 삭제된 작업은 taskDetail, taskList에서 제외됩니다. 작업 상태 값은 waiting, processing, success 또는 failed로 유지됩니다.
/open/deleteTask작업 삭제 · 동영상 작업을 삭제된 것으로 표시하고 즉시 응답합니다. 업로드 원본, 처리 결과 및 재시도용 미디어는 이후 백그라운드에서 VOD에서 비동기로 삭제됩니다. 이미 차감된 크레딧은 환불되지 않습니다. 삭제된 작업은 taskDetail, taskList에서 제외됩니다. 작업 상태 값은 waiting, processing, success 또는 failed로 유지됩니다.
/open/removeImageWatermark이미지 워터마크 제거 · removeImageWatermark
/open/imageWatermarkTaskDetail이미지 워터마크 제거 · 작업 상태
/open/queryCredits작업 및 계정 도구 · credits
/open/uploadVideo동영상 자막 / 워터마크 제거 · uploadVideo
요청 형식: multipart/form-data
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
userNo | string | 예 | 550W userNo |
apiKey | string | 예 | API Key |
file | file | 예 | MP4/MOV · ≤ 1080p · ≤ 30 min · 파일 크기 ≤ 1 GiB |
| 필드 | 유형 | 설명 |
|---|---|---|
code | number | 결과 코드; 200은 성공을 뜻한다 |
message | string | 상태 메시지 |
videoUrl | string | 업로드된 동영상 URL |
coverUrl | string | 동영상 표지 URL |
width | number | 비디오 너비(픽셀) |
height | number | 비디오 높이(픽셀) |
duration | number | 비디오 재생 시간(초) |
| code | 의미 | 설명 |
|---|---|---|
-100 | 인증 또는 할당량 오류 | 주요 원인: userNo · API Key · credits |
-200 | 잘못된 매개변수 | 주요 원인: field · URL · size · duration · Idempotency-Key |
-500 | 내부 오류 | 주요 원인: server · retry |
/open/submitTask동영상 자막 / 워터마크 제거 · submitTask
요청 형식: application/x-www-form-urlencoded
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
userNo | string | 예 | 550W userNo |
apiKey | string | 예 | API Key |
videoUrl | string | 예 | HTTP(S) URL · ≤ 2048 문자 |
width | number | 예 | 비디오 너비 · px |
height | number | 예 | 비디오 높이 · px · max ≤ 1920 · min ≤ 1080 |
duration | number | 예 | 1–1800 s |
x1 | number | 예 | 왼쪽 위 X · px |
y1 | number | 예 | 왼쪽 위 Y · px |
x2 | number | 예 | 오른쪽 하단 X · px |
y2 | number | 예 | 오른쪽 하단 Y · px · x1 = y1 = x2 = y2 = 0: 풀 프레임 |
mode | string | 아니요 | normal (기본값) · protect |
fileName | string | 아니요 | UTF-8 |
coverUrl | string | 아니요 | HTTP(S) URL |
callbackUrl | string | 아니요 | HTTPS webhook · 최종 작업 상태 |
removeAudio | boolean | 아니요 | true · false (기본값) |
Idempotency-Key / idempotencyKey | string | 권장 | ≤ 128 문자 · 재시도해도 안전 |
| 필드 | 유형 | 설명 |
|---|---|---|
code | number | 결과 코드; 200은 성공을 뜻한다 |
message | string | 상태 메시지 |
taskId | string | 상태 쿼리에 대한 작업 식별자 |
status | string | waiting · 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 |
/open/taskDetail동영상 자막 / 워터마크 제거 · 작업 상태
요청 형식: form / query
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
userNo | string | 예 | 550W userNo |
apiKey | string | 예 | API Key |
taskId | string | 예 | 1–64 문자 |
subUserId | string | 아니요 | ≤ 128 문자 · 사용자 소유권 |
| 필드 | 유형 | 설명 |
|---|---|---|
taskId | string | 상태 쿼리에 대한 작업 식별자 |
status | string | waiting · processing · success · failed |
width | number | 비디오 너비(픽셀) |
height | number | 비디오 높이(픽셀) |
duration | number | 비디오 재생 시간(초) |
x1 | number | x1 |
y1 | number | y1 |
x2 | number | x2 |
y2 | number | y2 |
mode | string | mode |
cost | number | 이 작업에 대해 청구되는 크레딧 |
resultUrl | string | 결과 URL; 생성 후 24시간 동안 유효 |
failCode | string | 안정적인 실패 식별자 |
failReason | string | 작업 실패 이유 |
refundStatus | number | 크레딧 환불 상태 |
| code | 의미 | 설명 |
|---|---|---|
-100 | 인증 또는 할당량 오류 | 주요 원인: userNo · API Key · credits |
-300 | 요청 거부 | 주요 원인: taskId · ownership · state |
-500 | 내부 오류 | 주요 원인: server · retry |
/open/taskList동영상 자막 / 워터마크 제거 · 작업 및 계정 도구. 삭제된 작업은 taskDetail, taskList에서 제외됩니다. 작업 상태 값은 waiting, processing, success 또는 failed로 유지됩니다.
요청 형식: form / query
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
userNo | string | 예 | 550W userNo |
apiKey | string | 예 | API Key |
page | number | 아니요 | ≥ 0 · 기본값 0 |
size | number | 아니요 | 1–100 · 기본값 20 |
subUserId | string | 아니요 | ≤ 128 문자 · 사용자 소유권 |
| 필드 | 유형 | 설명 |
|---|---|---|
total | number | 삭제되지 않은 작업 수 |
page | number | 페이지 번호 |
size | number | 페이지당 작업 수 |
list | array | 삭제되지 않은 작업 목록 |
| code | 의미 | 설명 |
|---|---|---|
-100 | 인증 또는 할당량 오류 | 주요 원인: userNo · API Key · credits |
-200 | 잘못된 매개변수 | 주요 원인: field · URL · size · duration · Idempotency-Key |
-500 | 내부 오류 | 주요 원인: server · retry |
/open/deleteTask작업 삭제 · 동영상 작업을 삭제된 것으로 표시하고 즉시 응답합니다. 업로드 원본, 처리 결과 및 재시도용 미디어는 이후 백그라운드에서 VOD에서 비동기로 삭제됩니다. 이미 차감된 크레딧은 환불되지 않습니다. 삭제된 작업은 taskDetail, taskList에서 제외됩니다. 작업 상태 값은 waiting, processing, success 또는 failed로 유지됩니다.
요청 형식: form / query
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
userNo | string | 예 | 550W userNo |
apiKey | string | 예 | API Key |
taskId | string | 예 | 1–64 문자 |
subUserId | string | 아니요 | ≤ 128 문자 · 사용자 소유권 |
| 필드 | 유형 | 설명 |
|---|---|---|
code | number | 결과 코드; 200은 성공을 뜻한다 |
message | string | 상태 메시지 |
| code | 의미 | 설명 |
|---|---|---|
-100 | 인증 또는 할당량 오류 | 주요 원인: userNo · API Key · credits |
-200 | 잘못된 매개변수 | 주요 원인: field · URL · size · duration · Idempotency-Key |
-300 | 요청 거부 | 주요 원인: taskId · ownership · state |
-500 | 내부 오류 | 주요 원인: server · retry |
/open/removeImageWatermark이미지 워터마크 제거 · removeImageWatermark
요청 형식: multipart/form-data
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
userNo | string | 예 | 550W userNo |
apiKey | string | 예 | API Key |
file | file | 예 | JPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB |
sync | boolean | 아니요 | true (기본값) · false |
operationId | string | 아니요 | 추적 식별자 |
| 필드 | 유형 | 설명 |
|---|---|---|
code | number | 결과 코드; 200은 성공을 뜻한다 |
message | string | 상태 메시지 |
creditsAfter | number | 처리 후 남은 크레딧 |
task | object | 처리 결과 또는 비동기 작업 |
| code | 의미 | 설명 |
|---|---|---|
-100 | 인증 또는 할당량 오류 | 주요 원인: userNo · API Key · credits |
-200 | 잘못된 매개변수 | 주요 원인: field · URL · size · duration · Idempotency-Key |
-300 | 요청 거부 | 주요 원인: taskId · ownership · state |
-500 | 내부 오류 | 주요 원인: server · retry |
/open/imageWatermarkTaskDetail이미지 워터마크 제거 · 작업 상태
요청 형식: form / query
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
userNo | string | 예 | 550W userNo |
apiKey | string | 예 | API Key |
taskId | string | 예 | 1–64 문자 |
| 필드 | 유형 | 설명 |
|---|---|---|
status | string | waiting · processing · success · failed |
resultUrl | string | 결과 URL; 생성 후 24시간 동안 유효 |
failCode | string | 안정적인 실패 식별자 |
failReason | string | 작업 실패 이유 |
cost | number | 이 작업에 대해 청구되는 크레딧 |
expiredTime | string | 결과 URL 만료 시간 |
| code | 의미 | 설명 |
|---|---|---|
-100 | 인증 또는 할당량 오류 | 주요 원인: userNo · API Key · credits |
-300 | 요청 거부 | 주요 원인: taskId · ownership · state |
-500 | 내부 오류 | 주요 원인: server · retry |
/open/queryCredits작업 및 계정 도구 · credits
요청 형식: form / query
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
userNo | string | 예 | 550W userNo |
apiKey | string | 예 | API Key |
| 필드 | 유형 | 설명 |
|---|---|---|
code | number | 결과 코드; 200은 성공을 뜻한다 |
message | string | 상태 메시지 |
userNo | string | 사용자 식별자 |
credits | number | 사용 가능한 크레딧 |
| 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 |
| 필드 | 유형 | 설명 |
|---|---|---|
videoUrl | string | HTTP(S) URL · ≤ 2048 문자 |
width | number | 비디오 너비 · px |
height | number | 비디오 높이 · px · max ≤ 1920 · min ≤ 1080 |
duration | number | 1–1800 s |
x1 | number | 왼쪽 위 X · px |
y1 | number | 왼쪽 위 Y · px |
x2 | number | 오른쪽 하단 X · px |
y2 | number | 오른쪽 하단 Y · px · x1 = y1 = x2 = y2 = 0: 풀 프레임 |
mode | string | normal (기본값) · protect |
removeAudio | boolean | true · 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는 숫자형 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_UNSUPPORTED | HDR, 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 크레딧 / s | 1280×720 · 30 s ≈ 39 크레딧 |
| width × height > 921,600 · 최대 1080p | 1.6 크레딧 / s | 1920×1080 · 30 s ≈ 48 크레딧 |
작업 조회는 인증된 사용자의 데이터만 반환합니다.
code, message, status, failCode, refundStatus로 오류를 처리하세요.
동영상 자막 제거는 처리 시간과 해상도에 따라 과금됩니다. 이미지는 성공한 작업당 10크레딧이며 처리 실패 시 차감되지 않습니다.
요금 →