Удаление субтитров и водяных знаков с видео
Удаление субтитров и водяных знаков с видео · 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 для получения окончательного статуса задачи. Альтернативно, запросите 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 кредитов за успешную задачу; неудачная обработка не оплачивается.
Цены →