WWeydub API

ขั้นตอนการทำงาน

การแยกคำบรรยาย

ใช้เวิร์กโฟลว์นี้เพื่อสร้างไฟล์คำบรรยายจากวิดีโอ Weydub รองรับวิธีการแยกสองแบบ:

  • การแยกด้วย OCR สำหรับคำบรรยายแบบฝังถาวรที่มองเห็นอยู่แล้วในเฟรมวิดีโอ
  • การแยกด้วย ASR สำหรับบทสนทนาที่เป็นเสียงพูดในแทร็กเสียง

ต้องการตรวจสอบคุณภาพผลลัพธ์ก่อนเริ่มพัฒนาหรือไม่ ลองใช้เวิร์กโฟลว์บนเว็บของ Weydub ที่สอดคล้องกัน: สร้างคำบรรยาย

สำหรับคำอธิบายระดับระบบเกี่ยวกับการทำ OCR กับวิดีโอตามลำดับเวลา การกรองข้อความในฉาก และการแบ่งส่วน ASR ที่พร้อมใช้สร้างคำบรรยาย โปรดอ่าน การสร้างคำบรรยายด้วย AI โดยใช้ OCR สำหรับวิดีโอและ ASR

ปลายทาง

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

การแยกคำบรรยายทำงานแบบอะซิงโครนัส ให้บันทึก body.idProject และ body.dataList[].id จากนั้นใช้ โมเดลงานแบบอะซิงโครนัส สำหรับการโพล คอลแบ็ก พฤติกรรมการลองใหม่ และการลงนามคอลแบ็ก

การเข้าถึงและขีดจำกัด

กฎข้อกำหนด
การเข้าถึงของบัญชีต้องเปิดใช้งานสิทธิ์เข้าถึง API หลักสำหรับวิดีโอ โดยทั่วไปการแยกด้วย OCR/ASR เป็นส่วนหนึ่งของกลุ่มงานวิดีโอ แต่นโยบายบัญชีอาจยังคงจำกัดขนาดแบตช์หรือตัวเลือกขั้นสูง
วิดีโอต้นฉบับใช้ HTTPS URL สาธารณะที่เสถียร ขีดจำกัดแบบตายตัวในปัจจุบันสำหรับวิดีโอคือ 15 นาทีต่อไฟล์และ 1000 MB ต่อไฟล์
การเรียกเก็บเงินเวิร์กโฟลว์วิดีโอเรียกเก็บเงินเป็นหน่วยละ 30 วินาที คลิปที่สั้นกว่า 30 วินาทีจะนับเป็น 30 วินาที
งานที่ล้มเหลวหากค่าสุดท้ายเป็นไปตามเงื่อนไข processStatus > 1 ระบบจะไม่หักเครดิต
การเก็บรักษาไฟล์คำบรรยายและแอสเซ็ตที่เรนเดอร์เป็นไปตามกฎการเก็บรักษาข้อมูลบนเว็บของ Weydub โดยค่าเริ่มต้น ระบบจะเก็บแอสเซ็ตต้นฉบับ/ที่เรนเดอร์จากช่วง 30 วันที่ผ่านมาไว้ ให้ดาวน์โหลดสำเนาสำหรับเก็บรักษาระยะยาวหลังได้รับคอลแบ็ก

เลือก OCR หรือ ASR

โหมดควรใช้เมื่อสัญญาณที่ต้องมีผลลัพธ์ทั่วไป
การแยกคำบรรยายแบบฝังถาวรด้วย OCRคำบรรยายถูกฝังลงในภาพ โดยปกติจะอยู่ที่ด้านล่างของเฟรมneedChineseOcclude: 14, videoInpaintMasks, videoInpaintLang, lang.srcSrtUrl, tgtSrtUrl.
การแยกเสียงพูดด้วย ASRมีบทสนทนาอยู่ในแทร็กเสียงและคุณต้องการบทถอดเสียงพร้อมข้อมูลเวลาneedWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0.srcSrtUrl, tgtSrtUrl.

อย่าใช้ OCR เพื่อถอดเสียงวิดีโอที่มีเฉพาะเสียงพูด อย่าใช้ ASR เพื่ออ่านข้อความคำบรรยายแบบฝังถาวรในวิดีโอที่ไม่มีเสียง

เพย์โหลดการแยกคำบรรยายด้วย OCR

ใช้ OCR เมื่อคำบรรยายฝังอยู่ในภาพวิดีโอแล้ว

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

หมายเหตุ:

  • needChineseOcclude ต้องเป็น 14.
  • ต้องระบุ videoInpaintMasks สำหรับการแยกด้วย OCR และควรทำให้เป็นสตริง JSON แบบกระชับก่อนลงนาม
  • type ควรเป็น trans_only_ocr.
  • ตั้งค่า lang ให้เท่ากับ videoInpaintLang เมื่อไม่จำเป็นต้องแปล
  • พิกัดได้รับการปรับให้อยู่ในช่วงมาตรฐานตั้งแต่ 0 ถึง 1 โดยเรียงลำดับเป็นซ้ายบน ขวาบน ขวาล่าง และซ้ายล่าง

มาสก์ OCR

ใช้มาสก์อย่างน้อยหนึ่งรายการเมื่อทราบบริเวณคำบรรยายที่มองเห็นได้ มาสก์ที่กำหนดช่วงเวลาช่วยหลีกเลี่ยงการแยกคำใบ้เนื้อเรื่องชั่วคราวหรือข้อความลงทะเบียนเป็นบทสนทนา

ฟิลด์ชนิดจำเป็นคำอธิบาย
typestringใช่ใช้ trans_only_ocr สำหรับการแยกคำบรรยายด้วย OCR
regionarrayใช่จุดพิกัดที่ปรับให้อยู่ในช่วงมาตรฐานสี่จุด: [[x1,y1],[x2,y2],[x3,y3],[x4,y4]]
startnumberไม่เวลาเริ่มต้นเป็นวินาที ไม่ต้องระบุฟิลด์นี้หรือใช้ 0 เมื่อมาสก์มีผลตั้งแต่เริ่มต้น
endnumberไม่เวลาสิ้นสุดเป็นวินาที มีประโยชน์เมื่อมาสก์มีผลเฉพาะช่วงเกริ่นนำ
to_endnumberไม่จำนวนวินาทีก่อนวิดีโอจบ ควรใช้ end ที่ระบุชัดเจนเมื่อทราบค่า

บริเวณที่ใช้บ่อย:

สถานการณ์บริเวณ
แถบคำบรรยายแนวตั้งอัตราส่วน 16:9[[0,0.56],[1,0.56],[1,0.76],[0,0.76]]
บริเวณมาตรฐานสำหรับคำบรรยายแนวนอน[[0,0.8],[1,0.8],[1,1],[0,1]]
แถบด้านล่างแบบกำหนดเอง[[0,0.7],[1,0.7],[1,0.95],[0,0.95]]

ตัวเลือก OCR

extraOptions.extra_inpaint_config สามารถปรับแต่งการทำความสะอาด OCR ได้:

ตัวเลือกชนิดคำอธิบาย
auto_correct_onbooleanระบุว่าจะแก้ไขข้อความคำบรรยายที่ระบบรู้จำโดยอัตโนมัติหรือไม่
strip_last_punct_onbooleanระบุว่าจะลบเครื่องหมายวรรคตอนท้ายออกจากคำบรรยายแต่ละบรรทัดหรือไม่
scene_filter_onbooleanระบุว่าจะกรองข้อความในฉากที่ไม่ใช่บทสนทนาหรือไม่ ตัวเลือกนี้มักปิดใช้งานสำหรับการแยกคำบรรยายภาษาอังกฤษและภาษาอื่นที่ไม่ใช่ CJK เมื่อต้องการข้อความคำบรรยายที่มองเห็นได้ทั้งหมด

เก็บ extraOptions เป็นสตริง JSON แบบกระชับสำหรับเพย์โหลดของ API สาธารณะ เว้นแต่สัญญาสำหรับบัญชีของคุณจะระบุไว้เป็นอย่างอื่น

เพย์โหลดการแยกคำบรรยายด้วย ASR

ใช้ ASR เมื่อวิดีโอมีเสียงพูดและคุณต้องการบทถอดเสียงพร้อมข้อมูลเวลา

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

หมายเหตุ:

  • wyTaskType ต้องเป็น ONLY_ASR.
  • wyNeedText: 0 หมายความว่าไม่ต้องเรนเดอร์คำบรรยายลงในวิดีโอใหม่
  • needWyEdit: 0 ปิดใช้งานการทำงานแบบแก้ไขด้วยตนเอง/แบบ pro-draft สำหรับงานแยกนี้
  • sourceLang คือภาษาพูด ส่วน lang คือภาษาคำบรรยายที่ส่งออก ให้ใช้รหัสเดียวกันเมื่อไม่จำเป็นต้องแปล

ตัวเลือก ASR

ตัวเลือกชนิดคำอธิบาย
asr_speaker_detect_onbooleanเปิดใช้งานการตรวจจับผู้พูดเมื่อรองรับ มีประโยชน์สำหรับบทสนทนาที่มีผู้พูดหลายคน
extra_video_translate_config.remove_last_punct_onbooleanลบเครื่องหมายวรรคตอนท้ายออกจากบรรทัดคำบรรยายที่สร้างขึ้น

พารามิเตอร์

พารามิเตอร์OCRASRคำอธิบาย
urlsจำเป็นจำเป็นURL วิดีโอสาธารณะ ใช้ URL HTTPS ที่เสถียรในระบบที่ใช้งานจริง
needChineseOcclude14ไม่ใช้โหมดการแยกคำบรรยายด้วย OCR
videoInpaintLangจำเป็นไม่ใช้ภาษาของข้อความคำบรรยายที่มองเห็นได้
videoInpaintMasksจำเป็นไม่ใช้สตริง JSON แบบกระชับที่อธิบายบริเวณ OCR
extraOptionsไม่บังคับไม่บังคับสตริง JSON แบบกระชับสำหรับการทำความสะอาด OCR หรือตัวเลือก ASR
needWanyinไม่ใช้1เปิดใช้งานการประมวลผลเสียงพูดสำหรับ ASR
sourceLangไม่บังคับจำเป็นภาษาพูด/ภาษาต้นฉบับ
langจำเป็นจำเป็นภาษาคำบรรยายที่ส่งออก ใช้ค่าเดียวกับภาษาต้นฉบับเมื่อไม่จำเป็นต้องแปล
wyTaskTypeไม่ใช้ONLY_ASRประเภทงานสำหรับ ASR เท่านั้น
needWyEditไม่ใช้0ปิดใช้งานกระบวนการแก้ไขด้วยตนเอง/แบบ pro-draft สำหรับการแยก
wyNeedTextไม่ใช้0ไม่ต้องเรนเดอร์คำบรรยายลงในวิดีโอใหม่
callbackไม่บังคับไม่บังคับURL ของ Webhook สำหรับแจ้งเมื่อการประมวลผลแบบอะซิงโครนัสเสร็จสิ้น
uidไม่บังคับไม่บังคับตัวระบุผู้ใช้/ลูกค้าของคุณเมื่อบัญชีใช้การติดตามผู้ใช้ย่อย

ผลลัพธ์

งานแยกที่สำเร็จสามารถส่งคืนข้อมูลต่อไปนี้:

  • srcSrtUrl
  • tgtSrtUrl
  • processStatus
  • processProgress
  • paidPoint
  • ข้อมูลเมตาของงานภายใต้รายการงานที่ส่งคืน

การแยกข้อมูลด้วย OCR และ ASR ไม่จำเป็นต้องเรนเดอร์วิดีโอใหม่ ตรวจสอบสถานะซ้ำจนกว่า processStatus === 1 แล้วจึงอ่าน srcSrtUrl หรือ tgtSrtUrl

Callback จะส่งเพย์โหลดของรายการงานโดยตรง โดยไม่มีโครงสร้างครอบชั้นนอก code / msg / body ที่ใช้ในการตอบกลับจากการตรวจสอบสถานะซ้ำ

หมายเหตุสำหรับเอเจนต์

  • เลือก OCR สำหรับข้อความคำบรรยายที่ฝังอยู่ในภาพ และเลือก ASR สำหรับบทสนทนาที่เป็นเสียงพูด
  • คง videoInpaintMasks และ extraOptions ไว้ในรูปแบบที่กะทัดรัดและแปลงเป็นสตริงก่อนลงนาม
  • อย่าส่งอาร์เรย์มาสก์ OCR เป็นอาร์เรย์เนทีฟ เว้นแต่สัญญาสำหรับบัญชีของคุณจะระบุให้ทำเช่นนั้น
  • ใช้คำขอ enum (POST /v-w-c/enum/query2) เพื่อดึงข้อมูลการรองรับ sourceLang และ Lang ในปัจจุบัน โดย endpoint enum นี้ไม่ต้องลงนาม
  • ตรวจสอบสถานะซ้ำจนกว่า processStatus จะเป็น 1 แล้วจึงอ่าน srcSrtUrl หรือ tgtSrtUrl
  • จัดเก็บไฟล์คำบรรยายก่อนการล้างข้อมูลตามระยะเวลาการเก็บรักษา