WWeydub API

Workflow

Untertitel-Extraktion

Verwenden Sie diesen Workflow, um Untertiteldateien aus Videos zu erstellen. Weydub unterstützt zwei Extraktionswege:

  • OCR-Extraktion für fest eingebrannte Untertitel, die bereits im Videobild sichtbar sind.
  • ASR-Extraktion für gesprochene Dialoge in der Audiospur.

Möchten Sie die Ausgabequalität prüfen, bevor Sie mit der Entwicklung beginnen? Probieren Sie den entsprechenden Weydub-Web-Workflow aus: Untertitel generieren.

Eine Erklärung auf Systemebene zur temporalen Video-OCR, zur Filterung von Szenentext und zur untertitelgerechten ASR-Segmentierung finden Sie unter KI-Untertitelerstellung mit Video-OCR und ASR.

Endpunkt

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

Die Untertitelextraktion erfolgt asynchron. Speichern Sie body.idProject und body.dataList[].id, und verwenden Sie anschließend das Modell für asynchrone Aufgaben für Polling, Callbacks, das Verhalten bei Wiederholungsversuchen und die Signierung von Callbacks.

Zugriff und Beschränkungen

RegelAnforderung
KontozugriffDer grundlegende Video-API-Zugriff muss aktiviert sein. Die OCR-/ASR-Extraktion gehört üblicherweise zur Familie der Videoaufgaben, die Kontorichtlinie kann jedoch weiterhin die Batchgröße oder erweiterte Optionen beschränken.
QuellvideoVerwenden Sie eine stabile, öffentlich zugängliche HTTPS-URL. Die derzeitigen festen Obergrenzen für Videos betragen 15 Minuten pro Datei und 1000 MB pro Datei.
AbrechnungVideo-Workflows werden in Einheiten von 30 Sekunden abgerechnet. Clips, die kürzer als 30 Sekunden sind, werden als 30 Sekunden abgerechnet.
Fehlgeschlagene AufgabeWenn für den endgültigen Status processStatus > 1 gilt, werden keine Credits abgezogen.
AufbewahrungUntertiteldateien und gerenderte Assets unterliegen den Web-Aufbewahrungsregeln von Weydub. Standardmäßig werden Quell- und gerenderte Assets aus den letzten 30 Tagen aufbewahrt. Laden Sie nach dem Callback Kopien zur dauerhaften Aufbewahrung herunter.

Zwischen OCR und ASR wählen

ModusVerwenden, wennErforderliches SignalTypische Ausgabe
OCR-Extraktion fest eingebrannter UntertitelUntertitel sind in das Bild eingebrannt, üblicherweise am unteren Rand des Bildes.needChineseOcclude: 14, videoInpaintMasks, videoInpaintLang, lang.srcSrtUrl, tgtSrtUrl.
ASR-SprachextraktionDialoge sind in der Audiospur vorhanden und Sie benötigen ein Transkript mit Zeitstempeln.needWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0.srcSrtUrl, tgtSrtUrl.

Verwenden Sie OCR nicht, um Videos zu transkribieren, die ausschließlich Sprache enthalten. Verwenden Sie ASR nicht, um lautlose, fest eingebrannte Untertitel auszulesen.

Payload für die OCR-Untertitelextraktion

Verwenden Sie OCR, wenn Untertitel bereits in das Videobild eingebettet sind.

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

Hinweise:

  • needChineseOcclude muss 14 sein.
  • videoInpaintMasks ist für die OCR-Extraktion erforderlich und sollte vor dem Signieren eine kompakte JSON-Zeichenfolge sein.
  • type sollte trans_only_ocr sein.
  • Setzen Sie lang auf denselben Wert wie videoInpaintLang, wenn keine Übersetzung erforderlich ist.
  • Die Koordinaten sind auf den Bereich von 0 bis 1 normiert und in folgender Reihenfolge angeordnet: oben links, oben rechts, unten rechts, unten links.

OCR-Masken

Verwenden Sie eine oder mehrere Masken, wenn der sichtbare Untertitelbereich bekannt ist. Zeitlich begrenzte Masken tragen dazu bei, dass vorübergehende Handlungshinweise oder Registrierungstexte nicht als Dialog extrahiert werden.

FeldTypErforderlichBeschreibung
typestringJaVerwenden Sie trans_only_ocr für die OCR-Untertitelextraktion.
regionarrayJaVier normalisierte Punkte: [[x1,y1],[x2,y2],[x3,y3],[x4,y4]].
startnumberNeinStartzeit in Sekunden. Lassen Sie das Feld weg oder verwenden Sie 0, wenn die Maske von Anfang an gilt.
endnumberNeinEndzeit in Sekunden. Nützlich, wenn eine Maske nur für das Intro gilt.
to_endnumberNeinAnzahl der Sekunden vor dem Videoende. Bevorzugen Sie eine explizite Angabe für end, sofern diese bekannt ist.

Häufig verwendete Bereiche:

SzenarioBereich
Vertikales 16:9-Untertitelband[[0,0.56],[1,0.56],[1,0.76],[0,0.76]]
Standardmäßiger horizontaler Untertitelbereich[[0,0.8],[1,0.8],[1,1],[0,1]]
Benutzerdefiniertes unteres Band[[0,0.7],[1,0.7],[1,0.95],[0,0.95]]

OCR-Optionen

Mit extraOptions.extra_inpaint_config lässt sich die OCR-Bereinigung anpassen:

OptionTypBeschreibung
auto_correct_onbooleanGibt an, ob erkannter Untertiteltext automatisch korrigiert werden soll.
strip_last_punct_onbooleanGibt an, ob abschließende Satzzeichen aus jeder Untertitelzeile entfernt werden sollen.
scene_filter_onbooleanGibt an, ob Szenentext, der kein Dialog ist, herausgefiltert werden soll. Diese Option ist bei der Untertitelextraktion für Englisch und andere Nicht-CJK-Sprachen häufig deaktiviert, wenn der gesamte sichtbare Untertiteltext erfasst werden soll.

Belassen Sie extraOptions als kompakten JSON-String für öffentliche API-Payloads, sofern Ihr Kontovertrag nichts anderes vorsieht.

ASR-Payload für die Untertitelextraktion

Verwenden Sie ASR, wenn das Video Sprachinhalte enthält und Sie ein zeitcodiertes Transkript benötigen.

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

Hinweise:

  • wyTaskType muss ONLY_ASR sein.
  • wyNeedText: 0 bedeutet, dass Untertitel nicht in ein neues Video gerendert werden.
  • needWyEdit: 0 deaktiviert für diesen Extraktionsauftrag das Verhalten für die manuelle Bearbeitung/Pro-Draft-Erstellung.
  • sourceLang ist die gesprochene Sprache. lang ist die Ausgabesprache der Untertitel; verwenden Sie denselben Code, wenn keine Übersetzung erforderlich ist.

ASR-Optionen

OptionTypBeschreibung
asr_speaker_detect_onbooleanAktiviert die Sprechererkennung, sofern sie unterstützt wird. Nützlich für Dialoge mit mehreren Sprechern.
extra_video_translate_config.remove_last_punct_onbooleanEntfernt abschließende Satzzeichen aus erzeugten Untertitelzeilen.

Parameter

ParameterOCRASRBeschreibung
urlsErforderlichErforderlichÖffentliche Video-URLs. Verwenden Sie im Produktivbetrieb stabile HTTPS-URLs.
needChineseOcclude14Nicht verwendetOCR-Modus zur Untertitelextraktion.
videoInpaintLangErforderlichNicht verwendetSprache des sichtbaren Untertiteltexts.
videoInpaintMasksErforderlichNicht verwendetKompakte JSON-Zeichenfolge zur Beschreibung von OCR-Regionen.
extraOptionsOptionalOptionalKompakte JSON-Zeichenfolge für die OCR-Bereinigung oder ASR-Optionen.
needWanyinNicht verwendet1Aktiviert die Sprachverarbeitung für ASR.
sourceLangOptionalErforderlichGesprochene Sprache/Quellsprache.
langErforderlichErforderlichAusgabesprache der Untertitel. Verwenden Sie denselben Wert wie für die Quellsprache, wenn keine Übersetzung erforderlich ist.
wyTaskTypeNicht verwendetONLY_ASRAufgabentyp ausschließlich für ASR.
needWyEditNicht verwendet0Deaktiviert den Ablauf für manuelle Bearbeitung/Pro-Entwürfe bei der Extraktion.
wyNeedTextNicht verwendet0Untertitel nicht in ein neues Video rendern.
callbackOptionalOptionalWebhook-URL für den asynchronen Abschluss.
uidOptionalOptionalIhre Benutzer-/Kundenkennung, wenn für Ihr Konto die Nachverfolgung von Unterbenutzern verwendet wird.

Ausgaben

Erfolgreiche Extraktionsaufgaben können Folgendes zurückgeben:

  • srcSrtUrl
  • tgtSrtUrl
  • processStatus
  • processProgress
  • paidPoint
  • Metadaten zur Aufgabe unter dem zurückgegebenen Arbeitselement

Für die Extraktion mit OCR und ASR muss kein neues Video gerendert werden. Fragen Sie den Status ab, bis processStatus === 1 erreicht ist, bevor Sie srcSrtUrl oder tgtSrtUrl lesen.

Callbacks senden die Nutzlast des Arbeitselements direkt, ohne den äußeren code / msg / body-Wrapper, der bei Polling-Antworten verwendet wird.

Hinweise für Agenten

  • Wählen Sie OCR für eingebrannten Untertiteltext und ASR für gesprochene Dialoge.
  • Halten Sie videoInpaintMasks und extraOptions vor dem Signieren kompakt und als Zeichenfolgen serialisiert.
  • Senden Sie OCR-Maskenarrays nur dann als native Arrays, wenn Ihr Kontovertrag dies vorsieht.
  • Verwenden Sie die Enum-Abfrage (POST /v-w-c/enum/query2), um die derzeit unterstützten Werte für sourceLang und Lang abzurufen; dieser Enum-Endpunkt erfordert keine Signierung.
  • Fragen Sie den Status ab, bis processStatus den Wert 1 hat, bevor Sie srcSrtUrl oder tgtSrtUrl lesen.
  • Speichern Sie die Untertiteldateien vor der Aufbewahrungsbereinigung.