Видалення субтитрів і водяних знаків із відео
Видалення субтитрів і водяних знаків із відео · submitTask
Видалення субтитрів і водяних знаків із відео →550W · API для розробників
API обробки зображень і відео
Видалення субтитрів і водяних знаків із відео · submitTask
Видалення субтитрів і водяних знаків із відео →Видалення водяних знаків із зображень · removeImageWatermark
Видалення водяних знаків із зображень →Стани завдання · Завдання й обліковий запис
Доступні endpoint →Відеозавдання оплачуються залежно від тривалості обробки та роздільної здатності. Зображення коштує 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 для отримання остаточного статусу завдання. Крім того, надішліть запит taskDetail за допомогою taskId і поступово збільшуйте час між перевірками.
Для кожного нового завдання передавайте унікальний Idempotency-Key. Повторно надсилаючи те саме завдання, використовуйте той самий ключ, щоб отримати початковий taskId без створення дубліката й повторного списання кредитів.
Встановіть для sync значення false, збережіть task.taskId і викликайте imageWatermarkTaskDetail, поки статус не стане success або failed. У разі успіху читайте 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 година; друге: 24 години. Спрацювання під час блокування не враховуються, не подовжують і не посилюють її. |
-402 | Постійне блокування облікового запису | Типові причини: Третє враховане порушення назавжди блокує обліковий запис. |
-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 година; друге: 24 години. Спрацювання під час блокування не враховуються, не подовжують і не посилюють її. |
-402 | Постійне блокування облікового запису | Третє враховане порушення назавжди блокує обліковий запис. |
-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 кредитів за успішне завдання; невдала обробка не оплачується.
Ціни →