WWeydub API

เอกสารอ้างอิง API

ข้อมูลอ้างอิง Weydub API

เอกสารอ้างอิงนี้เป็นแหล่งข้อมูลแบบกระชับแห่งเดียวสำหรับนักพัฒนาและเอเจนต์ระบบอัตโนมัติ เพื่อค้นหาปลายทางของ Weydub API การตรวจสอบสิทธิ์เข้าถึง โครงสร้างคำขอ การทำงานแบบอะซิงโครนัส กฎการเรียกเก็บเงิน/การเก็บรักษา และตัวบ่งชี้สำหรับการแก้ไขปัญหา

ข้อมูลพื้นฐานเกี่ยวกับคำขอ

รายการค่า
URL ฐานhttps://api.zhaoli.com
โปรโตคอลHTTPS
เมธอดPOST สำหรับการเรียก API ที่ระบุไว้ในเอกสาร
การเข้ารหัสUTF-8
ชนิดเนื้อหาapplication/json
การยืนยันตัวตนส่วนหัว AppKey และ AppSign ยกเว้นปลายทางที่ระบุไว้อย่างชัดเจนว่าไม่ต้องลงนาม

ชื่อโครงสร้างพื้นฐานเดิมบางชื่ออาจยังปรากฏในแอสเซตเดโมสาธารณะหรือเส้นทางบัญชีรุ่นเก่า ให้ถือว่าเอกสาร Weydub API นี้เป็นข้อกำหนดปัจจุบันสำหรับผลิตภัณฑ์

ก่อนเรียกใช้งาน

สิ่งที่ต้องตรวจสอบสิ่งที่ต้องยืนยันเหตุใดจึงสำคัญ
สิทธิ์เข้าถึง APIบัญชี Weydub ที่ลงชื่อเข้าใช้แล้วสามารถเปิดใช้สิทธิ์เข้าถึง API ได้ฟรี โปรดยืนยันสิทธิ์การใช้งานเฉพาะเวิร์กโฟลว์เมื่อจำเป็นงานบางกลุ่ม โดยเฉพาะการแปลรูปภาพและการพากย์เสียงที่มีอารมณ์เข้มข้น อาจได้รับการจัดสรรสิทธิ์เป็นรายบัญชี
ข้อมูลประจำตัวคุณมี AppKey และ AppSecret ซึ่งจัดเก็บเป็นข้อมูลลับของแบ็กเอนด์ต้องไม่ให้ AppSecret ปรากฏในโค้ดฟรอนต์เอนด์ ที่เก็บโค้ดสาธารณะ บันทึก ภาพหน้าจอ หรือพรอมต์โดยเด็ดขาด
URL สื่อไฟล์ต้นฉบับเข้าถึงได้แบบสาธารณะและยังคงใช้งานได้ตลอดช่วงเวลาประมวลผลเวิร์กเกอร์ของ Weydub ต้องดาวน์โหลดสื่อต้นฉบับก่อนประมวลผล
URL สำหรับ CallbackCallback ในระบบใช้งานจริงจะตอบกลับด้วย HTTP 200 พร้อมเนื้อหาที่ไม่ว่างเปล่า หลังจากจัดเก็บข้อมูลแบบถาวรแล้วเท่านั้นงานแบบอะซิงโครนัสอาจเสร็จสมบูรณ์หลังจากคำขอเดิมได้รับการตอบกลับแล้ว
การจัดเก็บผลลัพธ์บริการของคุณจัดเก็บ ID งาน ID งานย่อย สถานะ URL ผลลัพธ์ และข้อผิดพลาดแอสเซตที่สร้างขึ้นอาจอยู่ภายใต้นโยบายการเก็บรักษา จึงควรคัดลอกข้อมูลอ้างอิงไปเก็บไว้ในที่จัดเก็บถาวรโดยเร็ว

การยืนยันตัวตน

คำขอส่วนใหญ่ใช้ส่วนหัวต่อไปนี้:

text
Content-Type: application/json
AppKey: $WEYDUB_APP_KEY
AppSign: md5(md5(request_body) + $WEYDUB_APP_SECRET)

ลงนามเนื้อหา JSON แบบกระชับที่ตรงกับเนื้อหาที่จะส่งทุกประการ อ่าน การยืนยันตัวตนและการลงนาม ก่อนแก้ไขปัญหาการตรวจสอบลายเซ็นล้มเหลว

ข้อยกเว้นที่ไม่ต้องลงนาม:

text
POST /v-w-c/enum/query2

ปลายทางสำหรับคิวรี enum ใช้สำหรับรายการภาษา/สถานะแบบไดนามิกและไม่ต้องลงนาม

ดัชนีปลายทาง

เมธอดเส้นทางกลุ่มวัตถุประสงค์หมายเหตุด้านการเข้าถึง
POST/v-w-c/gateway/ve/work/freeวิดีโอสร้างงานวิดีโอส่วนใหญ่ ได้แก่ การลบคำบรรยาย/ข้อความ การแปลวิดีโอ การแยกคำบรรยายด้วย OCR การแยกข้อมูลด้วย ASR และการเรนเดอร์คำบรรยายต้องมีสิทธิ์เข้าถึง API หลัก
POST/v-w-c/gateway/ve/work/statusวิดีโอคิวรีสถานะงานวิดีโอและฟิลด์ผลลัพธ์ตาม ID งานใช้หลังจากสร้างงานหรือเป็นทางเลือกสำรองของ Callback
POST/v-w-c/gateway/ve/work/listวิดีโอคิวรีงานวิดีโอย้อนหลังมีประโยชน์สำหรับแดชบอร์ดภายในและการกระทบยอด
POST/v-w-c/gateway/ve/work/video/inpaint/redoวิดีโอทำการลบข้อความ/เติมเต็มภาพใหม่โดยปรับมาสก์ต้องมีบริบทของงาน/งานย่อยที่มีอยู่แล้ว
POST/v-w-c/gateway/ve/work/translationPro/redoวิดีโอทำการแปล/พากย์เสียงใหม่โดยปรับคำบรรยาย การกำหนดเวลา หรือการตั้งค่าเสียงต้องมีบริบทของงานแปลที่มีอยู่แล้ว
POST/v-w-c/gateway/ve/work/voice/incorporateวิดีโอสร้างงานโคลนเสียงและพากย์เสียงที่มีอารมณ์เข้มข้นยืนยันสิทธิ์การใช้งานของบัญชีก่อนเชื่อมต่อทราฟฟิกของระบบใช้งานจริง
POST/v-w-c/gateway/ve/image/translateรูปภาพสร้างงานลบข้อความออกจากรูปภาพหรือแปลรูปภาพแม้เปิดใช้สิทธิ์เข้าถึง API ฟรีแล้ว ก็อาจยังต้องมีสิทธิ์การใช้งานเวิร์กโฟลว์รูปภาพ
POST/v-w-c/gateway/ve/image/translate/redoรูปภาพสร้างงานรูปภาพขึ้นใหม่หลังจากแก้ไขข้อความผลลัพธ์/ข้อมูลเมตาของสไตล์ต้องมี ID งานรูปภาพที่มีอยู่และ JSON ของผลลัพธ์
POST/v-w-c/ve/image/translate/task/launchรูปภาพแบบเดิม/เว็บสร้างงานรูปภาพหนึ่งรายการในโฟลว์บัญชีรุ่นเก่าหรือโฟลว์เว็บใช้เฉพาะเมื่อยืนยันแล้วว่าใช้ได้กับบัญชีนั้น
POST/v-w-c/ve/image/translate/task/launch2รูปภาพแบบเดิม/เว็บสร้างงานรูปภาพแบบกลุ่มในโฟลว์บัญชีรุ่นเก่าหรือโฟลว์เว็บยืนยันขีดจำกัดของงานแบบกลุ่มและนโยบาย Callback
POST/v-w-c/ve/image/translate/task/queryรูปภาพแบบเดิม/เว็บคิวรีงานรูปภาพหนึ่งรายการในโฟลว์บัญชีรุ่นเก่าหรือโฟลว์เว็บพอลจนกว่าจะถึงสถานะสิ้นสุดก่อนอ่านผลลัพธ์
POST/v-w-c/enum/query2ยูทิลิตีคิวรี enum แบบไดนามิก เช่น สถานะและรายการภาษาไม่ต้องใช้ลายเซ็น

สร้างงานวิดีโอ

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

เวิร์กโฟลว์ทั่วไปที่ใช้ปลายทางนี้:

เวิร์กโฟลว์ตัวบ่งชี้ที่จำเป็นหน้าเริ่มต้น
การลบคำบรรยาย/ข้อความneedChineseOcclude: 1, 2 หรือ 3; Advanced Lite/Pro ผ่าน extraOptions.extra_inpaint_configการลบคำบรรยายและข้อความออกจากวิดีโอ
การแปล/พากย์เสียงวิดีโอneedWanyin: 1, sourceLang, lang, wyTaskTypeการแปลวิดีโอ
การแปลข้อความบนหน้าจอneedChineseOcclude: 11, sourceLang, lang, videoInpaintLangการแปลวิดีโอ
การแยกคำบรรยายด้วย OCRneedChineseOcclude: 14, videoInpaintMasks, videoInpaintLangการแยกคำบรรยาย
การแยกคำบรรยายด้วย ASRneedWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0การแยกคำบรรยาย

คำขอขั้นต่ำ:

json
{
  "urls": ["https://example.com/demo.mp4"],
  "needChineseOcclude": 1,
  "videoInpaintLang": "all",
  "callback": "https://your-domain.example/webhooks/weydub"
}

ฟิลด์การตอบกลับทั่วไปเมื่อสร้างงาน:

ฟิลด์ความหมาย
idProjectID ชุดงาน/โปรเจกต์
dataList[].idID งานสำหรับการพอลสถานะและการจับคู่ Callback
dataList[].urlURL ต้นฉบับที่ระบบยอมรับให้ประมวลผล

คิวรีสถานะวิดีโอ

text
POST /v-w-c/gateway/ve/work/status
json
{
  "idWorks": [488026661]
}

ค่าสถานะ:

processStatusความหมายการดำเนินการของไคลเอนต์
< 1กำลังประมวลผลพอลอีกครั้งในภายหลังหรือรอ Callback
1สำเร็จอ่าน URL ผลลัพธ์และจัดเก็บไว้อย่างถาวร
> 1ล้มเหลวแสดง errorDetail งานที่ล้มเหลวจะไม่ถูกหักเครดิต

งานวิดีโอที่สำเร็จอาจประกอบด้วย videoUrl, coverUrl, srcSrtUrl, tgtSrtUrl, sourceVideoUrl, ttsMetaResult, wyVoiceParam และข้อมูลเมตาของงาน

งานรูปภาพ

ปลายทางสาธารณะสำหรับสร้างงานในปัจจุบัน:

text
POST /v-w-c/gateway/ve/image/translate

ปลายทางสำหรับดำเนินการซ้ำ:

text
POST /v-w-c/gateway/ve/image/translate/redo

คำขอแปลรูปภาพ:

json
{
  "srcLang": "en",
  "tgtLang": "es",
  "translateOn": 1,
  "synthesisOn": 1,
  "commodityFilterOn": 0,
  "downloadInfo": "{\"url\":\"https://example.com/product.png\",\"fileName\":\"product.png\",\"id\":12345,\"materialName\":\"product.png\"}",
  "app": "WD"
}

คำขอลบข้อความออกจากรูปภาพ:

json
{
  "srcLang": "en",
  "tgtLang": "en",
  "translateOn": 0,
  "synthesisOn": 1,
  "commodityFilterOn": 0,
  "downloadInfo": "{\"url\":\"https://example.com/banner.png\",\"fileName\":\"banner.png\",\"id\":12346,\"materialName\":\"banner.png\"}",
  "app": "WD"
}

อ่าน การแปลรูปภาพ ก่อนพัฒนางานรูปภาพ เนื่องจาก downloadInfo, downloadInfos และ result สำหรับการทำซ้ำต้องคงโครงสร้างสตริงตามที่ระบุไว้ในเอกสาร

การคิวรี Enum

text
POST /v-w-c/enum/query2

ปลายทางนี้ไม่ต้องใช้ AppSign

json
{
  "text": "Lang"
}

ชื่อ enum ที่ใช้ทั่วไป:

textวัตถุประสงค์
ProcessStatusรหัสสถานะงานวิดีโอ
ImageTaskStatusรหัสสถานะงานรูปภาพ
sourceLangรายการภาษาต้นทางสำหรับการแปลวิดีโอ
Langรายการภาษาเป้าหมายสำหรับการแปลวิดีโอ
musicRegionรายการภูมิภาคสำหรับเพลงอัจฉริยะในระบบที่รองรับ

การเรียกเก็บเงิน ขีดจำกัด และการเก็บรักษา

หัวข้อกฎ
ระยะเวลาวิดีโอขีดจำกัดสูงสุดแบบตายตัวในปัจจุบันคือ 15 นาทีต่อไฟล์วิดีโอ แบ่งสื่อที่ยาวกว่านั้นเป็นส่วนย่อยที่สั้นกว่า 15 นาที เช่น 14:59 เพื่อหลีกเลี่ยงปัญหาจากการปัดเศษระยะเวลา
ขนาดวิดีโอขีดจำกัดสูงสุดแบบตายตัวในปัจจุบันคือ 1000 MB ต่อไฟล์วิดีโอ บีบอัดไฟล์ที่มีขนาดเกินกำหนดก่อนส่ง
ขีดจำกัดของรูปภาพสูงสุด 2000*2000 px, สูงสุด 50 MB, รองรับรูปแบบ png, jpeg, jpg, bmp, webp; URL รูปภาพต้องไม่มีอักขระภาษาจีน
หน่วยการเรียกเก็บเงินเวิร์กโฟลว์วิดีโอคิดค่าบริการเป็นหน่วยละ 30 วินาที วิดีโอที่สั้นกว่า 30 วินาทีจะนับเป็น 30 วินาที
บริการแบบรวมการใช้บริการร่วมกัน เช่น การลบข้อความและการแปลเสียง อาจทำให้ค่าใช้จ่ายซ้อนทบกัน
ทาสก์ที่ล้มเหลวทาสก์ที่ล้มเหลวในสถานะสุดท้าย (processStatus > 1) จะไม่หักเครดิต
การเก็บรักษาข้อมูลที่ API สร้างขึ้นเป็นไปตามกฎการเก็บรักษาข้อมูลบนเว็บของ Weydub โดยค่าเริ่มต้น ระบบจะเก็บรักษาไฟล์ต้นฉบับและเอาต์พุตที่เรนเดอร์ในช่วง 30 วันที่ผ่านมาไว้ ดาวน์โหลดและจัดเก็บแอสเซ็ตสำคัญหลังได้รับ Callback
CRFค่า CRF เริ่มต้นของวิดีโอคือ 17 ซึ่งแทบไม่สูญเสียคุณภาพที่มองเห็นได้สำหรับการเผยแพร่ส่วนใหญ่ ค่าที่ต่ำกว่า เช่น 15 หรือ 16 อาจมีให้ใช้ผ่าน extraOptions.write_options และอาจมีค่าใช้จ่ายด้านแบนด์วิดท์/พื้นที่จัดเก็บเพิ่มเติม

สรุป Callback

ระบุ URL สำหรับ callback ในคำขอสร้างเมื่อระบบรองรับ Weydub จะส่งรายการงานที่เสร็จสมบูรณ์ไปยังเซิร์ฟเวอร์ของคุณโดยตรง โดยไม่มีโครงสร้างห่อหุ้ม code / msg / body ชั้นนอกที่ใช้ในการตอบกลับจากการโพล

กฎการจัดการ Callback:

  • ตรวจสอบ Callback-Sign โดยใช้เนื้อหาคำขอ Callback แบบดิบและ AppSecret ของคุณ
  • ส่ง HTTP 200 พร้อมเนื้อหาตอบกลับที่ไม่ว่างกลับไป หลังจากจัดเก็บข้อมูลลงในพื้นที่จัดเก็บถาวรสำเร็จแล้วเท่านั้น
  • ทำให้ตัวจัดการทำงานแบบ idempotent โดยอิงตาม ID ของงาน/ทาสก์
  • ระบบจะลองส่ง Callback ที่ล้มเหลวสำหรับทาสก์ที่สร้างขึ้นในช่วง 24 ชั่วโมงที่ผ่านมาอีกครั้งทุกประมาณ 30 นาที
  • หากการทำใหม่เปลี่ยนเนื้อหาวิดีโอหรือรูปภาพ URL ของเอาต์พุตอาจเปลี่ยนแปลงได้ ให้จัดเก็บ URL ของผลลัพธ์ล่าสุด

อ่าน โมเดลทาสก์แบบอะซิงโครนัส เพื่อดูรายละเอียดเกี่ยวกับ Callback

การแก้ไขปัญหา

อาการสาเหตุที่เป็นไปได้สิ่งที่ควรตรวจสอบ
ข้อผิดพลาดเกี่ยวกับลายเซ็นไบต์ของเนื้อหาเปลี่ยนไปหลังการลงนาม หรือมีการลงนาม JSON แบบจัดรูปแบบให้อ่านง่าย แต่ส่ง JSON แบบย่อบันทึกค่าแฮชของเนื้อหาในลักษณะที่ไม่เปิดเผยความลับ และเปรียบเทียบเส้นทางโค้ดสำหรับการลงนามกับการส่ง
สร้างทาสก์แล้วแต่ไม่มีผลลัพธ์การประมวลผลแบบอะซิงโครนัสยังคงดำเนินอยู่โพล /v-w-c/gateway/ve/work/status หรือรอ Callback
ไม่มี URL ของเอาต์พุตโหมดเวิร์กโฟลว์ไม่ถูกต้อง หรือทาสก์ยังไม่เข้าสู่สถานะสิ้นสุดยืนยัน processStatus === 1 และตรวจสอบฟิลด์เอาต์พุตเฉพาะเวิร์กโฟลว์
Callback ไม่ปรากฏในแอปของคุณตัวจัดการตอบกลับก่อนจัดเก็บข้อมูลลงในพื้นที่จัดเก็บถาวร การตรวจสอบลายเซ็นล้มเหลว หรือ work ID ไม่ตรงกันจัดเก็บเพย์โหลดดิบของ Callback เปรียบเทียบ Callback-Sign และทำให้การอัปเดตเป็นแบบ idempotent
Endpoint ไม่พร้อมใช้งานยังไม่ได้เปิดใช้สิทธิ์ให้บัญชียืนยันสิทธิ์เข้าถึง API สำหรับกลุ่มทาสก์นั้น
ข้อผิดพลาดจากขีดจำกัดสูงสุดของวิดีโอวิดีโอยาวกว่า 15 นาที หรือมีขนาดใหญ่กว่า 1000 MBแบ่งวิดีโอเป็นส่วนหรือบีบอัดก่อนส่ง
ข้อผิดพลาดจากขีดจำกัดสูงสุดของรูปภาพรูปภาพมีขนาดภาพเกิน 2000*2000 px ขนาดไฟล์เกิน 50 MB อยู่ในรูปแบบที่ไม่รองรับ หรือ URL มีอักขระภาษาจีนปรับขนาด บีบอัดใหม่ เปลี่ยนชื่อ/เข้ารหัส URL แล้วลองอีกครั้ง

ข้อกำหนดสำหรับ Agent

Agent สำหรับระบบอัตโนมัติควร:

  • โหลด llms.txt และ Weydub API ทักษะ
  • ใช้ สถานการณ์สาธิต ก่อนใช้สื่อของลูกค้า
  • เก็บข้อมูลรับรองไว้ในตัวแปรสภาพแวดล้อมหรือระบบจัดการข้อมูลลับ
  • จัดเก็บ ID อย่างถาวรก่อนรายงานความสำเร็จแก่ผู้ใช้
  • สร้างแบบจำลองงานเป็น submitted -> processing -> succeeded | failed | timed_out
  • ห้ามเปิดเผย AppSecret หรือสมมติขึ้นเองว่า Endpoint ใดเปิดใช้งานอยู่