550W · API para desarrolladores

API para desarrolladores

API de procesamiento de imágenes y vídeo

Qué puedes crear

Integración rápida

1

Añadir créditos

La eliminación de subtítulos de vídeo se factura según la duración y la resolución. Las imágenes cuestan 10 créditos por tarea completada; los fallos de procesamiento no se cobran.

Uso y facturación
2

Generar API Key

Incluye userNo y API Key en cada solicitud. La carga es opcional: usa /open/uploadVideo o proporciona directamente una videoUrl pública.

Generar API Key
3

Ejemplos de integración

Elige el flujo que mejor encaje con tu producto. Cada paso enlaza directamente con la referencia de API.

Ejemplos de integración
Base URLhttps://www.550wai.cnPOST · multipart/form-data

Inicio rápido

Incluye userNo y API Key en cada solicitud. La carga es opcional: usa /open/uploadVideo o proporciona directamente una 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'

Convenciones

Obligatorio

Incluye userNo y API Key en cada solicitud. La carga es opcional: usa /open/uploadVideo o proporciona directamente una videoUrl pública.

Respuesta

Las respuestas incluyen code y message. Las tareas pasan por waiting y processing hasta success o failed. Si finalizan correctamente, usa resultUrl; si fallan, revisa failCode. Los archivos de resultado caducan. En cuentas internacionales (clientType=overseas), message se devuelve en inglés. Usa code, status, failCode y los nombres de campo, que no dependen del idioma, para la lógica.

Eliminación de subtítulos y marcas de agua de vídeo

uploadVideo → submitTask → taskDetail

Estados de tarea

Las respuestas incluyen code y message. Las tareas pasan por waiting y processing hasta success o failed. Si finalizan correctamente, usa resultUrl; si fallan, revisa failCode. Los archivos de resultado caducan.

waiting→processing→successfailed

Gestiona los errores con code, message, status, failCode y refundStatus.

Tareas asíncronas y fiabilidad

Comprobaciones de estado de tareas y webhooks

Configure un HTTPS callbackUrl accesible públicamente para recibir el estado final de la tarea. Alternativamente, consulte taskDetail con taskId y aumente gradualmente el tiempo entre comprobaciones.

Reintentos idempotentes

Envía un Idempotency-Key único para cada tarea nueva. Al reintentar el mismo envío, reutiliza la clave para obtener el taskId original sin crear otra tarea ni descontar créditos dos veces.

Procesamiento de imágenes asincrónico

Configure sync en false, guarde task.taskId y llame a imageWatermarkTaskDetail hasta que el estado sea success o failed. En caso de éxito, lea task.resultUrl.

resultUrl · 24 h

Ejemplos de integración

Elige el flujo que mejor encaje con tu producto. Cada paso enlaza directamente con la referencia de API.

Eliminación de subtítulos y marcas de agua de vídeo

  1. videoUrl · uploadVideo · Eliminación de subtítulos y marcas de agua de vídeo · uploadVideo
  2. submitTask · Eliminación de subtítulos y marcas de agua de vídeo · submitTask
  3. taskId · taskDetail · callbackUrl
  4. Con success, descarga resultUrl; con failed, consulta failCode y failReason.

Eliminación de marcas de agua de imágenes

  1. removeImageWatermark · Eliminación de marcas de agua de imágenes · removeImageWatermark
  2. sync=true → resultUrl · sync=false → taskId
  3. imageWatermarkTaskDetail · Consulta el estado final

Tareas y cuenta

  1. userNo · apiKey · Obligatorio en cada solicitud
  2. queryCredits · Tareas y cuenta · credits
  3. taskList · Eliminación de subtítulos y marcas de agua de vídeo · Tareas y cuenta. Las tareas eliminadas están excluidas de taskDetail y taskList. Los valores de estado de la tarea siguen siendo waiting, processing, success o failed.

Endpoints disponibles

POST/open/uploadVideo

Eliminación de subtítulos y marcas de agua de vídeo · uploadVideo

POST/open/submitTask

Eliminación de subtítulos y marcas de agua de vídeo · submitTask

POST/open/taskDetail

Eliminación de subtítulos y marcas de agua de vídeo · Estados de tarea

POST/open/taskList

Eliminación de subtítulos y marcas de agua de vídeo · Tareas y cuenta. Las tareas eliminadas están excluidas de taskDetail y taskList. Los valores de estado de la tarea siguen siendo waiting, processing, success o failed.

POST/open/deleteTask

Eliminar tarea · Marca una tarea de vídeo como eliminada y responde de inmediato. El original subido, el resultado y los archivos de reintento se eliminan después de VOD de forma asíncrona en segundo plano. Los créditos ya cobrados no se reembolsan. Las tareas eliminadas están excluidas de taskDetail y taskList. Los valores de estado de la tarea siguen siendo waiting, processing, success o failed.

POST/open/removeImageWatermark

Eliminación de marcas de agua de imágenes · removeImageWatermark

POST/open/imageWatermarkTaskDetail

Eliminación de marcas de agua de imágenes · Estados de tarea

POST/open/queryCredits

Tareas y cuenta · credits

POST

/open/uploadVideo

Eliminación de subtítulos y marcas de agua de vídeo · uploadVideo

Formato de solicitud: multipart/form-data

Parámetros de solicitud

CampoTipoObligatorioDescripción
userNostringSí550W userNo
apiKeystringSíAPI Key
filefileSíMP4/MOV · ≤ 1080p · ≤ 30 min · Tamaño del archivo ≤ 1 GiB

Campos de respuesta

CampoTipoDescripción
codenumberCódigo de resultado; 200 significa éxito
messagestringMensaje de estado
videoUrlstringURL del vídeo subido
coverUrlstringURL de portada del vídeo
widthnumberAncho del vídeo en píxeles
heightnumberAltura del vídeo en píxeles
durationnumberDuración del vídeo en segundos.

Errores del endpoint

codeSignificadoDescripción
-100Error de autenticación o cuotaCausas habituales: userNo · API Key · credits
-200Parámetro no válidoCausas habituales: field · URL · size · duration · Idempotency-Key
-500Error internoCausas habituales: server · retry
POST

/open/submitTask

Eliminación de subtítulos y marcas de agua de vídeo · submitTask

Formato de solicitud: application/x-www-form-urlencoded

Parámetros de solicitud

CampoTipoObligatorioDescripción
userNostringSí550W userNo
apiKeystringSíAPI Key
videoUrlstringSíHTTP(S) URL · ≤ 2048 caracteres
widthnumberSíancho del vídeo · px
heightnumberSíaltura del vídeo · px · max ≤ 1920 · min ≤ 1080
durationnumberSí1–1800 s
x1numberSíarriba a la izquierda X · px
y1numberSíarriba a la izquierda Y · px
x2numberSíabajo a la derecha X · px
y2numberSíabajo a la derecha Y · px · x1 = y1 = x2 = y2 = 0: fotograma completo
modestringNonormal (predeterminado) · protect
fileNamestringNoUTF-8
coverUrlstringNoHTTP(S) URL
callbackUrlstringNoHTTPS webhook · estado final de la tarea
removeAudiobooleanNotrue · false (predeterminado)
Idempotency-Key / idempotencyKeystringRecomendado≤ 128 caracteres · seguro volver a intentarlo

Campos de respuesta

CampoTipoDescripción
codenumberCódigo de resultado; 200 significa éxito
messagestringMensaje de estado
taskIdstringIdentificador de tarea para consultas de estado
statusstringwaiting · processing · success · failed

Errores del endpoint

codeSignificadoDescripción
-100Error de autenticación o cuotaCausas habituales: userNo · API Key · credits
-200Parámetro no válidoCausas habituales: field · URL · size · duration · Idempotency-Key
-300Solicitud rechazadaCausas habituales: taskId · ownership · state
-401Suspensión temporal de la cuentaCausas habituales: Primera infracción efectiva: 1 hora; segunda: 24 horas. Las detecciones durante una suspensión no cuentan, prolongan ni agravan la sanción.
-402Bloqueo permanente de la cuentaCausas habituales: La tercera infracción efectiva bloquea la cuenta permanentemente.
-600Formato de vídeo no compatibleCausas habituales: codec · bit depth · HDR · audio
POST

/open/taskDetail

Eliminación de subtítulos y marcas de agua de vídeo · Estados de tarea

Formato de solicitud: form / query

Parámetros de solicitud

CampoTipoObligatorioDescripción
userNostringSí550W userNo
apiKeystringSíAPI Key
taskIdstringSí1–64 caracteres
subUserIdstringNo≤ 128 caracteres · propiedad del usuario

Campos de respuesta

CampoTipoDescripción
taskIdstringIdentificador de tarea para consultas de estado
statusstringwaiting · processing · success · failed
widthnumberAncho del vídeo en píxeles
heightnumberAltura del vídeo en píxeles
durationnumberDuración del vídeo en segundos.
x1numberx1
y1numbery1
x2numberx2
y2numbery2
modestringmode
costnumberCréditos cobrados por esta tarea
resultUrlstringURL del resultado; válido por 24 horas después de la generación
failCodestringIdentificador de falla estable
failReasonstringRazón del fracaso de la tarea
refundStatusnumberEstado del reembolso de crédito

Errores del endpoint

codeSignificadoDescripción
-100Error de autenticación o cuotaCausas habituales: userNo · API Key · credits
-300Solicitud rechazadaCausas habituales: taskId · ownership · state
-500Error internoCausas habituales: server · retry
POST

/open/taskList

Eliminación de subtítulos y marcas de agua de vídeo · Tareas y cuenta. Las tareas eliminadas están excluidas de taskDetail y taskList. Los valores de estado de la tarea siguen siendo waiting, processing, success o failed.

Formato de solicitud: form / query

Parámetros de solicitud

CampoTipoObligatorioDescripción
userNostringSí550W userNo
apiKeystringSíAPI Key
pagenumberNo≥ 0 · predeterminado 0
sizenumberNo1–100 · predeterminado 20
subUserIdstringNo≤ 128 caracteres · propiedad del usuario

Campos de respuesta

CampoTipoDescripción
totalnumberNúmero de tareas no eliminadas
pagenumberNúmero de página
sizenumberNúmero de tareas por página
listarrayLista de tareas no eliminadas

Errores del endpoint

codeSignificadoDescripción
-100Error de autenticación o cuotaCausas habituales: userNo · API Key · credits
-200Parámetro no válidoCausas habituales: field · URL · size · duration · Idempotency-Key
-500Error internoCausas habituales: server · retry
POST

/open/deleteTask

Eliminar tarea · Marca una tarea de vídeo como eliminada y responde de inmediato. El original subido, el resultado y los archivos de reintento se eliminan después de VOD de forma asíncrona en segundo plano. Los créditos ya cobrados no se reembolsan. Las tareas eliminadas están excluidas de taskDetail y taskList. Los valores de estado de la tarea siguen siendo waiting, processing, success o failed.

Formato de solicitud: form / query

Parámetros de solicitud

CampoTipoObligatorioDescripción
userNostringSí550W userNo
apiKeystringSíAPI Key
taskIdstringSí1–64 caracteres
subUserIdstringNo≤ 128 caracteres · propiedad del usuario

Campos de respuesta

CampoTipoDescripción
codenumberCódigo de resultado; 200 significa éxito
messagestringMensaje de estado

Errores del endpoint

codeSignificadoDescripción
-100Error de autenticación o cuotaCausas habituales: userNo · API Key · credits
-200Parámetro no válidoCausas habituales: field · URL · size · duration · Idempotency-Key
-300Solicitud rechazadaCausas habituales: taskId · ownership · state
-500Error internoCausas habituales: server · retry
POST

/open/removeImageWatermark

Eliminación de marcas de agua de imágenes · removeImageWatermark

Formato de solicitud: multipart/form-data

Parámetros de solicitud

CampoTipoObligatorioDescripción
userNostringSí550W userNo
apiKeystringSíAPI Key
filefileSíJPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB
syncbooleanNotrue (predeterminado) · false
operationIdstringNoidentificador de seguimiento

Campos de respuesta

CampoTipoDescripción
codenumberCódigo de resultado; 200 significa éxito
messagestringMensaje de estado
creditsAfternumberCréditos restantes después del procesamiento
taskobjectResultado del procesamiento o tarea asincrónica

Errores del endpoint

codeSignificadoDescripción
-100Error de autenticación o cuotaCausas habituales: userNo · API Key · credits
-200Parámetro no válidoCausas habituales: field · URL · size · duration · Idempotency-Key
-300Solicitud rechazadaCausas habituales: taskId · ownership · state
-500Error internoCausas habituales: server · retry
POST

/open/imageWatermarkTaskDetail

Eliminación de marcas de agua de imágenes · Estados de tarea

Formato de solicitud: form / query

Parámetros de solicitud

CampoTipoObligatorioDescripción
userNostringSí550W userNo
apiKeystringSíAPI Key
taskIdstringSí1–64 caracteres

Campos de respuesta

CampoTipoDescripción
statusstringwaiting · processing · success · failed
resultUrlstringURL del resultado; válido por 24 horas después de la generación
failCodestringIdentificador de falla estable
failReasonstringRazón del fracaso de la tarea
costnumberCréditos cobrados por esta tarea
expiredTimestringTiempo de vencimiento de la URL del resultado

Errores del endpoint

codeSignificadoDescripción
-100Error de autenticación o cuotaCausas habituales: userNo · API Key · credits
-300Solicitud rechazadaCausas habituales: taskId · ownership · state
-500Error internoCausas habituales: server · retry
POST

/open/queryCredits

Tareas y cuenta · credits

Formato de solicitud: form / query

Parámetros de solicitud

CampoTipoObligatorioDescripción
userNostringSí550W userNo
apiKeystringSíAPI Key

Campos de respuesta

CampoTipoDescripción
codenumberCódigo de resultado; 200 significa éxito
messagestringMensaje de estado
userNostringIdentificador de usuario
creditsnumberCréditos disponibles

Errores del endpoint

codeSignificadoDescripción
-100Error de autenticación o cuotaCausas habituales: userNo · API Key · credits
-500Error internoCausas habituales: server · retry

Campos comunes de solicitud

CampoObligatorioDescripción
userNoSí550W userNo
apiKeySíAPI Key
Idempotency-KeyRecomendado≤ 128 · retry-safe
callbackUrlNoHTTPS webhook · final status

Campos de la tarea de vídeo

CampoTipoDescripción
videoUrlstringHTTP(S) URL · ≤ 2048 caracteres
widthnumberancho del vídeo · px
heightnumberaltura del vídeo · px · max ≤ 1920 · min ≤ 1080
durationnumber1–1800 s
x1numberarriba a la izquierda X · px
y1numberarriba a la izquierda Y · px
x2numberabajo a la derecha X · px
y2numberabajo a la derecha Y · px · x1 = y1 = x2 = y2 = 0: fotograma completo
modestringnormal (predeterminado) · protect
removeAudiobooleantrue · false (predeterminado)

Respuesta y estado de la tarea

Las respuestas incluyen code y message. Las tareas pasan por waiting y processing hasta success o failed. Si finalizan correctamente, usa resultUrl; si fallan, revisa failCode. Los archivos de resultado caducan.

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

Códigos de error

CodeSignificadoCausas habituales
200Correctomessage: "success"
-100Error de autenticación o cuotauserNo · API Key · credits
-200Parámetro no válidofield · URL · size · duration · Idempotency-Key
-300Solicitud rechazadataskId · ownership · state
-401Suspensión temporal de la cuentaPrimera infracción efectiva: 1 hora; segunda: 24 horas. Las detecciones durante una suspensión no cuentan, prolongan ni agravan la sanción.
-402Bloqueo permanente de la cuentaLa tercera infracción efectiva bloquea la cuenta permanentemente.
-500Error internoserver · retry
-600Formato de vídeo no compatiblecodec · bit depth · HDR · audio

Identificadores de fallas de tareas (failCode)

failCode es un identificador de cadena, no el code numérico. Aparece sólo cuando falla una tarea. Utilice failCode para determinar la causa; no analice el mensaje failReason traducido.

failCodeSignificado
VIDEO_UNREACHABLELa URL del vídeo no es de acceso público.
VIDEO_METADATA_UNAVAILABLENo se pudieron obtener metadatos de vídeo confiables.
VIDEO_RESOLUTION_UNSUPPORTEDLa resolución de vídeo medida excede el rango admitido
VIDEO_DURATION_UNSUPPORTEDLa duración medida del vídeo supera los 30 minutos.
VIDEO_CODEC_UNSUPPORTEDEl códec de vídeo no es compatible.
VIDEO_BIT_DEPTH_UNSUPPORTEDLa profundidad de bits del vídeo no es compatible
VIDEO_HDR_UNSUPPORTEDHDR, PQ o HLG no son compatibles
VIDEO_AUDIO_UNSUPPORTEDEl códec de audio no es compatible.
VIDEO_CONTAINER_UNSUPPORTEDEl formato contenedor de vídeo no es compatible.
VIDEO_PREPARE_FAILEDError en la preparación del vídeo, la validación o la eliminación del audio

Copiar ejemplo y llamar

/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}
  )

Uso y facturación

La eliminación de subtítulos de vídeo se factura según la duración y la resolución. Las imágenes cuestan 10 créditos por tarea completada; los fallos de procesamiento no se cobran.

Resolución de vídeoTarifaEjemplo
width × height ≤ 921,600 · 720p o inferior1.3 créditos / s1280×720 · 30 s ≈ 39 créditos
width × height > 921,600 · Hasta 1080p1.6 créditos / s1920×1080 · 30 s ≈ 48 créditos

Las consultas de tareas solo devuelven datos del usuario autenticado.

Gestiona los errores con code, message, status, failCode y refundStatus.

Comprar créditos

La eliminación de subtítulos de vídeo se factura según la duración y la resolución. Las imágenes cuestan 10 créditos por tarea completada; los fallos de procesamiento no se cobran.

Precios →