WAPI Weydub

Riferimento API

Riferimento API

Questo riferimento offre a sviluppatori e agenti di automazione un unico punto di consultazione compatto in cui trovare gli endpoint API di Weydub, i controlli di accesso, la struttura delle richieste, il comportamento asincrono, le regole di fatturazione e conservazione e gli indicatori per la risoluzione dei problemi.

Nozioni di base sulle richieste

ElementoValore
URL di basehttps://api.zhaoli.com
ProtocolloHTTPS
MetodoPOST per le chiamate API documentate
CodificaUTF-8
Tipo di contenutoapplication/json
AutenticazioneIntestazioni AppKey e AppSign, tranne per gli endpoint esplicitamente contrassegnati come privi di firma

Alcuni nomi dell'infrastruttura legacy potrebbero ancora comparire nelle risorse demo pubbliche o nei percorsi degli account meno recenti. Considerare questa documentazione API di Weydub come il contratto attualmente valido per il prodotto.

Prima di effettuare una chiamata

ControlloChe cosa verificarePerché è importante
Accesso APIL'account Weydub con cui hai effettuato l'accesso può attivare gratuitamente l'accesso API; quando necessario, verifica le abilitazioni specifiche del flusso di lavoro.Alcune famiglie di attività, in particolare la traduzione di immagini e il doppiaggio ad alta espressività emotiva, possono essere abilitate per singolo account.
CredenzialiDisponi di AppKey e AppSecret, archiviati come segreti del backend.AppSecret non deve mai comparire nel codice frontend, nei repository pubblici, nei log, negli screenshot o nei prompt.
URL dei contenuti multimedialiI file di origine sono raggiungibili pubblicamente e stabili per l'intera finestra di elaborazione.I sistemi di elaborazione di Weydub devono scaricare i contenuti multimediali di origine prima dell'elaborazione.
URL di callbackLe callback di produzione restituiscono HTTP 200 e un corpo non vuoto solo dopo l'archiviazione persistente.Le attività asincrone possono completarsi dopo che la richiesta originale ha già ricevuto risposta.
Archiviazione dei risultatiIl tuo servizio archivia gli ID delle elaborazioni, gli ID delle attività, lo stato, gli URL dei risultati e gli errori.Le risorse generate possono essere soggette ai criteri di conservazione, quindi copia rapidamente i riferimenti permanenti.

Autenticazione

La maggior parte delle richieste usa le seguenti intestazioni:

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

Firma il corpo JSON compatto esattamente come verrà inviato. Leggi Autenticazione e firma prima di eseguire il debug degli errori di firma.

Eccezione senza firma:

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

L'endpoint di interrogazione delle enumerazioni viene utilizzato per gli elenchi dinamici di lingue e stati e non richiede la firma.

Indice degli endpoint

MetodoPercorsoFamigliaScopoNote sull'accesso
POST/v-w-c/gateway/ve/work/freeVideoCreare la maggior parte delle attività video: rimozione di sottotitoli/testo, traduzione video, estrazione OCR dei sottotitoli, estrazione ASR e rendering dei sottotitoli.È richiesto l'accesso API di base.
POST/v-w-c/gateway/ve/work/statusVideoInterrogare lo stato delle attività video e i campi dei risultati in base agli ID delle elaborazioni.Utilizzare dopo la creazione dell'attività o come alternativa alla callback.
POST/v-w-c/gateway/ve/work/listVideoConsultare lo storico delle attività video.Utile per dashboard interne e riconciliazione.
POST/v-w-c/gateway/ve/work/video/inpaint/redoVideoRipetere la rimozione del testo o l'inpainting con maschere modificate.Richiede un contesto di elaborazione/attività esistente.
POST/v-w-c/gateway/ve/work/translationPro/redoVideoRipetere la traduzione o il doppiaggio con sottotitoli, tempistiche o impostazioni vocali modificati.Richiede il contesto di un'attività di traduzione esistente.
POST/v-w-c/gateway/ve/work/voice/incorporateVideoCreare attività di clonazione vocale e doppiaggio ad alta espressività emotiva.Verificare l'abilitazione dell'account prima di instradare il traffico di produzione.
POST/v-w-c/gateway/ve/image/translateImmagineCreare un'attività di rimozione del testo da un'immagine o di traduzione di un'immagine.Potrebbe essere necessaria l'abilitazione al flusso di lavoro per le immagini dopo aver ottenuto l'accesso gratuito API.
POST/v-w-c/gateway/ve/image/translate/redoImmagineRigenerare un'attività immagine dopo aver modificato il testo del risultato o i metadati dello stile.Richiede l'ID di un'attività immagine esistente e il JSON del risultato.
POST/v-w-c/ve/image/translate/task/launchImmagine legacy/webCreare una singola attività immagine nei flussi web o degli account meno recenti.Utilizzare solo se confermato per l'account.
POST/v-w-c/ve/image/translate/task/launch2Immagine legacy/webCreare un'attività batch per immagini nei flussi web o degli account meno recenti.Verificare i limiti dei batch e la politica di callback.
POST/v-w-c/ve/image/translate/task/queryImmagine legacy/webInterrogare una singola attività immagine nei flussi web o degli account meno recenti.Eseguire il polling fino al raggiungimento di uno stato finale prima di leggere i risultati.
POST/v-w-c/enum/query2UtilitàInterrogare enumerazioni dinamiche, ad esempio gli elenchi degli stati e delle lingue.Non è richiesta alcuna firma.

Creare un'attività video

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

Flussi di lavoro comuni che utilizzano questo endpoint:

Flusso di lavoroSegnale richiestoPagina iniziale
Rimozione di sottotitoli/testoneedChineseOcclude: 1, 2 o 3; Advanced Lite/Pro tramite extraOptions.extra_inpaint_configRimozione di sottotitoli e testo dai video
Traduzione/doppiaggio videoneedWanyin: 1, sourceLang, lang, wyTaskTypeTraduzione video
Traduzione del testo sullo schermoneedChineseOcclude: 11, sourceLang, lang, videoInpaintLangTraduzione video
Estrazione dei sottotitoli tramite OCRneedChineseOcclude: 14, videoInpaintMasks, videoInpaintLangEstrazione dei sottotitoli
Estrazione dei sottotitoli tramite ASRneedWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0Estrazione dei sottotitoli

Richiesta minima:

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

Campi tipici della risposta alla creazione:

CampoSignificato
idProjectID del batch/progetto.
dataList[].idID del lavoro per il polling dello stato e la correlazione con la callback.
dataList[].urlURL di origine accettato per l'elaborazione.

Interrogazione dello stato del video

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

Valori di stato:

processStatusSignificatoComportamento del client
< 1In elaborazione.Eseguire il polling in seguito o attendere la callback.
1Operazione riuscita.Leggere gli URL dei risultati e salvarli in modo persistente.
> 1Operazione non riuscita.Mostrare errorDetail. Le attività non riuscite non comportano alcuna detrazione di crediti.

Le attività video completate correttamente possono includere videoUrl, coverUrl, srcSrtUrl, tgtSrtUrl, sourceVideoUrl, ttsMetaResult, wyVoiceParam e i metadati dell'attività.

Attività relative alle immagini

Endpoint pubblico attuale per la creazione:

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

Endpoint di riesecuzione:

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

Richiesta di traduzione dell'immagine:

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

Richiesta di rimozione del testo dall'immagine:

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

Leggere Traduzione delle immagini prima di implementare le attività relative alle immagini, poiché downloadInfo, downloadInfos e result per la riesecuzione devono mantenere il formato stringa documentato.

Interrogazione degli enum

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

Questo endpoint non richiede AppSign.

json
{
  "text": "Lang"
}

Nomi comuni degli enum:

textScopo
ProcessStatusCodici di stato delle attività video.
ImageTaskStatusCodici di stato delle attività relative alle immagini.
sourceLangElenco delle lingue di origine per la traduzione video.
LangElenco delle lingue di destinazione per la traduzione video.
musicRegionElenco delle regioni per la musica intelligente, laddove supportata.

Fatturazione, limiti e conservazione

ArgomentoRegola
Durata del videoIl limite massimo attuale è di 15 minuti per file video. Suddividere i contenuti multimediali più lunghi in segmenti di durata inferiore a 15 minuti, ad esempio 14:59, per evitare problemi di arrotondamento della durata.
Dimensione del videoIl limite massimo attuale è di 1000 MB per file video. Comprimere i file di dimensioni eccessive prima dell'invio.
Limiti delle immaginiLimite massimo 2000*2000 px, limite massimo 50 MB, formati supportati png, jpeg, jpg, bmp, webp; gli URL delle immagini non devono contenere caratteri cinesi.
Unità di fatturazioneI flussi di lavoro video sono fatturati in unità da 30 secondi. Un video di durata inferiore a 30 secondi viene conteggiato come 30 secondi.
Servizi combinatiLa combinazione di servizi, come la rimozione del testo e la traduzione vocale, può comportare costi cumulativi.
Attività non riusciteLe attività con esito negativo definitivo (processStatus > 1) non detraggono alcun credito.
ConservazioneI dati generati dall'API seguono le regole di conservazione web di Weydub. Per impostazione predefinita, vengono conservati i file sorgente e gli output renderizzati degli ultimi 30 giorni. Scaricare e archiviare le risorse importanti dopo il callback.
CRFIl CRF video predefinito è 17, senza perdite visibili nella maggior parte dei contesti di distribuzione. Valori inferiori, come 15 o 16, potrebbero essere disponibili tramite extraOptions.write_options e possono comportare costi aggiuntivi per larghezza di banda/archiviazione.

Riepilogo dei callback

Specificare un URL di callback nelle richieste di creazione, quando supportato. Weydub invia l'elemento di lavoro completato direttamente al server, senza la struttura esterna code / msg / body utilizzata dalle risposte di polling.

Regole per la gestione dei callback:

  • Verificare Callback-Sign utilizzando il corpo non elaborato della richiesta di callback e il proprio AppSecret.
  • Restituire HTTP 200 insieme a un qualsiasi corpo non vuoto solo dopo che l'archiviazione persistente è stata completata correttamente.
  • Rendere i gestori idempotenti in base all'ID del lavoro o dell'attività.
  • I callback non riusciti relativi ad attività create nelle ultime 24 ore vengono ritentati all'incirca ogni 30 minuti.
  • Se una riesecuzione modifica il contenuto del video o dell'immagine, l'URL di output può cambiare; archiviare l'URL più recente del risultato.

Consultare Modello delle attività asincrone per i dettagli sui callback.

Risoluzione dei problemi

SintomoCausa probabileVerifica
Errore di firmaI byte del corpo sono cambiati dopo la firma oppure è stato firmato un JSON formattato, ma è stato inviato un JSON compatto.Registrare un hash non segreto del corpo e confrontare i percorsi di codice per la firma e l'invio.
Attività creata ma nessun risultatoL'elaborazione asincrona è ancora in corso.Eseguire il polling di /v-w-c/gateway/ve/work/status oppure attendere il callback.
URL di output mancanteModalità del flusso di lavoro errata oppure attività non ancora in uno stato terminale.Verificare processStatus === 1 ed esaminare i campi di output specifici del flusso di lavoro.
Callback non riportato nell'applicazioneIl gestore ha restituito una risposta prima dell'archiviazione persistente, la verifica della firma non è riuscita oppure l'ID del lavoro non corrispondeva.Archiviare il payload non elaborato del callback, confrontare Callback-Sign e rendere gli aggiornamenti idempotenti.
Endpoint non disponibileL'account non dispone dell'abilitazione necessaria.Verificare l'accesso API per la specifica famiglia di attività.
Errore relativo al limite massimo del videoIl video dura più di 15 minuti o supera 1000 MB.Suddividere in segmenti o comprimere prima dell'invio.
Errore relativo al limite massimo dell'immagineL'immagine supera 2000*2000 px, supera 50 MB, ha un formato non supportato oppure il relativo URL contiene caratteri cinesi.Ridimensionare, ricomprimere e rinominare/codificare l'URL, quindi riprovare.

Contratto per gli agenti

Gli agenti di automazione dovrebbero:

  • Caricare llms.txt e Skill API di Weydub.
  • Utilizzare Scenari demo prima di usare contenuti multimediali dei clienti.
  • Conservare le credenziali nelle variabili di ambiente o in un gestore di segreti.
  • Salvare in modo persistente gli ID prima di comunicare agli utenti l'esito positivo.
  • Modellare le attività come submitted -> processing -> succeeded | failed | timed_out.
  • Non esporre mai AppSecret né inventare endpoint abilitati.