Remoção de legendas e marcas d’água de vídeo
Remoção de legendas e marcas d’água de vídeo · submitTask
Remoção de legendas e marcas d’água de vídeo →550W · API para desenvolvedores
API de processamento de imagens e vídeos
Remoção de legendas e marcas d’água de vídeo · submitTask
Remoção de legendas e marcas d’água de vídeo →Remoção de marcas d’água em imagens · removeImageWatermark
Remoção de marcas d’água em imagens →Status da tarefa · Tarefas e conta
Endpoints disponíveis →As tarefas de vídeo são cobradas conforme a duração do processamento e a resolução. Imagens custam 10 créditos por tarefa concluída; falhas de processamento não são cobradas.
Uso e cobrançaInclua userNo e API Key em todas as solicitações. O upload é opcional: use /open/uploadVideo ou informe diretamente uma videoUrl pública.
Gerar API KeyEscolha o fluxo adequado ao seu produto. Cada etapa leva diretamente à referência da API.
Exemplos de integraçãohttps://www.550wai.cnPOST · multipart/form-dataInclua userNo e API Key em todas as solicitações. O upload é opcional: use /open/uploadVideo ou informe diretamente uma videoUrl pública.
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'Inclua userNo e API Key em todas as solicitações. O upload é opcional: use /open/uploadVideo ou informe diretamente uma videoUrl pública.
As respostas contêm code e message. As tarefas passam por waiting e processing até success ou failed. Em caso de sucesso, use resultUrl; em caso de falha, verifique failCode. Os arquivos de resultado expiram. Para contas internacionais (clientType=overseas), message é retornado em inglês. Use code, status, failCode e nomes de campos, que não dependem do idioma, na lógica.
uploadVideo → submitTask → taskDetail
As respostas contêm code e message. As tarefas passam por waiting e processing até success ou failed. Em caso de sucesso, use resultUrl; em caso de falha, verifique failCode. Os arquivos de resultado expiram.
Trate erros com code, message, status, failCode e refundStatus.
Configure um HTTPS callbackUrl publicamente acessível para receber o status final da tarefa. Alternativamente, consulte taskDetail com taskId e aumente gradualmente o tempo entre as verificações.
Envie um Idempotency-Key exclusivo para cada nova tarefa. Ao tentar o mesmo envio novamente, reutilize a chave para receber o taskId original sem criar outra tarefa nem descontar créditos duas vezes.
Defina sync como false, salve task.taskId e chame imageWatermarkTaskDetail até que o status seja success ou failed. Em caso de sucesso, leia task.resultUrl.
resultUrl · 24 h
Escolha o fluxo adequado ao seu produto. Cada etapa leva diretamente à referência da API.
videoUrl · uploadVideo · Remoção de legendas e marcas d’água de vídeo · uploadVideosubmitTask · Remoção de legendas e marcas d’água de vídeo · submitTasktaskId · taskDetail · callbackUrlremoveImageWatermark · Remoção de marcas d’água em imagens · removeImageWatermarksync=true → resultUrl · sync=false → taskIdimageWatermarkTaskDetail · Consulte o estado finaluserNo · apiKey · Obrigatório em cada pedidoqueryCredits · Tarefas e conta · creditstaskList · Remoção de legendas e marcas d’água de vídeo · Tarefas e conta. Tarefas excluídas não aparecem em taskDetail nem em taskList. Os valores de status permanecem waiting, processing, success ou failed./open/uploadVideoRemoção de legendas e marcas d’água de vídeo · uploadVideo
/open/submitTaskRemoção de legendas e marcas d’água de vídeo · submitTask
/open/taskDetailRemoção de legendas e marcas d’água de vídeo · Status da tarefa
/open/taskListRemoção de legendas e marcas d’água de vídeo · Tarefas e conta. Tarefas excluídas não aparecem em taskDetail nem em taskList. Os valores de status permanecem waiting, processing, success ou failed.
/open/deleteTaskExcluir tarefa · Marca uma tarefa de vídeo como excluída e retorna imediatamente. O arquivo original enviado, o resultado e os arquivos de novas tentativas são removidos do VOD depois, de forma assíncrona em segundo plano. Créditos já cobrados não são reembolsados. Tarefas excluídas não aparecem em taskDetail nem em taskList. Os valores de status permanecem waiting, processing, success ou failed.
/open/removeImageWatermarkRemoção de marcas d’água em imagens · removeImageWatermark
/open/imageWatermarkTaskDetailRemoção de marcas d’água em imagens · Status da tarefa
/open/queryCreditsTarefas e conta · credits
/open/uploadVideoRemoção de legendas e marcas d’água de vídeo · uploadVideo
Formato da solicitação: multipart/form-data
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
userNo | string | Sim | 550W userNo |
apiKey | string | Sim | API Key |
file | file | Sim | MP4/MOV · ≤ 1080p · ≤ 30 min · Tamanho do arquivo ≤ 1 GiB |
| Campo | Tipo | Descrição |
|---|---|---|
code | number | Código de resultado; 200 significa sucesso |
message | string | Mensagem de status |
videoUrl | string | URL do vídeo enviado |
coverUrl | string | URL da capa do vídeo |
width | number | Largura do vídeo em pixels |
height | number | Altura do vídeo em pixels |
duration | number | Duração do vídeo em segundos |
| code | Significado | Descrição |
|---|---|---|
-100 | Falha de autenticação ou cota | Causas comuns: userNo · API Key · credits |
-200 | Parâmetro inválido | Causas comuns: field · URL · size · duration · Idempotency-Key |
-500 | Erro interno | Causas comuns: server · retry |
/open/submitTaskRemoção de legendas e marcas d’água de vídeo · submitTask
Formato da solicitação: application/x-www-form-urlencoded
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
userNo | string | Sim | 550W userNo |
apiKey | string | Sim | API Key |
videoUrl | string | Sim | HTTP(S) URL · ≤ 2048 caracteres |
width | number | Sim | largura do vídeo · px |
height | number | Sim | altura do vídeo · px · max ≤ 1920 · min ≤ 1080 |
duration | number | Sim | 1–1800 s |
x1 | number | Sim | canto superior esquerdo X · px |
y1 | number | Sim | canto superior esquerdo Y · px |
x2 | number | Sim | canto inferior direito X · px |
y2 | number | Sim | canto inferior direito Y · px · x1 = y1 = x2 = y2 = 0: quadro completo |
mode | string | Não | normal (padrão) · protect |
fileName | string | Não | UTF-8 |
coverUrl | string | Não | HTTP(S) URL |
callbackUrl | string | Não | HTTPS webhook · status final da tarefa |
removeAudio | boolean | Não | true · false (padrão) |
Idempotency-Key / idempotencyKey | string | Recomendado | ≤ 128 caracteres · é seguro tentar novamente |
| Campo | Tipo | Descrição |
|---|---|---|
code | number | Código de resultado; 200 significa sucesso |
message | string | Mensagem de status |
taskId | string | Identificador de tarefa para consultas de status |
status | string | waiting · processing · success · failed |
| code | Significado | Descrição |
|---|---|---|
-100 | Falha de autenticação ou cota | Causas comuns: userNo · API Key · credits |
-200 | Parâmetro inválido | Causas comuns: field · URL · size · duration · Idempotency-Key |
-300 | Solicitação recusada | Causas comuns: taskId · ownership · state |
-401 | Suspensão temporária da conta | Causas comuns: Primeira infração efetiva: 1 hora; segunda: 24 horas. Detecções durante a suspensão não contam, prolongam nem agravam a sanção. |
-402 | Bloqueio permanente da conta | Causas comuns: A terceira infração efetiva bloqueia a conta permanentemente. |
-600 | Formato de vídeo não compatível | Causas comuns: codec · bit depth · HDR · audio |
/open/taskDetailRemoção de legendas e marcas d’água de vídeo · Status da tarefa
Formato da solicitação: form / query
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
userNo | string | Sim | 550W userNo |
apiKey | string | Sim | API Key |
taskId | string | Sim | 1–64 caracteres |
subUserId | string | Não | ≤ 128 caracteres · propriedade do usuário |
| Campo | Tipo | Descrição |
|---|---|---|
taskId | string | Identificador de tarefa para consultas de status |
status | string | waiting · processing · success · failed |
width | number | Largura do vídeo em pixels |
height | number | Altura do vídeo em pixels |
duration | number | Duração do vídeo em segundos |
x1 | number | x1 |
y1 | number | y1 |
x2 | number | x2 |
y2 | number | y2 |
mode | string | mode |
cost | number | Créditos cobrados por esta tarefa |
resultUrl | string | URL de resultado; válido por 24 horas após a geração |
failCode | string | Identificador de falha estável |
failReason | string | Motivo da falha da tarefa |
refundStatus | number | Status de reembolso de crédito |
| code | Significado | Descrição |
|---|---|---|
-100 | Falha de autenticação ou cota | Causas comuns: userNo · API Key · credits |
-300 | Solicitação recusada | Causas comuns: taskId · ownership · state |
-500 | Erro interno | Causas comuns: server · retry |
/open/taskListRemoção de legendas e marcas d’água de vídeo · Tarefas e conta. Tarefas excluídas não aparecem em taskDetail nem em taskList. Os valores de status permanecem waiting, processing, success ou failed.
Formato da solicitação: form / query
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
userNo | string | Sim | 550W userNo |
apiKey | string | Sim | API Key |
page | number | Não | ≥ 0 · padrão 0 |
size | number | Não | 1–100 · padrão 20 |
subUserId | string | Não | ≤ 128 caracteres · propriedade do usuário |
| Campo | Tipo | Descrição |
|---|---|---|
total | number | Número de tarefas não excluídas |
page | number | Número da página |
size | number | Número de tarefas por página |
list | array | Lista de tarefas não excluídas |
| code | Significado | Descrição |
|---|---|---|
-100 | Falha de autenticação ou cota | Causas comuns: userNo · API Key · credits |
-200 | Parâmetro inválido | Causas comuns: field · URL · size · duration · Idempotency-Key |
-500 | Erro interno | Causas comuns: server · retry |
/open/deleteTaskExcluir tarefa · Marca uma tarefa de vídeo como excluída e retorna imediatamente. O arquivo original enviado, o resultado e os arquivos de novas tentativas são removidos do VOD depois, de forma assíncrona em segundo plano. Créditos já cobrados não são reembolsados. Tarefas excluídas não aparecem em taskDetail nem em taskList. Os valores de status permanecem waiting, processing, success ou failed.
Formato da solicitação: form / query
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
userNo | string | Sim | 550W userNo |
apiKey | string | Sim | API Key |
taskId | string | Sim | 1–64 caracteres |
subUserId | string | Não | ≤ 128 caracteres · propriedade do usuário |
| Campo | Tipo | Descrição |
|---|---|---|
code | number | Código de resultado; 200 significa sucesso |
message | string | Mensagem de status |
| code | Significado | Descrição |
|---|---|---|
-100 | Falha de autenticação ou cota | Causas comuns: userNo · API Key · credits |
-200 | Parâmetro inválido | Causas comuns: field · URL · size · duration · Idempotency-Key |
-300 | Solicitação recusada | Causas comuns: taskId · ownership · state |
-500 | Erro interno | Causas comuns: server · retry |
/open/removeImageWatermarkRemoção de marcas d’água em imagens · removeImageWatermark
Formato da solicitação: multipart/form-data
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
userNo | string | Sim | 550W userNo |
apiKey | string | Sim | API Key |
file | file | Sim | JPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB |
sync | boolean | Não | true (padrão) · false |
operationId | string | Não | identificador de rastreamento |
| Campo | Tipo | Descrição |
|---|---|---|
code | number | Código de resultado; 200 significa sucesso |
message | string | Mensagem de status |
creditsAfter | number | Créditos restantes após processamento |
task | object | Resultado do processamento ou tarefa assíncrona |
| code | Significado | Descrição |
|---|---|---|
-100 | Falha de autenticação ou cota | Causas comuns: userNo · API Key · credits |
-200 | Parâmetro inválido | Causas comuns: field · URL · size · duration · Idempotency-Key |
-300 | Solicitação recusada | Causas comuns: taskId · ownership · state |
-500 | Erro interno | Causas comuns: server · retry |
/open/imageWatermarkTaskDetailRemoção de marcas d’água em imagens · Status da tarefa
Formato da solicitação: form / query
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
userNo | string | Sim | 550W userNo |
apiKey | string | Sim | API Key |
taskId | string | Sim | 1–64 caracteres |
| Campo | Tipo | Descrição |
|---|---|---|
status | string | waiting · processing · success · failed |
resultUrl | string | URL de resultado; válido por 24 horas após a geração |
failCode | string | Identificador de falha estável |
failReason | string | Motivo da falha da tarefa |
cost | number | Créditos cobrados por esta tarefa |
expiredTime | string | Tempo de expiração do URL de resultado |
| code | Significado | Descrição |
|---|---|---|
-100 | Falha de autenticação ou cota | Causas comuns: userNo · API Key · credits |
-300 | Solicitação recusada | Causas comuns: taskId · ownership · state |
-500 | Erro interno | Causas comuns: server · retry |
/open/queryCreditsTarefas e conta · credits
Formato da solicitação: form / query
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
userNo | string | Sim | 550W userNo |
apiKey | string | Sim | API Key |
| Campo | Tipo | Descrição |
|---|---|---|
code | number | Código de resultado; 200 significa sucesso |
message | string | Mensagem de status |
userNo | string | Identificador do usuário |
credits | number | Créditos disponíveis |
| code | Significado | Descrição |
|---|---|---|
-100 | Falha de autenticação ou cota | Causas comuns: userNo · API Key · credits |
-500 | Erro interno | Causas comuns: server · retry |
| Campo | Obrigatório | Descrição |
|---|---|---|
userNo | Sim | 550W userNo |
apiKey | Sim | API Key |
Idempotency-Key | Recomendado | ≤ 128 · retry-safe |
callbackUrl | Não | HTTPS webhook · final status |
| Campo | Tipo | Descrição |
|---|---|---|
videoUrl | string | HTTP(S) URL · ≤ 2048 caracteres |
width | number | largura do vídeo · px |
height | number | altura do vídeo · px · max ≤ 1920 · min ≤ 1080 |
duration | number | 1–1800 s |
x1 | number | canto superior esquerdo X · px |
y1 | number | canto superior esquerdo Y · px |
x2 | number | canto inferior direito X · px |
y2 | number | canto inferior direito Y · px · x1 = y1 = x2 = y2 = 0: quadro completo |
mode | string | normal (padrão) · protect |
removeAudio | boolean | true · false (padrão) |
As respostas contêm code e message. As tarefas passam por waiting e processing até success ou failed. Em caso de sucesso, use resultUrl; em caso de falha, verifique failCode. Os arquivos de resultado expiram.
{ "code": 200, "message": "success", "taskId": "...", "status": "waiting" }| Code | Significado | Causas comuns |
|---|---|---|
200 | Sucesso | message: "success" |
-100 | Falha de autenticação ou cota | userNo · API Key · credits |
-200 | Parâmetro inválido | field · URL · size · duration · Idempotency-Key |
-300 | Solicitação recusada | taskId · ownership · state |
-401 | Suspensão temporária da conta | Primeira infração efetiva: 1 hora; segunda: 24 horas. Detecções durante a suspensão não contam, prolongam nem agravam a sanção. |
-402 | Bloqueio permanente da conta | A terceira infração efetiva bloqueia a conta permanentemente. |
-500 | Erro interno | server · retry |
-600 | Formato de vídeo não compatível | codec · bit depth · HDR · audio |
failCode é um identificador de string, não o code numérico. Aparece apenas quando uma tarefa falha. Use failCode para determinar a causa; não analise a mensagem failReason traduzida.
| failCode | Significado |
|---|---|
VIDEO_UNREACHABLE | O URL do vídeo não está acessível publicamente |
VIDEO_METADATA_UNAVAILABLE | Não foi possível obter metadados de vídeo confiáveis. |
VIDEO_RESOLUTION_UNSUPPORTED | A resolução de vídeo medida excede o intervalo suportado |
VIDEO_DURATION_UNSUPPORTED | A duração medida do vídeo excede 30 minutos |
VIDEO_CODEC_UNSUPPORTED | O codec de vídeo não é compatível |
VIDEO_BIT_DEPTH_UNSUPPORTED | A profundidade de bits do vídeo não é suportada |
VIDEO_HDR_UNSUPPORTED | HDR, PQ ou HLG não são suportados |
VIDEO_AUDIO_UNSUPPORTED | O codec de áudio não é compatível |
VIDEO_CONTAINER_UNSUPPORTED | O formato do contêiner de vídeo não é compatível |
VIDEO_PREPARE_FAILED | Falha na preparação, validação ou remoção de áudio do vídeo |
/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}
)As tarefas de vídeo são cobradas conforme a duração do processamento e a resolução. Imagens custam 10 créditos por tarefa concluída; falhas de processamento não são cobradas.
| Resolução do vídeo | Tarifa | Exemplo |
|---|---|---|
| width × height ≤ 921,600 · 720p ou inferior | 1.3 créditos / s | 1280×720 · 30 s ≈ 39 créditos |
| width × height > 921,600 · Até 1080p | 1.6 créditos / s | 1920×1080 · 30 s ≈ 48 créditos |
As consultas de tarefas retornam apenas dados do usuário autenticado.
Trate erros com code, message, status, failCode e refundStatus.
As tarefas de vídeo são cobradas conforme a duração do processamento e a resolução. Imagens custam 10 créditos por tarefa concluída; falhas de processamento não são cobradas.
Preços →