WAPI Weydub

Alur kerja

Ekstraksi Subtitle

Gunakan alur kerja ini untuk membuat file subtitle dari video. Weydub mendukung dua jalur ekstraksi:

  • Ekstraksi OCR untuk subtitle hardcode yang sudah terlihat dalam frame video.
  • Ekstraksi ASR untuk dialog lisan dalam trek audio.

Ingin memeriksa kualitas keluaran sebelum mulai mengembangkan? Coba alur kerja web Weydub yang sesuai: Buat subtitle.

Untuk penjelasan tingkat sistem tentang Video OCR temporal, pemfilteran teks adegan, dan segmentasi ASR yang siap digunakan untuk subtitle, baca Pembuatan subtitle AI dengan Video OCR dan ASR.

Endpoint

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

Ekstraksi subtitle bersifat asinkron. Simpan body.idProject dan body.dataList[].id, lalu gunakan Model tugas asinkron untuk polling, callback, perilaku percobaan ulang, dan penandatanganan callback.

Akses dan Batasan

AturanPersyaratan
Akses akunAkses API video inti harus diaktifkan. Ekstraksi OCR/ASR biasanya merupakan bagian dari kelompok tugas video, tetapi kebijakan akun tetap dapat membatasi ukuran batch atau opsi lanjutan.
Video sumberGunakan URL HTTPS publik yang stabil. Batas mutlak video saat ini adalah 15 menit per file dan 1000 MB per file.
PenagihanAlur kerja video ditagih dalam unit 30 detik. Klip yang lebih pendek dari 30 detik dihitung sebagai 30 detik.
Tugas gagalJika processStatus > 1 pada hasil akhir, tidak ada kredit yang dipotong.
RetensiFile subtitle dan aset hasil render mengikuti aturan retensi web Weydub. Secara default, aset sumber/hasil render untuk 30 hari terakhir disimpan. Unduh salinan yang dapat disimpan dalam jangka panjang setelah callback.

Pilih OCR atau ASR

ModeKapan DigunakanSinyal WajibKeluaran Umum
Ekstraksi hard-sub OCRSubtitle tertanam permanen dalam gambar, biasanya di bagian bawah frame.needChineseOcclude: 14, videoInpaintMasks, videoInpaintLang, lang.srcSrtUrl, tgtSrtUrl.
Ekstraksi ucapan ASRDialog tersedia dalam trek audio dan Anda memerlukan transkrip dengan penanda waktu.needWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0.srcSrtUrl, tgtSrtUrl.

Jangan gunakan OCR untuk mentranskripsikan video yang hanya berisi ucapan. Jangan gunakan ASR untuk membaca subtitle hardcode tanpa suara.

Payload Ekstraksi Subtitle OCR

Gunakan OCR jika subtitle sudah tertanam dalam gambar 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"
}

Catatan:

  • needChineseOcclude harus bernilai 14.
  • videoInpaintMasks wajib untuk ekstraksi OCR dan harus berupa string JSON ringkas sebelum penandatanganan.
  • type sebaiknya bernilai trans_only_ocr.
  • Atur lang agar sama dengan videoInpaintLang jika terjemahan tidak diperlukan.
  • Koordinat dinormalisasi dari 0 hingga 1, dengan urutan kiri atas, kanan atas, kanan bawah, kiri bawah.

Mask OCR

Gunakan satu atau beberapa mask jika area subtitle yang terlihat sudah diketahui. Mask berbatas waktu membantu mencegah petunjuk alur cerita sementara atau teks registrasi diekstrak sebagai dialog.

KolomTipeWajibDeskripsi
typestringYaGunakan trans_only_ocr untuk ekstraksi subtitle OCR.
regionarrayYaEmpat titik yang dinormalisasi: [[x1,y1],[x2,y2],[x3,y3],[x4,y4]].
startnumberTidakWaktu mulai dalam detik. Jangan sertakan atau gunakan 0 jika mask berlaku sejak awal.
endnumberTidakWaktu akhir dalam detik. Berguna jika mask hanya berlaku pada bagian pembuka.
to_endnumberTidakJumlah detik sebelum video berakhir. Utamakan end eksplisit jika diketahui.

Area umum:

SkenarioArea
Pita subtitle vertikal 16:9[[0,0.56],[1,0.56],[1,0.76],[0,0.76]]
Area subtitle horizontal standar[[0,0.8],[1,0.8],[1,1],[0,1]]
Pita bawah kustom[[0,0.7],[1,0.7],[1,0.95],[0,0.95]]

Opsi OCR

extraOptions.extra_inpaint_config dapat menyesuaikan pembersihan OCR:

OpsiTipeDeskripsi
auto_correct_onbooleanMenentukan apakah teks subtitle yang dikenali akan dikoreksi secara otomatis.
strip_last_punct_onbooleanMenentukan apakah tanda baca di akhir setiap baris subtitle akan dihapus.
scene_filter_onbooleanMenentukan apakah teks adegan non-dialog akan difilter. Opsi ini sering dinonaktifkan untuk ekstraksi subtitle bahasa Inggris dan bahasa non-CJK lainnya jika Anda menginginkan semua teks subtitle yang terlihat.

Pertahankan extraOptions sebagai string JSON ringkas untuk payload API publik, kecuali kontrak akun Anda menetapkan lain.

Payload Ekstraksi Subtitle ASR

Gunakan ASR jika video berisi ucapan dan Anda memerlukan transkrip dengan penanda waktu.

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

Catatan:

  • wyTaskType harus bernilai ONLY_ASR.
  • wyNeedText: 0 berarti subtitle tidak dirender ke dalam video baru.
  • needWyEdit: 0 menonaktifkan perilaku pengeditan manual/pro-draft untuk tugas ekstraksi ini.
  • sourceLang adalah bahasa lisan. lang adalah bahasa keluaran subtitle; gunakan kode yang sama jika terjemahan tidak diperlukan.

Opsi ASR

OpsiTipeDeskripsi
asr_speaker_detect_onbooleanMengaktifkan deteksi pembicara jika didukung. Berguna untuk dialog dengan beberapa pembicara.
extra_video_translate_config.remove_last_punct_onbooleanMenghapus tanda baca di akhir baris subtitle yang dihasilkan.

Parameter

ParameterOCRASRDeskripsi
urlsWajibWajibURL video publik. Gunakan URL HTTPS yang stabil dalam produksi.
needChineseOcclude14Tidak digunakanMode ekstraksi subtitle OCR.
videoInpaintLangWajibTidak digunakanBahasa teks subtitle yang terlihat.
videoInpaintMasksWajibTidak digunakanString JSON ringkas yang menjelaskan area OCR.
extraOptionsOpsionalOpsionalString JSON ringkas untuk pembersihan OCR atau opsi ASR.
needWanyinTidak digunakan1Mengaktifkan pemrosesan ucapan untuk ASR.
sourceLangOpsionalWajibBahasa lisan/sumber.
langWajibWajibBahasa keluaran subtitle. Gunakan nilai yang sama dengan sumber jika terjemahan tidak diperlukan.
wyTaskTypeTidak digunakanONLY_ASRJenis tugas khusus ASR.
needWyEditTidak digunakan0Menonaktifkan alur pengeditan manual/pro-draft untuk ekstraksi.
wyNeedTextTidak digunakan0Jangan render subtitle ke dalam video baru.
callbackOpsionalOpsionalURL webhook untuk penyelesaian asinkron.
uidOpsionalOpsionalPengidentifikasi pengguna/pelanggan Anda jika akun Anda menggunakan pelacakan subpengguna.

Keluaran

Tugas ekstraksi yang berhasil dapat mengembalikan:

  • srcSrtUrl
  • tgtSrtUrl
  • processStatus
  • processProgress
  • paidPoint
  • metadata tugas dalam item pekerjaan yang dikembalikan

Ekstraksi OCR dan ASR tidak perlu merender video baru. Lakukan polling hingga processStatus === 1 sebelum membaca srcSrtUrl atau tgtSrtUrl.

Callback mengirimkan payload item pekerjaan secara langsung, tanpa pembungkus luar code / msg / body yang digunakan oleh respons polling.

Catatan Agen

  • Pilih OCR untuk teks subtitel yang tertanam permanen; pilih ASR untuk dialog lisan.
  • Pastikan videoInpaintMasks dan extraOptions tetap ringkas dan diserialisasi sebagai string sebelum penandatanganan.
  • Jangan kirim array mask OCR sebagai array native kecuali kontrak akun Anda menyatakan demikian.
  • Gunakan kueri enum (POST /v-w-c/enum/query2) untuk mengambil dukungan sourceLang dan Lang saat ini; endpoint enum ini tidak memerlukan penandatanganan.
  • Lakukan polling hingga processStatus bernilai 1 sebelum membaca srcSrtUrl atau tgtSrtUrl.
  • Simpan file subtitel sebelum proses pembersihan retensi.