เอกสารอ้างอิงนี้เป็นแหล่งข้อมูลแบบกระชับแห่งเดียวสำหรับนักพัฒนาและเอเจนต์ระบบอัตโนมัติ เพื่อค้นหาปลายทางของ 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 สำหรับ Callback | Callback ในระบบใช้งานจริงจะตอบกลับด้วย HTTP 200 พร้อมเนื้อหาที่ไม่ว่างเปล่า หลังจากจัดเก็บข้อมูลแบบถาวรแล้วเท่านั้น | งานแบบอะซิงโครนัสอาจเสร็จสมบูรณ์หลังจากคำขอเดิมได้รับการตอบกลับแล้ว |
| การจัดเก็บผลลัพธ์ | บริการของคุณจัดเก็บ ID งาน ID งานย่อย สถานะ URL ผลลัพธ์ และข้อผิดพลาด | แอสเซตที่สร้างขึ้นอาจอยู่ภายใต้นโยบายการเก็บรักษา จึงควรคัดลอกข้อมูลอ้างอิงไปเก็บไว้ในที่จัดเก็บถาวรโดยเร็ว |
การยืนยันตัวตน
คำขอส่วนใหญ่ใช้ส่วนหัวต่อไปนี้:
Content-Type: application/json
AppKey: $WEYDUB_APP_KEY
AppSign: md5(md5(request_body) + $WEYDUB_APP_SECRET)ลงนามเนื้อหา JSON แบบกระชับที่ตรงกับเนื้อหาที่จะส่งทุกประการ อ่าน การยืนยันตัวตนและการลงนาม ก่อนแก้ไขปัญหาการตรวจสอบลายเซ็นล้มเหลว
ข้อยกเว้นที่ไม่ต้องลงนาม:
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 แบบไดนามิก เช่น สถานะและรายการภาษา | ไม่ต้องใช้ลายเซ็น |
สร้างงานวิดีโอ
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 | การแปลวิดีโอ |
| การแยกคำบรรยายด้วย OCR | needChineseOcclude: 14, videoInpaintMasks, videoInpaintLang | การแยกคำบรรยาย |
| การแยกคำบรรยายด้วย ASR | needWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0 | การแยกคำบรรยาย |
คำขอขั้นต่ำ:
{
"urls": ["https://example.com/demo.mp4"],
"needChineseOcclude": 1,
"videoInpaintLang": "all",
"callback": "https://your-domain.example/webhooks/weydub"
}ฟิลด์การตอบกลับทั่วไปเมื่อสร้างงาน:
| ฟิลด์ | ความหมาย |
|---|---|
idProject | ID ชุดงาน/โปรเจกต์ |
dataList[].id | ID งานสำหรับการพอลสถานะและการจับคู่ Callback |
dataList[].url | URL ต้นฉบับที่ระบบยอมรับให้ประมวลผล |
คิวรีสถานะวิดีโอ
POST /v-w-c/gateway/ve/work/status{
"idWorks": [488026661]
}ค่าสถานะ:
processStatus | ความหมาย | การดำเนินการของไคลเอนต์ |
|---|---|---|
< 1 | กำลังประมวลผล | พอลอีกครั้งในภายหลังหรือรอ Callback |
1 | สำเร็จ | อ่าน URL ผลลัพธ์และจัดเก็บไว้อย่างถาวร |
> 1 | ล้มเหลว | แสดง errorDetail งานที่ล้มเหลวจะไม่ถูกหักเครดิต |
งานวิดีโอที่สำเร็จอาจประกอบด้วย videoUrl, coverUrl, srcSrtUrl, tgtSrtUrl, sourceVideoUrl, ttsMetaResult, wyVoiceParam และข้อมูลเมตาของงาน
งานรูปภาพ
ปลายทางสาธารณะสำหรับสร้างงานในปัจจุบัน:
POST /v-w-c/gateway/ve/image/translateปลายทางสำหรับดำเนินการซ้ำ:
POST /v-w-c/gateway/ve/image/translate/redoคำขอแปลรูปภาพ:
{
"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"
}คำขอลบข้อความออกจากรูปภาพ:
{
"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
POST /v-w-c/enum/query2ปลายทางนี้ไม่ต้องใช้ AppSign
{
"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 ใดเปิดใช้งานอยู่