WWeydub API

Flux de travail

Extraction de sous-titres

Utilisez ce workflow pour créer des fichiers de sous-titres à partir d’une vidéo. Weydub prend en charge deux méthodes d’extraction :

  • OCR pour extraire les sous-titres incrustés déjà visibles dans l’image vidéo.
  • ASR pour extraire les dialogues prononcés dans la piste audio.

Vous souhaitez vérifier la qualité du résultat avant de générer les fichiers ? Essayez le workflow web Weydub correspondant : Générer des sous-titres.

Pour une explication au niveau système de l’OCR vidéo temporel, du filtrage du texte des scènes et de la segmentation ASR prête pour les sous-titres, consultez Génération de sous-titres par IA avec OCR vidéo et ASR.

Point de terminaison

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

L’extraction des sous-titres est asynchrone. Enregistrez body.idProject et body.dataList[].id, puis utilisez le modèle de tâche asynchrone pour l’interrogation, les rappels, le comportement en cas de nouvelle tentative et la signature des rappels.

Accès et limites

RègleExigence
Accès au compteL’accès à API vidéo Core doit être activé. L’extraction OCR/ASR fait généralement partie de la famille de tâches vidéo, mais la politique du compte peut tout de même limiter la taille des lots ou les options avancées.
Vidéo sourceUtilisez une URL HTTPS publique et stable. Les limites strictes actuelles pour les vidéos sont de 15 minutes par fichier et de 1000 MB par fichier.
FacturationLes workflows vidéo sont facturés par unités de 30 secondes. Les clips de moins de 30 secondes sont comptabilisés comme 30 secondes.
Tâche échouéeSi le processStatus > 1 final échoue, aucun crédit n’est déduit.
ConservationLes fichiers de sous-titres et les ressources rendues suivent les règles de conservation du site web Weydub. Par défaut, les ressources sources et rendues des 30 derniers jours sont conservées. Téléchargez des copies durables après le rappel.

Choisir OCR ou ASR

ModeÀ utiliser lorsqueSignal requisRésultat habituel
Extraction OCR des sous-titres incrustésLes sous-titres sont incrustés dans l’image, généralement en bas de l’image.needChineseOcclude: 14, videoInpaintMasks, videoInpaintLang, lang.srcSrtUrl, tgtSrtUrl.
Extraction ASR de la paroleLe dialogue figure dans la piste audio et vous avez besoin d’une transcription horodatée.needWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0.srcSrtUrl, tgtSrtUrl.

N’utilisez pas OCR pour transcrire des vidéos contenant uniquement de la parole. N’utilisez pas ASR pour lire des sous-titres incrustés dans une vidéo silencieuse.

Charge utile d’extraction des sous-titres OCR

Utilisez OCR lorsque les sous-titres sont déjà incrustés dans l’image vidéo.

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

Remarques :

  • needChineseOcclude doit être 14.
  • videoInpaintMasks est requis pour l’extraction OCR et doit être une chaîne JSON compacte avant la signature.
  • type doit être trans_only_ocr.
  • Définissez lang sur videoInpaintLang lorsqu’aucune traduction n’est nécessaire.
  • Les coordonnées sont normalisées de 0 à 1, dans l’ordre suivant : coin supérieur gauche, coin supérieur droit, coin inférieur droit, coin inférieur gauche.

Masques OCR

Utilisez un ou plusieurs masques lorsque la zone visible des sous-titres est connue. Les masques limités dans le temps permettent d’éviter d’extraire comme dialogues des indices narratifs temporaires ou du texte d’enregistrement.

ChampTypeObligatoireDescription
typestringOuiUtilisez trans_only_ocr pour l’extraction des sous-titres OCR.
regionarrayOuiQuatre points normalisés : [[x1,y1],[x2,y2],[x3,y3],[x4,y4]].
startnumberNonHeure de début en secondes. Omettez ce champ ou utilisez 0 lorsque le masque s’applique dès le début.
endnumberNonHeure de fin en secondes. Utile lorsqu’un masque ne s’applique qu’à l’introduction.
to_endnumberNonNombre de secondes avant la fin de la vidéo. Préférez end explicite lorsque cette valeur est connue.

Régions courantes :

ScénarioRégion
Bande de sous-titres verticale 16:9[[0,0.56],[1,0.56],[1,0.76],[0,0.76]]
Zone de sous-titres horizontale standard[[0,0.8],[1,0.8],[1,1],[0,1]]
Bande inférieure personnalisée[[0,0.7],[1,0.7],[1,0.95],[0,0.95]]

OCR Options

extraOptions.extra_inpaint_config permet d’ajuster le nettoyage de OCR :

OptionTypeDescription
auto_correct_onbooleanIndique s’il faut corriger automatiquement le texte reconnu des sous-titres.
strip_last_punct_onbooleanIndique s’il faut supprimer la ponctuation finale de chaque ligne de sous-titres.
scene_filter_onbooleanIndique s’il faut filtrer le texte de scène qui ne correspond pas aux dialogues. Cette option est souvent désactivée pour l’extraction de sous-titres en anglais et dans d’autres langues qui ne sont pas CJK, lorsque vous souhaitez récupérer tout le texte visible des sous-titres.

Conservez extraOptions sous la forme d’une chaîne JSON compacte pour les charges utiles API publiques, sauf indication contraire dans le contrat de votre compte.

ASR Charge utile d’extraction de sous-titres

Utilisez ASR lorsque la vidéo contient des paroles et que vous avez besoin d’une transcription horodatée.

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

Remarques :

  • wyTaskType doit être ONLY_ASR.
  • wyNeedText: 0 signifie qu’il ne faut pas incruster les sous-titres dans une nouvelle vidéo.
  • needWyEdit: 0 désactive la modification manuelle et le mode brouillon professionnel pour cette tâche d’extraction.
  • sourceLang est la langue parlée. lang est la langue de sortie des sous-titres ; utilisez le même code lorsqu’aucune traduction n’est nécessaire.

ASR Options

OptionTypeDescription
asr_speaker_detect_onbooleanActive la détection des locuteurs lorsqu’elle est prise en charge. Utile pour les dialogues à plusieurs locuteurs.
extra_video_translate_config.remove_last_punct_onbooleanSupprime la ponctuation finale des lignes de sous-titres générées.

Paramètres

ParamètreOCRASRDescription
urlsObligatoireObligatoireURL publiques de vidéos. Utilisez des URL HTTPS stables en production.
needChineseOcclude14Non utiliséMode d’extraction des sous-titres OCR.
videoInpaintLangObligatoireNon utiliséLangue du texte visible des sous-titres.
videoInpaintMasksObligatoireNon utiliséChaîne JSON compacte décrivant les régions OCR.
extraOptionsFacultatifFacultatifChaîne JSON compacte pour le nettoyage de OCR ou les options ASR.
needWanyinNon utilisé1Active le traitement de la parole pour ASR.
sourceLangFacultatifObligatoireLangue parlée ou langue source.
langObligatoireObligatoireLangue de sortie des sous-titres. Utilisez la même valeur que pour la langue source lorsqu’aucune traduction n’est nécessaire.
wyTaskTypeNon utiliséONLY_ASRType de tâche ASR- uniquement.
needWyEditNon utilisé0Désactive le processus de modification manuelle et de brouillon professionnel pour l’extraction.
wyNeedTextNon utilisé0N’incruste pas les sous-titres dans une nouvelle vidéo.
callbackFacultatifFacultatifURL de webhook pour signaler la fin du traitement asynchrone.
uidFacultatifFacultatifIdentifiant de votre utilisateur ou client lorsque votre compte utilise le suivi des sous-utilisateurs.

Sorties

Les tâches d’extraction réussies peuvent renvoyer :

  • srcSrtUrl
  • tgtSrtUrl
  • processStatus
  • processProgress
  • paidPoint
  • métadonnées de la tâche dans l’élément de travail renvoyé

L’extraction de OCR et de ASR ne nécessite pas de générer une nouvelle vidéo. Interrogez l’API jusqu’à processStatus === 1 avant de lire srcSrtUrl ou tgtSrtUrl.

Les callbacks envoient directement la charge utile de l’élément de travail, sans l’enveloppe externe code / msg / body utilisée par les réponses aux interrogations.

Notes de l’agent

  • Choisissez OCR pour le texte des sous-titres incrustés dans la vidéo ; choisissez ASR pour les dialogues parlés.
  • Conservez videoInpaintMasks et extraOptions sous une forme compacte et sérialisée en chaîne avant de les signer.
  • N’envoyez pas les tableaux de masques OCR en tant que tableaux natifs, sauf si le contrat de votre compte le prévoit.
  • Utilisez la requête d’énumération (POST /v-w-c/enum/query2) pour récupérer la prise en charge actuelle de sourceLang et de Lang ; ce point de terminaison d’énumération ne nécessite pas de signature.
  • Interrogez l’API jusqu’à ce que processStatus soit 1 avant de lire srcSrtUrl ou tgtSrtUrl.
  • Stockez les fichiers de sous-titres avant le nettoyage lié à la durée de conservation.