WWeydub API

Flusso di lavoro

Estrazione dei sottotitoli

Utilizza questo flusso di lavoro per creare file di sottotitoli da un video. Weydub supporta due metodi di estrazione:

  • Estrazione tramite OCR dei sottotitoli impressi già visibili nel fotogramma del video.
  • Estrazione tramite ASR dei dialoghi parlati nella traccia audio.

Vuoi verificare la qualità dell'output prima di procedere? Prova il flusso di lavoro web Weydub corrispondente: Genera sottotitoli.

Per una spiegazione a livello di sistema del Video OCR temporale, del filtraggio del testo nelle scene e della segmentazione ASR pronta per i sottotitoli, consulta Generazione di sottotitoli tramite IA con Video OCR e ASR.

Endpoint

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

L'estrazione dei sottotitoli è asincrona. Salva body.idProject e body.dataList[].id, quindi utilizza Modello per le attività asincrone per il polling, la gestione dei tentativi, il comportamento dei callback e la firma dei callback.

Accesso e limiti

RegolaRequisito
Accesso dell'accountL'accesso all'API video principale deve essere abilitato. L'estrazione OCR/ASR fa generalmente parte della famiglia di attività video, ma la policy dell'account può comunque limitare le dimensioni dei batch o le opzioni avanzate.
Video sorgenteUtilizza un URL pubblico e stabile tramite HTTPS. Gli attuali limiti massimi per i video sono di 15 minuti per file e 1000 MB per file.
FatturazioneI flussi di lavoro video vengono fatturati in unità da 30 secondi. I clip di durata inferiore a 30 secondi vengono conteggiati come 30 secondi.
Attività non riuscitaSe al termine si verifica processStatus > 1, non viene detratto alcun credito.
ConservazioneI file dei sottotitoli e le risorse renderizzate seguono le regole di conservazione web di Weydub. Per impostazione predefinita, vengono conservate le risorse sorgente/renderizzate degli ultimi 30 giorni. Scarica copie permanenti dopo il callback.

Scegli OCR o ASR

ModalitàQuando utilizzarlaSegnale richiestoOutput tipico
Estrazione di sottotitoli impressi con OCRI sottotitoli sono impressi nell'immagine, generalmente nella parte inferiore del fotogramma.needChineseOcclude: 14, videoInpaintMasks, videoInpaintLang, lang.srcSrtUrl, tgtSrtUrl.
Estrazione del parlato tramite ASRIl dialogo è presente nella traccia audio ed è necessaria una trascrizione con indicazioni temporali.needWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0.srcSrtUrl, tgtSrtUrl.

Non utilizzare OCR per trascrivere video contenenti esclusivamente parlato. Non utilizzare ASR per leggere sottotitoli impressi in video privi di audio.

Payload per l'estrazione OCR dei sottotitoli

Usa OCR quando i sottotitoli sono già incorporati nell'immagine video.

json
{
  "urls": ["https://example.com/video.mp4"],
  "needChineseOcclude": 14,
  "videoInpaintLang": "en",
  "lang": "en",
  "videoInpaintMasks": "[{\"type\":\"trans_only_ocr\",\"region\":[[0,0.8],[1,0.8],[1,1],[0,1]]}]",
  "extraOptions": "{\"extra_inpaint_config\":{\"auto_correct_on\":false,\"strip_last_punct_on\":true,\"scene_filter_on\":false}}",
  "callback": "https://your-domain.example/webhooks/weydub"
}

Note:

  • needChineseOcclude deve essere 14.
  • videoInpaintMasks è obbligatorio per l'estrazione OCR e dovrebbe essere una stringa JSON compatta prima della firma.
  • type dovrebbe essere trans_only_ocr.
  • Imposta lang uguale a videoInpaintLang quando non è necessaria alcuna traduzione.
  • Le coordinate sono normalizzate da 0 a 1, nell'ordine: angolo superiore sinistro, angolo superiore destro, angolo inferiore destro, angolo inferiore sinistro.

Maschere OCR

Usa una o più maschere quando l'area visibile dei sottotitoli è nota. Le maschere delimitate temporalmente aiutano a evitare che indizi temporanei sulla trama o testi di registrazione vengano estratti come dialoghi.

CampoTipoObbligatorioDescrizione
typestringSìUsa trans_only_ocr per l'estrazione OCR dei sottotitoli.
regionarraySìQuattro punti normalizzati: [[x1,y1],[x2,y2],[x3,y3],[x4,y4]].
startnumberNoTempo di inizio in secondi. Ometti il campo o usa 0 quando la maschera si applica fin dall'inizio.
endnumberNoTempo di fine in secondi. Utile quando una maschera si applica solo all'introduzione.
to_endnumberNoSecondi prima della fine del video. Se noto, è preferibile specificare esplicitamente end.

Aree comuni:

ScenarioArea
Fascia verticale 16:9 per i sottotitoli[[0,0.56],[1,0.56],[1,0.76],[0,0.76]]
Area standard orizzontale per i sottotitoli[[0,0.8],[1,0.8],[1,1],[0,1]]
Fascia inferiore personalizzata[[0,0.7],[1,0.7],[1,0.95],[0,0.95]]

Opzioni OCR

extraOptions.extra_inpaint_config consente di regolare la pulizia OCR:

OpzioneTipoDescrizione
auto_correct_onbooleanIndica se correggere automaticamente il testo riconosciuto dei sottotitoli.
strip_last_punct_onbooleanIndica se rimuovere la punteggiatura finale da ogni riga dei sottotitoli.
scene_filter_onbooleanIndica se filtrare il testo di scena non appartenente ai dialoghi. Questa opzione è spesso disabilitata per l'estrazione dei sottotitoli in inglese e in altre lingue non CJK quando si desidera acquisire tutto il testo visibile dei sottotitoli.

Mantieni extraOptions come stringa JSON compatta per i payload API pubblici, salvo diversa indicazione nel contratto del tuo account.

Payload per l'estrazione dei sottotitoli ASR

Usa ASR quando il video contiene parlato e hai bisogno di una trascrizione temporizzata.

json
{
  "urls": ["https://example.com/video.mp4"],
  "needWanyin": 1,
  "sourceLang": "en",
  "lang": "en",
  "wyTaskType": "ONLY_ASR",
  "needWyEdit": 0,
  "wyNeedText": 0,
  "extraOptions": "{\"asr_speaker_detect_on\":true,\"extra_video_translate_config\":{\"remove_last_punct_on\":true}}",
  "callback": "https://your-domain.example/webhooks/weydub"
}

Note:

  • wyTaskType deve essere ONLY_ASR.
  • wyNeedText: 0 indica di non eseguire il rendering dei sottotitoli in un nuovo video.
  • needWyEdit: 0 disabilita il flusso di modifica manuale/pro-draft per questa attività di estrazione.
  • sourceLang è la lingua parlata. lang è la lingua di output dei sottotitoli; usa lo stesso codice quando non è necessaria alcuna traduzione.

Opzioni ASR

OpzioneTipoDescrizione
asr_speaker_detect_onbooleanAbilita il rilevamento dei parlanti, quando supportato. Utile per i dialoghi con più parlanti.
extra_video_translate_config.remove_last_punct_onbooleanRimuove la punteggiatura finale dalle righe generate dei sottotitoli.

Parametri

ParametroOCRASRDescrizione
urlsObbligatorioObbligatorioURL pubblici dei video. In produzione, usa URL HTTPS stabili.
needChineseOcclude14Non utilizzatoModalità di estrazione OCR dei sottotitoli.
videoInpaintLangObbligatorioNon utilizzatoLingua del testo visibile dei sottotitoli.
videoInpaintMasksObbligatorioNon utilizzatoStringa JSON compatta che descrive le regioni OCR.
extraOptionsFacoltativoFacoltativoStringa JSON compatta per la pulizia OCR o per le opzioni ASR.
needWanyinNon utilizzato1Abilita l'elaborazione del parlato per ASR.
sourceLangFacoltativoObbligatorioLingua parlata/di origine.
langObbligatorioObbligatorioLingua dei sottotitoli di output. Usa lo stesso valore della lingua di origine quando non è necessaria alcuna traduzione.
wyTaskTypeNon utilizzatoONLY_ASRTipo di attività esclusivamente ASR.
needWyEditNon utilizzato0Disabilita il flusso di modifica manuale/pro-draft per l'estrazione.
wyNeedTextNon utilizzato0Non eseguire il rendering dei sottotitoli in un nuovo video.
callbackFacoltativoFacoltativoURL del webhook per il completamento asincrono.
uidFacoltativoFacoltativoIl tuo identificatore utente/cliente quando il tuo account utilizza il tracciamento dei sottoutenti.

Output

Le attività di estrazione completate correttamente possono restituire:

  • srcSrtUrl
  • tgtSrtUrl
  • processStatus
  • processProgress
  • paidPoint
  • metadati dell'attività inclusi nell'elemento di lavoro restituito

Le estrazioni OCR e ASR non richiedono il rendering di un nuovo video. Esegui il polling fino a quando processStatus === 1, prima di leggere srcSrtUrl o tgtSrtUrl.

I callback inviano direttamente il payload dell'elemento di lavoro, senza il wrapper esterno code / msg / body utilizzato nelle risposte di polling.

Note per gli agenti

  • Scegli OCR per il testo dei sottotitoli incorporato nel video; scegli ASR per i dialoghi parlati.
  • Mantieni videoInpaintMasks e extraOptions in formato compatto e serializzati come stringhe prima della firma.
  • Non inviare gli array di maschere OCR come array nativi, a meno che il contratto del tuo account non lo preveda.
  • Usa la query enum (POST /v-w-c/enum/query2) per recuperare informazioni aggiornate sul supporto di sourceLang e Lang; questo endpoint enum non richiede la firma.
  • Esegui il polling finché processStatus non è 1, prima di leggere srcSrtUrl o tgtSrtUrl.
  • Salva i file dei sottotitoli prima della pulizia prevista dai criteri di conservazione.