WWeydub API

référence API

Référence API

Cette référence offre aux développeurs et aux agents d’automatisation un emplacement unique et compact où trouver les points de terminaison de l’API Weydub, les contrôles d’accès, la structure des requêtes, le comportement asynchrone, les règles de facturation et de conservation, ainsi que les signaux de dépannage.

Principes de base des requêtes

ÉlémentValeur
URL de basehttps://api.zhaoli.com
ProtocoleHTTPS
MéthodePOST pour les appels API documentés
EncodageUTF-8
Type de contenuapplication/json
AuthentificationEn-têtes AppKey et AppSign, sauf pour les endpoints explicitement marqués comme non signés

Certains noms d’infrastructure hérités peuvent encore apparaître dans des ressources de démonstration publiques ou d’anciens chemins de compte. Considérez cette documentation de l’API Weydub comme le contrat actuel de référence pour le produit.

Avant l’appel

VérificationÉléments à confirmerPourquoi c’est important
Accès APIVotre compte Weydub connecté peut bénéficier de l’accès API gratuit ; confirmez les droits spécifiques au workflow lorsque nécessaire.Certaines familles de tâches, notamment la traduction d’images et le doublage à forte intensité émotionnelle, peuvent être provisionnées par compte.
IdentifiantsVous disposez de AppKey et AppSecret, stockés comme secrets côté backend.AppSecret ne doit jamais apparaître dans du code front-end, des dépôts publics, des journaux, des captures d’écran ou des invites.
URL des médiasLes fichiers source sont accessibles publiquement et restent disponibles pendant la fenêtre de traitement.Les workers Weydub doivent télécharger les médias source avant le traitement.
URL de callbackLes callbacks de production renvoient HTTP 200 ainsi qu’un corps non vide uniquement après un stockage durable.Les tâches asynchrones peuvent se terminer après le retour de la requête d’origine.
Stockage des résultatsVotre service stocke les identifiants de travail, les identifiants de tâche, le statut, les URL de résultats et les erreurs.Les ressources générées peuvent être soumises à une politique de conservation ; copiez donc rapidement les références durables.

Authentification

La plupart des requêtes utilisent des en-têtes :

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

Signez exactement le corps JSON compact qui sera envoyé. Consultez Authentification et signature avant de diagnostiquer les échecs de signature.

Exception non signée :

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

L’endpoint de requête des énumérations est utilisé pour les listes dynamiques de langues et de statuts et ne nécessite pas de signature.

Index des endpoints

MéthodeCheminFamilleFonctionRemarques sur l’accès
POST/v-w-c/gateway/ve/work/freeVidéoCréer la plupart des tâches vidéo : suppression de sous-titres/texte, traduction vidéo, extraction de sous-titres OCR, extraction ASR et rendu des sous-titres.Accès API principal requis.
POST/v-w-c/gateway/ve/work/statusVidéoInterroger le statut des tâches vidéo et les champs de résultat à partir des identifiants de travail.À utiliser après la création de la tâche ou comme solution de repli du callback.
POST/v-w-c/gateway/ve/work/listVidéoInterroger l’historique des tâches vidéo.Utile pour les tableaux de bord internes et le rapprochement.
POST/v-w-c/gateway/ve/work/video/inpaint/redoVidéoRefaire la suppression de texte/l’inpainting avec des masques ajustés.Nécessite un contexte de travail/tâche existant.
POST/v-w-c/gateway/ve/work/translationPro/redoVidéoRefaire la traduction/le doublage avec des sous-titres, un minutage ou des paramètres vocaux ajustés.Nécessite le contexte d’une tâche de traduction existante.
POST/v-w-c/gateway/ve/work/voice/incorporateVidéoCréer des tâches de clonage vocal et de doublage à forte intensité émotionnelle.Confirmez les droits du compte avant de connecter le trafic de production.
POST/v-w-c/gateway/ve/image/translateImageCréer une tâche de suppression de texte dans une image ou de traduction d’image.Un droit associé au workflow d’image peut être requis après l’accès API gratuit.
POST/v-w-c/gateway/ve/image/translate/redoImageRégénérer une tâche d’image après modification des métadonnées de texte/style du résultat.Nécessite ID de tâche d’image existante et JSON de résultat.
POST/v-w-c/ve/image/translate/task/launchImage héritée/webCréer une tâche d’image unique dans d’anciens comptes ou workflows web.À utiliser uniquement après confirmation pour le compte concerné.
POST/v-w-c/ve/image/translate/task/launch2Image héritée/webCréer une tâche d’image par lot dans d’anciens comptes ou workflows web.Confirmez les limites de lot et la politique de callback.
POST/v-w-c/ve/image/translate/task/queryImage héritée/webInterroger une tâche d’image dans d’anciens comptes ou workflows web.Effectuez des interrogations jusqu’à l’obtention d’un statut terminal avant de lire les sorties.
POST/v-w-c/enum/query2UtilitaireInterroger les énumérations dynamiques telles que les statuts et les listes de langues.Aucune signature requise.

Créer une tâche vidéo

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

Workflows courants utilisant cet endpoint :

WorkflowSignal requisPage de démarrage
Suppression des sous-titres/du texteneedChineseOcclude: 1, 2 ou 3 ; Advanced Lite/Pro via extraOptions.extra_inpaint_configSuppression des sous-titres et du texte vidéo
Traduction/doublage vidéoneedWanyin: 1, sourceLang, lang, wyTaskTypeTraduction vidéo
Traduction du texte à l’écranneedChineseOcclude: 11, sourceLang, lang, videoInpaintLangTraduction vidéo
Extraction des sous-titres OCRneedChineseOcclude: 14, videoInpaintMasks, videoInpaintLangExtraction des sous-titres
Extraction des sous-titres ASRneedWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0Extraction des sous-titres

Requête minimale :

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

Champs généralement présents dans la réponse de création :

ChampSignification
idProjectID du lot/projet.
dataList[].idID de travail pour l’interrogation de l’état et la mise en correspondance des callbacks.
dataList[].urlURL source acceptée pour le traitement.

Interroger l’état d’une vidéo

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

Valeurs d’état :

processStatusSignificationComportement du client
< 1En cours de traitement.Interrogez ultérieurement ou attendez le callback.
1Réussite.Lisez les URL des résultats et conservez-les.
> 1Échec.Présentez errorDetail. Les tâches ayant échoué ne déduisent aucun crédit.

Les tâches vidéo réussies peuvent inclure videoUrl, coverUrl, srcSrtUrl, tgtSrtUrl, sourceVideoUrl, ttsMetaResult, wyVoiceParam ainsi que les métadonnées de la tâche.

Tâches d’image

Point de terminaison public actuel pour la création :

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

Point de terminaison pour recommencer :

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

Requête de traduction d’image :

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"
}

Requête de suppression de texte d’une image :

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"
}

Lisez Traduction d’image avant d’implémenter des tâches d’image, car downloadInfo, downloadInfos et result pour recommencer doivent conserver la structure de chaîne documentée.

Interrogation des énumérations

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

Ce point de terminaison ne nécessite pas AppSign.

json
{
  "text": "Lang"
}

Noms d’énumération courants :

textFonction
ProcessStatusCodes d’état des tâches vidéo.
ImageTaskStatusCodes d’état des tâches d’image.
sourceLangListe des langues sources pour la traduction vidéo.
LangListe des langues cibles pour la traduction vidéo.
musicRegionListe des régions de musique intelligente lorsqu’elles sont prises en charge.

Facturation, limites et conservation

SujetRègle
Durée de la vidéoLa limite stricte actuelle est de 15 minutes par fichier vidéo. Divisez les fichiers multimédias plus longs en segments de moins de 15 minutes, par exemple de 14:59, afin d’éviter les problèmes d’arrondi de la durée.
Taille de la vidéoLa limite stricte actuelle est de 1000 MB par fichier vidéo. Compressez les fichiers trop volumineux avant leur envoi.
Limites applicables aux images2000*2000 px maximum, 50 MB maximum, formats pris en charge : png, jpeg, jpg, bmp, webp ; les URL d’image ne doivent pas contenir de caractères chinois.
Unité de facturationLes flux de traitement vidéo sont facturés par unités de 30 secondes. Une vidéo de moins de 30 secondes est comptabilisée comme 30 secondes.
Services combinésLa combinaison de services tels que la suppression de texte et la traduction vocale peut entraîner un cumul des coûts.
Tâches échouéesLes tâches définitivement échouées (processStatus > 1) ne déduisent aucun crédit.
ConservationLes données générées par l’API sont soumises aux règles de conservation du site web Weydub. Par défaut, les fichiers source et les sorties rendues des 30 derniers jours sont conservés. Téléchargez et stockez les ressources importantes après le callback.
CRFLa CRF vidéo par défaut est 17, avec une qualité visuellement sans perte pour la plupart des usages. Des valeurs inférieures, telles que 15 ou 16, peuvent être disponibles via extraOptions.write_options et entraîner des frais supplémentaires de bande passante et de stockage.

Récapitulatif des callbacks

Incluez un callback URL dans les requêtes de création lorsque cette option est prise en charge. Weydub envoie directement l’élément de travail terminé à votre serveur, sans l’enveloppe externe code / msg / body utilisée par les réponses d’interrogation.

Règles de gestion des callbacks :

  • Vérifiez Callback-Sign à l’aide du corps brut de la requête de callback et de votre AppSecret.
  • Renvoyez HTTP 200 ainsi qu’un corps non vide uniquement une fois le stockage durable effectué avec succès.
  • Rendez les gestionnaires idempotents en utilisant l’ID du travail ou de la tâche.
  • Les callbacks échoués pour les tâches créées au cours des dernières 24 heures sont retentés environ toutes les 30 minutes.
  • Si une nouvelle exécution modifie le contenu vidéo ou image, l’URL de sortie peut changer ; stockez l’URL du résultat le plus récent.

Consultez Modèle de tâche asynchrone pour plus de détails sur les callbacks.

Dépannage

SymptômeCause probableVérification
Erreur de signatureLes octets du corps ont été modifiés après la signature, ou un JSON mis en forme a été signé alors qu’un JSON compact a été envoyé.Consignez un hachage non secret du corps et comparez les chemins de code de signature et d’envoi.
Tâche créée, mais aucun résultatLe traitement asynchrone est toujours en cours.Interrogez /v-w-c/gateway/ve/work/status ou attendez le callback.
URL de sortie manquantMode de workflow incorrect ou tâche non terminée.Confirmez processStatus === 1 et examinez les champs de sortie propres au workflow.
Le callback n’est pas répercuté dans votre applicationLe gestionnaire a renvoyé une réponse avant le stockage durable, la vérification de signature a échoué ou le travail ne correspondait pas à ID.Stockez la charge utile brute du callback, comparez Callback-Sign et rendez les mises à jour idempotentes.
Endpoint indisponibleLe droit d’accès du compte n’est pas activé.Confirmez l’accès API pour la famille de tâches concernée.
Erreur de limite stricte pour la vidéoLa vidéo dure plus de 15 minutes ou dépasse 1000 MB.Segmentez ou compressez la vidéo avant de l’envoyer.
Erreur de limite stricte pour l’imageL’image dépasse 2000*2000 px, dépasse 50 MB, n’est pas prise en charge ou si l’URL contient des caractères chinois.Redimensionnez, recompressez, renommez ou encodez l’URL, puis réessayez.

Contrat de l’agent

Les agents d’automatisation doivent :

  • Charger llms.txt et la compétence API de Weydub.
  • Utiliser les scénarios de démonstration avant les médias des clients.
  • Conserver les identifiants dans des variables d’environnement ou dans un gestionnaire de secrets.
  • Enregistrer les identifiants avant de signaler la réussite aux utilisateurs.
  • Modéliser les tâches comme submitted -> processing -> succeeded | failed | timed_out.
  • Ne jamais exposer AppSecret ni inventer d’endpoints activés.