WAPI de Weydub

Referencia de la API

Referencia de la API

Esta referencia ofrece a desarrolladores y agentes de automatización un único lugar conciso donde consultar los endpoints de la API de Weydub, las comprobaciones de acceso, la estructura de las solicitudes, el comportamiento asíncrono, las reglas de facturación y retención y las señales para solucionar problemas.

Fundamentos de las solicitudes

ElementoValor
URL basehttps://api.zhaoli.com
ProtocoloHTTPS
MétodoPOST para las llamadas a la API documentadas
CodificaciónUTF-8
Tipo de contenidoapplication/json
AutenticaciónEncabezados AppKey y AppSign, excepto en los endpoints marcados explícitamente como no firmados

Es posible que algunos nombres de infraestructura heredada sigan apareciendo en recursos públicos de demostración o en rutas antiguas de cuentas. Considera esta documentación de la API de Weydub como el contrato vigente de cara al producto.

Antes de realizar una llamada

ComprobaciónQué debes confirmarPor qué es importante
Acceso a la APITu cuenta de Weydub con sesión iniciada puede activar gratis el acceso a la API; confirma los permisos específicos del flujo cuando sea necesario.Algunas familias de tareas, especialmente la traducción de imágenes y el doblaje de gran carga emocional, pueden habilitarse por cuenta.
CredencialesTienes AppKey y AppSecret, almacenados como secretos del backend.AppSecret nunca debe aparecer en código frontend, repositorios públicos, registros, capturas de pantalla ni prompts.
URL de contenido multimediaLos archivos de origen son accesibles públicamente y permanecen estables durante el periodo de procesamiento.Los workers de Weydub necesitan descargar el contenido multimedia de origen antes de procesarlo.
URL de callbackLos callbacks de producción devuelven HTTP 200 y un cuerpo no vacío solo después de completar el almacenamiento duradero.Las tareas asíncronas pueden finalizar después de que se haya devuelto la solicitud original.
Almacenamiento de resultadosTu servicio almacena los ID de trabajo, los ID de tarea, el estado, las URL de resultados y los errores.Los recursos generados pueden estar sujetos a la política de retención, así que copia rápidamente las referencias duraderas.

Autenticación

La mayoría de las solicitudes usan estos encabezados:

text
Content-Type: application/json
AppKey: $WEYDUB_APP_KEY
AppSign: md5(md5(request_body) + $WEYDUB_APP_SECRET)

Firma el cuerpo JSON compacto exacto que se enviará. Lee Autenticación y firma antes de depurar errores de firma.

Excepción sin firma:

text
POST /v-w-c/enum/query2

El endpoint de consulta de enumeraciones se utiliza para obtener listas dinámicas de idiomas y estados y no requiere firma.

Índice de endpoints

MétodoRutaFamiliaFinalidadNotas de acceso
POST/v-w-c/gateway/ve/work/freeVídeoCrea la mayoría de las tareas de vídeo: eliminación de subtítulos/texto, traducción de vídeo, extracción OCR de subtítulos, extracción ASR y renderizado de subtítulos.Requiere acceso principal a la API.
POST/v-w-c/gateway/ve/work/statusVídeoConsulta el estado y los campos de resultados de tareas de vídeo mediante ID de trabajo.Úsalo después de crear una tarea o como alternativa al callback.
POST/v-w-c/gateway/ve/work/listVídeoConsulta el historial de tareas de vídeo.Útil para paneles internos y conciliación.
POST/v-w-c/gateway/ve/work/video/inpaint/redoVídeoRepite la eliminación de texto/relleno generativo con máscaras ajustadas.Requiere el contexto de un trabajo o una tarea existente.
POST/v-w-c/gateway/ve/work/translationPro/redoVídeoRepite la traducción/el doblaje con ajustes en los subtítulos, la sincronización o la configuración de voz.Requiere el contexto de una tarea de traducción existente.
POST/v-w-c/gateway/ve/work/voice/incorporateVídeoCrea tareas de clonación de voz y doblaje de gran carga emocional.Confirma el permiso de la cuenta antes de dirigir tráfico de producción.
POST/v-w-c/gateway/ve/image/translateImagenCrea una tarea de eliminación o traducción de texto en imágenes.Puede requerir permiso para el flujo de imágenes tras activar el acceso gratuito a la API.
POST/v-w-c/gateway/ve/image/translate/redoImagenVuelve a generar una tarea de imagen después de editar los metadatos de texto/estilo del resultado.Requiere un ID de tarea de imagen existente y el JSON del resultado.
POST/v-w-c/ve/image/translate/task/launchImagen heredada/webCrea una única tarea de imagen en flujos antiguos de cuenta o web.Úsalo solo cuando esté confirmado para la cuenta.
POST/v-w-c/ve/image/translate/task/launch2Imagen heredada/webCrea una tarea de imagen por lotes en flujos antiguos de cuenta o web.Confirma los límites de los lotes y la política de callbacks.
POST/v-w-c/ve/image/translate/task/queryImagen heredada/webConsulta una tarea de imagen en flujos antiguos de cuenta o web.Consulta hasta alcanzar un estado final antes de leer los resultados.
POST/v-w-c/enum/query2UtilidadConsulta enumeraciones dinámicas, como estados y listas de idiomas.No requiere firma.

Crear una tarea de vídeo

text
POST /v-w-c/gateway/ve/work/free

Flujos habituales que usan este endpoint:

FlujoSeñal requeridaPágina inicial
Eliminación de subtítulos/textoneedChineseOcclude: 1, 2 o 3; Advanced Lite/Pro mediante extraOptions.extra_inpaint_configEliminación de subtítulos y texto de vídeo
Traducción/doblaje de vídeoneedWanyin: 1, sourceLang, lang, wyTaskTypeTraducción de vídeo
Traducción de texto en pantallaneedChineseOcclude: 11, sourceLang, lang, videoInpaintLangTraducción de vídeo
Extracción OCR de subtítulosneedChineseOcclude: 14, videoInpaintMasks, videoInpaintLangExtracción de subtítulos
Extracción ASR de subtítulosneedWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0Extracción de subtítulos

Solicitud mínima:

json
{
  "urls": ["https://example.com/demo.mp4"],
  "needChineseOcclude": 1,
  "videoInpaintLang": "all",
  "callback": "https://your-domain.example/webhooks/weydub"
}

Campos habituales de la respuesta de creación:

CampoSignificado
idProjectID del lote/proyecto.
dataList[].idID del trabajo para consultar el estado y asociar callbacks.
dataList[].urlURL de origen aceptada para su procesamiento.

Consultar el estado de un vídeo

text
POST /v-w-c/gateway/ve/work/status
json
{
  "idWorks": [488026661]
}

Valores de estado:

processStatusSignificadoComportamiento del cliente
< 1En proceso.Vuelve a consultar más tarde o espera al callback.
1Completado correctamente.Lee las URL de resultados y guárdalas.
> 1Fallido.Muestra errorDetail. Las tareas fallidas no descuentan créditos.

Las tareas de vídeo completadas pueden incluir videoUrl, coverUrl, srcSrtUrl, tgtSrtUrl, sourceVideoUrl, ttsMetaResult, wyVoiceParam y metadatos de la tarea.

Tareas de imagen

Endpoint público actual de creación:

text
POST /v-w-c/gateway/ve/image/translate

Endpoint para repetir:

text
POST /v-w-c/gateway/ve/image/translate/redo

Solicitud de traducción de imagen:

json
{
  "srcLang": "en",
  "tgtLang": "es",
  "translateOn": 1,
  "synthesisOn": 1,
  "commodityFilterOn": 0,
  "downloadInfo": "{\"url\":\"https://example.com/product.png\",\"fileName\":\"product.png\",\"id\":12345,\"materialName\":\"product.png\"}",
  "app": "WD"
}

Solicitud de eliminación de texto de imagen:

json
{
  "srcLang": "en",
  "tgtLang": "en",
  "translateOn": 0,
  "synthesisOn": 1,
  "commodityFilterOn": 0,
  "downloadInfo": "{\"url\":\"https://example.com/banner.png\",\"fileName\":\"banner.png\",\"id\":12346,\"materialName\":\"banner.png\"}",
  "app": "WD"
}

Lee Traducción de imágenes antes de implementar tareas de imagen, porque downloadInfo, downloadInfos y el result de una repetición deben mantener la estructura de cadena documentada.

Consulta de enumeraciones

text
POST /v-w-c/enum/query2

Este endpoint no requiere AppSign.

json
{
  "text": "Lang"
}

Nombres habituales de enumeraciones:

textFinalidad
ProcessStatusCódigos de estado de tareas de vídeo.
ImageTaskStatusCódigos de estado de tareas de imagen.
sourceLangLista de idiomas de origen para la traducción de vídeo.
LangLista de idiomas de destino para la traducción de vídeo.
musicRegionLista de regiones para música inteligente cuando esté disponible.

Facturación, límites y retención

TemaRegla
Duración del vídeoEl límite estricto actual es de 15 minutos por archivo de vídeo. Divide el contenido más largo en segmentos de menos de 15 minutos, por ejemplo 14:59, para evitar problemas de redondeo de la duración.
Tamaño del vídeoEl límite estricto actual es de 1000 MB por archivo de vídeo. Comprime los archivos demasiado grandes antes de enviarlos.
Límites de imagenMáximo de 2000*2000 px y 50 MB; formatos compatibles: png, jpeg, jpg, bmp, webp. Las URL de imágenes no deben contener caracteres chinos.
Unidad de facturaciónLos flujos de vídeo se facturan en unidades de 30 segundos. Un vídeo de menos de 30 segundos cuenta como 30 segundos.
Servicios combinadosCombinar servicios como la eliminación de texto y la traducción de voz puede acumular costes.
Tareas fallidasLas tareas cuyo estado final sea fallido (processStatus > 1) no descuentan créditos.
RetenciónLos datos generados mediante la API siguen las reglas de retención web de Weydub. De forma predeterminada, se conservan los archivos de origen y los resultados renderizados de los últimos 30 días. Descarga y almacena los recursos importantes después del callback.
CRFEl CRF de vídeo predeterminado es 17, visualmente sin pérdidas para la mayoría de las distribuciones. Es posible que haya valores más bajos, como 15 o 16, disponibles mediante extraOptions.write_options, lo que puede añadir cargos por ancho de banda/almacenamiento.

Resumen de callbacks

Incluye una URL callback en las solicitudes de creación cuando sea compatible. Weydub envía directamente el elemento de trabajo completado a tu servidor, sin el envoltorio externo code / msg / body usado por las respuestas de consulta periódica.

Reglas para gestionar callbacks:

  • Verifica Callback-Sign con el cuerpo sin procesar de la solicitud de callback y tu AppSecret.
  • Devuelve HTTP 200 y cualquier cuerpo no vacío solo después de completar correctamente el almacenamiento duradero.
  • Haz que los controladores sean idempotentes mediante el ID de trabajo/tarea.
  • Los callbacks fallidos de tareas creadas en las últimas 24 horas se reintentan aproximadamente cada 30 minutos.
  • Si una repetición cambia el contenido de vídeo o imagen, la URL de salida puede cambiar; almacena la URL del resultado más reciente.

Lee Modelo de tarea asíncrona para obtener información detallada sobre los callbacks.

Solución de problemas

SíntomaCausa probableComprobación
Error de firmaLos bytes del cuerpo cambiaron después de firmarlo, o se firmó un JSON con formato legible y se envió un JSON compacto.Registra un hash no secreto del cuerpo y compara las rutas de código de firma y envío.
Tarea creada pero sin resultadoEl procesamiento asíncrono aún está en curso.Consulta /v-w-c/gateway/ve/work/status o espera al callback.
Falta la URL de salidaModo de flujo incorrecto o tarea no finalizada.Confirma processStatus === 1 e inspecciona los campos de salida específicos del flujo.
El callback no aparece reflejado en tu aplicaciónEl controlador respondió antes de completar el almacenamiento duradero, no superó la verificación de firma o no asoció el ID de trabajo.Almacena la carga útil sin procesar del callback, compara Callback-Sign y haz que las actualizaciones sean idempotentes.
Endpoint no disponibleEl permiso de la cuenta no está activado.Confirma el acceso a la API para la familia de tareas específica.
Error de límite estricto de vídeoEl vídeo dura más de 15 minutos o supera los 1000 MB.Segmenta o comprime antes de enviarlo.
Error de límite estricto de imagenLa imagen supera 2000*2000 px o 50 MB, no tiene un formato compatible o su URL contiene caracteres chinos.Cambia el tamaño, vuelve a comprimir, cambia el nombre/codifica la URL y reintenta.

Contrato para agentes

Los agentes de automatización deben:

  • Cargar llms.txt y Weydub API Skill.
  • Usar Escenarios de demostración antes de procesar contenido multimedia de clientes.
  • Mantener las credenciales en variables de entorno o en un gestor de secretos.
  • Guardar los ID antes de informar del éxito a los usuarios.
  • Modelar las tareas como submitted -> processing -> succeeded | failed | timed_out.
  • No exponer nunca AppSecret ni inventar endpoints habilitados.