คำตอบด่วน
Wan 2.7 คือชุดเครื่องมือสร้างวิดีโอแบบมัลติโหมดของ Alibaba สำหรับเวิร์กโฟลว์ข้อความเป็นวิดีโอ ภาพเป็นวิดีโอ การสร้างแบบอ้างอิง และการตัดต่อ ผ่าน Wan 2.7 บน CometAPI นักพัฒนาจะใช้รหัสโมเดล wan2.7 กับเอ็นด์พอยต์แบบอะซิงโครนัส POST /v1/videos การอินทิเกรตมี 3 ช่วงการทำงาน: ส่งงาน โพลล์ด้วย video ID ที่ได้ และดาวน์โหลด MP4 เมื่อเสร็จ Route แบบสดรองรับเอาต์พุต 720p และ 1080p พร้อมแสดงราคาต่อวินาที ดังนั้นระยะเวลาและความละเอียดจะเป็นตัวกำหนดต้นทุนการสร้างโดยประมาณ ให้เริ่มด้วยคำขอข้อความเป็นวิดีโอ 720p ความยาว 5 วินาที ทดสอบเวิร์กโฟลว์ให้ผ่าน แล้วค่อยเพิ่มภาพอ้างอิงหรือขยับไปความละเอียดที่สูงขึ้นหลังจาก Route พื้นฐานทำงานได้
สำคัญต่อขอบเขต: คู่มือนี้ครอบคลุม Wan 2.7 Video ผ่าน CometAPI ไม่ได้อธิบายโมเดลสร้างภาพ Wan แยกต่างหาก ดังนั้นสเปกที่เป็นภาพนิ่งอย่างเดียว เช่น เอาต์พุตภาพนิ่ง 4K จะไม่ถือเป็นความสามารถของ Wan 2.7 Video
สาระสำคัญ
- CometAPI เปิดให้ใช้ Wan 2.7 ผ่านเอ็นด์พอยต์วิดีโอแบบอะซิงโครนัสสไตล์ OpenAI ไม่ใช่การตอบแบบแชตเชิงซิงโครนัส
- ใช้รหัสโมเดล wan2.7 และ POST /v1/videos
- การอินทิเกรตที่ครบถ้วนต้องเก็บรักษา video ID ที่ส่งกลับมา โพลล์เอ็นด์พอยต์สถานะ จัดการกรณีล้มเหลวขั้นสุดท้าย และดาวน์โหลด MP4 เฉพาะหลังจากสำเร็จ
- API ข้อความเป็นวิดีโอแบบเนทีฟของ Alibaba สำหรับ Wan 2.7 รองรับ 720P และ 1080P ความยาว 2-15 วินาที; Route ของ CometAPI ใช้ชื่อฟิลด์แบบรวมของตนเอง
- เวิร์กโฟลว์ภาพเป็นวิดีโอ เฟรมแรก/เฟรมสุดท้าย และการต่อเนื่อง มีอยู่ในตระกูลโมเดลเนทีฟของ Alibaba แต่ฟิลด์ขั้นสูงบน Route แบบรวมควรตรวจสอบกับเอกสารของ Route ที่ใช้งานจริง
- หลักฐานเบนช์มาร์กสาธารณะที่แข็งแรงที่สุดคือวิดีโอเป็นวิดีโอ: Wan 2.7 ได้อันดับสูงสุดในหมวด Design Arena ข้อนี้ไม่ควรถูกเหมารวมเป็นความเป็นผู้นำในทุกงานข้อความเป็นวิดีโอหรือภาพเป็นวิดีโอ
- ตัวชี้วัดการใช้งานจริงที่มีประโยชน์ที่สุดคือ “ต้นทุนต่อคลิปที่ผ่านการยอมรับ” ไม่ใช่แค่ “ราคา/วินาทีที่สร้าง”
Wan 2.7 คืออะไร?
Wan 2.7 ในภาษานักพัฒนาแบบเข้าใจง่าย
Wan 2.7 ไม่ใช่แค่เช็กพอยต์ prompt-to-video Alibaba อธิบายตระกูลวิดีโอ 4 ส่วนที่ครอบคลุม Wan2.7-t2v, Wan2.7-i2v, Wan2.7-r2v และ Wan2.7-videoedit รวมกันแล้วครอบคลุมการสร้างจากข้อความ การทำแอนิเมชันจากภาพ การควบคุมด้วยอ้างอิงของตัวแบบหรือสไตล์ และการแปลงวิดีโอที่มีอยู่ ประเด็นนี้สำคัญต่อการออกแบบแอปพลิเคชัน: คลิปการตลาดง่ายๆ อาจใช้แค่ข้อความเป็นวิดีโอ ในขณะที่สายการผลิตที่ต้องคงตัวละครอาจต้องมีอินพุตอ้างอิง เฟรมยึด เสียงชี้นำ และการตัดต่อแบบวนรอบ
บน CometAPI เส้นทางนี้ตั้งใจทำให้การตั้งชื่อเฉพาะผู้ให้บริการถูกย่อให้เหลือรหัสโมเดลสำหรับลูกค้าเป็น wan2.7 ความสามารถการสร้างพื้นฐานยังเป็น Wan 2.7 แต่การยืนยันตัวตน เส้นทางเอ็นด์พอยต์ และชื่อตัวแปรแตกต่างจาก API แบบเนทีฟของ Alibaba Cloud
สเปกทางเทคนิคของ Wan 2.7
| ข้อมูลจำเพาะ | Wan 2.7 Video |
|---|---|
| ผู้ให้บริการ | Alibaba / Wan |
| รหัสโมเดลใน CometAPI | wan2.7 |
| รหัสข้อความเป็นวิดีโอแบบเนทีฟ | wan2.7-t2v, wan2.7-t2v-2026-06-12 |
| รหัสภาพเป็นวิดีโอแบบเนทีฟ | wan2.7-i2v-2026-04-25 |
| อินพุตหลัก | ข้อความ; ภาพ เสียง หรือวิดีโอในเวิร์กโฟลว์ที่รองรับ |
| เอาต์พุตหลัก | วิดีโอที่สร้างพร้อมพฤติกรรมเสียงที่รองรับ |
| โหมด | T2V, I2V, R2V, ตัดต่อวิดีโอ เฟรมแรก/เฟรมสุดท้าย การต่อเนื่อง |
| ความละเอียด | 720P และ 1080P |
| ระยะเวลา T2V | 2-15 วินาที; ค่าเริ่มต้น 5 วินาที |
| อัตราส่วนภาพ T2V | 16:9, 9:16, 1:1, 4:3, 3:4 |
| ขีดจำกัดพรอมป์ต์ | 5,000 อักขระสำหรับ Wan 2.7 T2V แบบเนทีฟ |
| ขีดจำกัดพรอมป์ต์เชิงลบ | 500 อักขระ |
| รูปแบบและข้อจำกัดของเสียง | WAV/MP3; 2-30 วินาที; สูงสุด 15 MB |
| รูปแบบการเรียกใช้งาน | อะซิงโครนัส |
| สถาปัตยกรรม / จำนวนพารามิเตอร์ | ยังไม่มีการยืนยันอย่างครบถ้วนในเอกสาร API อย่างเป็นทางการ |
ขอบเขตของข้อมูลจำเพาะ: บางหน้าระบุสถาปัตยกรรมหรือจำนวนพารามิเตอร์ แต่เอกสาร API วิดีโออย่างเป็นทางการของ Alibaba ไม่ได้เผยสเปกสถาปัตยกรรมครบทุกตัวแปรของ Wan 2.7 ถ้อยคำที่ระมัดระวังกว่าคือจำนวนพารามิเตอร์และสถาปัตยกรรมเต็มรูปแบบยังไม่ได้เปิดเผยอย่างครอบคลุม
Wan 2.7 ทำอะไรได้บ้าง?
ข้อความเป็นวิดีโอด้วยพรอมป์ต์หลายช็อตที่มีไทม์ไลน์
Wan 2.7 สามารถตีความการเปลี่ยนช็อตที่เขียนลงในพรอมป์ต์โดยตรง นักพัฒนาสามารถอธิบายช็อตที่ 1 ช็อตที่ 2 และช็อตที่ 3 พร้อมช่วงเวลา แทนการพึ่งพาฟิลด์ควบคุมช็อตแยกต่างหาก ช่วยให้พรอมป์ต์ทำหน้าที่เป็นสตอรี่บอร์ดแบบย่อได้
ควบคุมเฟรมแรกและเฟรมสุดท้าย
เวิร์กโฟลว์ภาพเป็นวิดีโอแบบเนทีฟรับสื่อเฟรมแรกและเฟรมสุดท้ายเพื่อให้โมเดลสังเคราะห์การเคลื่อนไหวระหว่างจุดยึดภาพทั้งสอง มีประโยชน์กับทรานซิชันสินค้า การเปลี่ยนท่าทาง และการมอร์ฟฉาก
การต่อเนื่องของวิดีโอ
อินพุตแบบเนทีฟชนิด first_clip มีผลต่อช่วงถัดไปของวิดีโอ ในเวิร์กโฟลว์นี้ การตีความระยะเวลาควรยึดตามกติกางานของผู้ให้บริการ ดังนั้นแอปจึงไม่ควรสมมติว่าเป็นแค่ส่วนที่สร้างใหม่เสมอไป
การสร้างที่ขับเคลื่อนด้วยเสียง
Alibaba ระบุว่าเสียงสามารถเป็นตัวขับสำหรับการไทม์มิ่งและการขยับปาก หากไม่ได้อัปโหลดไฟล์เสียง โมเดลสามารถสร้างดนตรีพื้นหลังหรือเอฟเฟกต์เสียงที่เข้าคู่ได้ เสียงที่ยาวกว่าวิดีโอที่ร้องขอจะถูกตัดทิ้ง ส่วนเสียงที่สั้นกว่าจะทำให้ช่วงเวลาที่เหลือของวิดีโอไม่มีเสียง
การขยายพรอมป์ต์ พรอมป์ต์เชิงลบ และวอเตอร์มาร์ก
API แบบเนทีฟรองรับการเขียนพรอมป์ต์ใหม่ พรอมป์ต์เชิงลบ และตัวเลือกวอเตอร์มาร์ก AI ช่วยให้ทีมมาตรฐานคุณภาพพรอมป์ต์และพฤติกรรมด้านแหล่งที่มา แม้ฟิลด์แบบรวมของ CometAPI อาจไม่แม็ปแบบหนึ่งต่อหนึ่ง
เบนช์มาร์กสาธารณะว่าอย่างไรเกี่ยวกับ Wan 2.7?
โมเดลวิดีโอไม่มีเบนช์มาร์กเดียวที่เป็นที่ยอมรับสากลเหมือนคะแนน MMLU หรือ SWE-bench ของ LLM สำหรับ Wan 2.7 สัญญาณภายนอกที่ชัดเจนที่สุดที่เผยแพร่คือ ได้อันดับสูงสุดในหมวดวิดีโอเป็นวิดีโอของ Design Arena ภาพจัดอันดับของบทความอย่างเป็นทางการแสดง Elo 1335 ในช่วงเวลาดังกล่าว สนับสนุนข้ออ้างด้านความน่าชอบของการแปลงและตัดต่อวิดีโอ ไม่ได้พิสูจน์ความเป็นผู้นำแบบครอบคลุมในข้อความเป็นวิดีโอ ภาพเป็นวิดีโอ คุณภาพเสียง หรือเวลาหน่วง
| หลักฐาน | ผลลัพธ์สาธารณะ | วิธีตีความ |
|---|---|---|
| Design Arena วิดีโอเป็นวิดีโอ | อันดับหนึ่ง; Elo 1335 ในภาพที่เผยแพร่ | หลักฐานแข็งแรงด้านความน่าชอบของ V2V |
| สเปก API อย่างเป็นทางการ | 720P/1080P; 2-15 วินาทีสำหรับ T2V | ความยืดหยุ่นเชิงผลิต ไม่ใช่อันดับคุณภาพ |
| คะแนน T2V แบบมาตรฐาน | ไม่ได้เปิดเผยสาธารณะ | ใช้การทดสอบ A/B ภายใน |
| คะแนน I2V แบบมาตรฐาน | ไม่ได้เปิดเผยสาธารณะ | ใช้การทดสอบ A/B ภายใน |
| เบนช์มาร์กเวลาหน่วง/อัตราสำเร็จ | ไม่มีมาตรฐานสาธารณะ | วัดบน Route ที่เลือกใช้งาน |
ข้อสรุปจากเบนช์มาร์ก
- ใช้ผล Design Arena เป็นหลักฐานความสามารถด้านวิดีโอเป็นวิดีโอ ไม่ใช่ข้ออ้างครอบคลุมทุกโหมด
- อย่านำตัวเลขเบนช์มาร์กของ Wan 2.1 มาใช้แทนผลของ Wan 2.7
- เพื่อเลือกใช้ในการผลิต ทดสอบพรอมป์ต์เดียวกัน ทรัพยากรต้นทางเดียวกัน ความละเอียด ระยะเวลา และเงื่อนไขเสียงเดียวกันข้ามโมเดล
- ติดตามอัตราการยอมรับโดยมนุษย์ ความนิ่งของการเคลื่อนไหว การคงเอกลักษณ์ เวลาหน่วง อัตราล้มเหลว และต้นทุนต่อคลิปที่ยอมรับ
ทำไมควรใช้ Wan 2.7 ผ่าน CometAPI?
API วิดีโอแบบรวม
CometAPI เปิดโมเดลผ่านวงจรชีวิตวิดีโอแบบอะซิงโครนัสที่เป็นมาตรฐาน หน้าโมเดล Wan 2.7 ปัจจุบันเผยรหัสโมเดลสำหรับลูกค้า ราคาของ Route และแพตเทิร์นสร้าง-โพลล์-ดาวน์โหลดที่ใช้งานได้ ช่วยลดโค้ดอินทิเกรตเฉพาะผู้ให้บริการเมื่อผลิตภัณฑ์ต้องทดสอบหรือสลับระหว่างโมเดลวิดีโอหลายตัว
POST /v1/videos GET /v1/videos/{video_id} GET /v1/videos/{video_id}/content

วงจรชีวิตสร้าง-โพลล์-ดาวน์โหลดของ CometAPI สำหรับการสร้างวิดีโอแบบอะซิงโครนัส แหล่งที่มาเอ็นด์พอยต์: เอกสาร API ของ CometAPI
- คีย์ API เดียวสำหรับโมเดลวิดีโอที่รองรับหลายตัว
- แพตเทิร์นที่สม่ำเสมอสำหรับการสร้างงาน ดึงสถานะ และดาวน์โหลดไฟล์
- การมองเห็นการใช้งานและการเรียกเก็บเงินแบบรวมศูนย์
- ลดโค้ดของแอปที่ผูกกับการยืนยันตัวตนและสคีมาของผู้ให้บริการรายเดียว
- A/B test ได้เร็วขึ้นเพราะเลือกโมเดลได้โดยไม่ต้องเปลี่ยนทั้งวงจรงาน
หมายเหตุความเข้ากันได้ที่จำเป็น
ความเข้ากันได้ของ Route: สคีมา /v1/videos แบบรวมของ CometAPI อาจไม่เปิดฟิลด์ทุกตัวจาก API T2V, I2V, R2V และตัดต่อวิดีโอแบบเนทีฟของ Alibaba ข้อความเป็นวิดีโอและภาพเป็นวิดีโอพื้นฐานคือจุดเริ่มที่ปลอดภัยที่สุด ก่อนปล่อยควบคุมเฟรมแรก/สุดท้าย อินพุตหลายอ้างอิง การขับด้วยเสียง หรือการตัดต่อวิดีโอ ให้ยืนยันฟิลด์และลิมิตสื่อบน Route ที่ใช้งานจริง
สิ่งที่ต้องมีก่อนเริ่ม
สร้างบัญชี CometAPI และคีย์ API
สร้างหรือเข้าสู่ระบบบัญชี CometAPI แล้ว สร้างคีย์ API เก็บไว้ในตัวแปรสภาพแวดล้อม ห้ามฮาร์ดโค้ดคีย์ในซอร์สคอนโทรล โค้ดเบราว์เซอร์ หรือแอปมือถือ
export COMETAPI_KEY="your_api_key"$env:COMETAPI_KEY="your_api_key"
รู้จักรหัสโมเดลและเอ็นด์พอยต์
Model ID: wan2.7 Create endpoint: POST https://api.cometapi.com/v1/videos Status endpoint: GET https://api.cometapi.com/v1/videos/{video_id} Download endpoint: GET https://api.cometapi.com/v1/videos/{video_id}/content
ติดตั้งแพ็กเกจ Python
python -m pip install --upgrade requests
ตัวอย่างใช้คำขอ HTTP ตรง เพราะ multipart form data การโพลล์สถานะ และการดาวน์โหลดไบนารี เข้าใจง่ายกว่าโดยไม่ต้องมี SDK ชั้นเพิ่ม
วิธีใช้ Wan 2.7 API กับ CometAPI
ขั้นตอนที่ 1: สร้างงานข้อความเป็นวิดีโอ
ส่งคำขอแบบ multipart พร้อมโมเดล พรอมป์ต์ ระยะเวลา และขนาด ตัวอย่าง 720p 5 วินาทีนี้เป็นวิธีเสี่ยงต่ำสุดเพื่อยืนยันข้อมูลประจำตัว การเราต์ และการสร้างงาน
curl https://api.cometapi.com/v1/videos \ -H "Authorization: Bearer $COMETAPI_KEY" \ -F "model=wan2.7" \ -F "prompt=A cinematic tracking shot of a futuristic train crossing a snowy mountain valley at sunrise, smooth camera motion, realistic light." \ -F "seconds=5" \ -F "size=1280x720"The response should include a task identifier under id or task_id. Log the full response during integration because providers and route versions may wrap status data differently.{ "id": "video_task_id", "status": "queued", "progress": 0 }
ขั้นตอนที่ 2: โพลล์สถานะวิดีโอ
ใช้ ID ที่ส่งกลับมากับเอ็นด์พอยต์สถานะ โพลล์ทุก 10-15 วินาทีเหมาะสมกว่า loop ถี่ๆ สำหรับงานวิดีโอที่ใช้คอมพิวต์หนัก
curl https://api.cometapi.com/v1/videos/{video_id} \ -H "Authorization: Bearer $COMETAPI_KEY"{ "id": "video_task_id", "status": "in_progress", "progress": 45 }
แอปของคุณควรถือว่าค่า completed หรือ success คือสถานะสำเร็จขั้นสุดท้าย และ failed, error หรือ FAILURE คือสถานะล้มเหลวขั้นสุดท้าย เก็บเพย์โหลดล้มเหลวครบถ้วนไว้สำหรับการวินิจฉัย
ขั้นตอนที่ 3: ดาวน์โหลด MP4 ที่เสร็จสมบูรณ์
ดาวน์โหลดหลังจากงานเข้าสู่สถานะสำเร็จขั้นสุดท้ายเท่านั้น การบันทึกผลตอบกลับจากงานที่ยังไม่เสร็จอาจสร้างไฟล์เปล่าหรือเอกสารข้อผิดพลาดที่มีนามสกุล MP4
curl https://api.cometapi.com/v1/videos/{video_id}/content \ -H "Authorization: Bearer $COMETAPI_KEY" \ --output wan2_7_output.mp4
ขั้นตอนที่ 4: สร้างวิดีโอจากภาพ
สำหรับภาพเป็นวิดีโอ อัปโหลดไฟล์อ้างอิงเป็น multipart form data และใช้พรอมป์ต์ที่อธิบายการเคลื่อนไหว พฤติกรรมกล้อง และการเปลี่ยนแปลงตามเวลา Route แบบรวมมักใช้ input_reference ยืนยันกฎขนาดไฟล์ รูปแบบ และจำนวนรูปภาพปัจจุบันก่อนใช้งานจริง
curl https://api.cometapi.com/v1/videos \ -H "Authorization: Bearer $COMETAPI_KEY" \ -F "model=wan2.7" \ -F "prompt=The camera slowly pushes forward while the subject turns toward the warm window light; preserve identity, clothing and background composition." \ -F "input_reference=@reference.png" \ -F "seconds=5" \ -F "size=1280x720"
เคล็ดลับพรอมป์ต์ภาพ: อย่าใช้พรอมป์ต์ส่วนใหญ่ไปกับการบรรยายสิ่งนิ่งที่เห็นได้ในภาพอ้างอิงอยู่แล้ว ใช้พื้นที่พรอมป์ต์กับการเคลื่อนไหว ทิศทางกล้อง ไทม์มิ่ง การเปลี่ยนแปลง และข้อจำกัด
ขั้นตอนที่ 5: สร้างเวิร์กโฟลว์ Python ให้ครบถ้วน
โปรแกรมต่อไปนี้ตรวจสอบคีย์ API ส่งงาน ทำให้รูปแบบสถานะที่ถูกห่อให้เป็นมาตรฐาน กำหนดเวลารอสูงสุด จัดการสถานะล้มเหลวขั้นสุดท้าย และดาวน์โหลดไฟล์ที่เสร็จแล้ว
import os import time from pathlib import Path import requests API_KEY = os.environ.get("COMETAPI_KEY") BASE_URL = "https://api.cometapi.com/v1" POLL_INTERVAL = 12 MAX_WAIT_SECONDS = 900 if not API_KEY: raise RuntimeError("Set COMETAPI_KEY before running this script.") headers = {"Authorization": f"Bearer {API_KEY}"} def parse_task_data(payload): return payload.get("data") or payload # 1. Submit the generation task. submit = requests.post( f"{BASE_URL}/videos", headers=headers, files={ "model": (None, "wan2.7"), "prompt": ( None, "A cinematic tracking shot of a futuristic train " "crossing a snowy mountain valley at sunrise." ), "seconds": (None, "5"), "size": (None, "1280x720"), }, timeout=60, ) submit.raise_for_status() submit_payload = submit.json() video_id = submit_payload.get("id") or submit_payload.get("task_id") if not video_id: raise RuntimeError(f"No video ID in response: {submit_payload}") print(f"Created video task: {video_id}") # 2. Poll until a terminal state or timeout. deadline = time.monotonic() + MAX_WAIT_SECONDS while time.monotonic() < deadline: response = requests.get( f"{BASE_URL}/videos/{video_id}", headers=headers, timeout=30, ) response.raise_for_status() payload = response.json() data = parse_task_data(payload) status = str(data.get("status", "unknown")) progress = data.get("progress", "unknown") print(f"status={status}, progress={progress}") if status in {"completed", "success"} or progress in {100, "100", "100%"}: break if status in {"failed", "error", "FAILURE"}: raise RuntimeError(f"Video generation failed: {payload}") time.sleep(POLL_INTERVAL) else: raise TimeoutError(f"Task {video_id} exceeded {MAX_WAIT_SECONDS}s") # 3. Download the completed MP4. video = requests.get( f"{BASE_URL}/videos/{video_id}/content", headers=headers, timeout=180, ) video.raise_for_status() output = Path("output") / f"{video_id}.mp4" output.parent.mkdir(parents=True, exist_ok=True) output.write_bytes(video.content) if output.stat().st_size == 0: raise RuntimeError("Downloaded file is empty.") print(f"Saved {output} ({output.stat().st_size} bytes)")
ขั้นตอนที่ 6: เรียก Wan 2.7 ด้วย JavaScript
ตัวอย่าง Node.js นี้ใช้ fetch และ FormData ที่มีมาให้ ใช้ Node.js 18 ขึ้นไป ตัวอย่างเขียนไฟล์ผลลัพธ์ด้วย node:fs/promises
import { mkdir, writeFile } from "node:fs/promises"; const apiKey = process.env.COMETAPI_KEY; const baseUrl = "https://api.cometapi.com/v1"; const pollIntervalMs = 12_000; const maxWaitMs = 15 * 60 * 1000; if (!apiKey) throw new Error("Set COMETAPI_KEY first."); const headers = { Authorization: `Bearer ${apiKey}` }; const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); const form = new FormData(); form.append("model", "wan2.7"); form.append( "prompt", "A cinematic tracking shot of a futuristic train crossing " + "a snowy mountain valley at sunrise." ); form.append("seconds", "5"); form.append("size", "1280x720"); const submitResponse = await fetch(`${baseUrl}/videos`, { method: "POST", headers, body: form, }); if (!submitResponse.ok) throw new Error(await submitResponse.text()); const submitPayload = await submitResponse.json(); const videoId = submitPayload.id || submitPayload.task_id; if (!videoId) throw new Error(`No video ID: ${JSON.stringify(submitPayload)}`); const deadline = Date.now() + maxWaitMs; while (Date.now() < deadline) { const statusResponse = await fetch(`${baseUrl}/videos/${videoId}`, { headers }); if (!statusResponse.ok) throw new Error(await statusResponse.text()); const payload = await statusResponse.json(); const data = payload.data || payload; const status = String(data.status || "unknown"); const progress = data.progress ?? "unknown"; console.log({ status, progress }); if (["completed", "success"].includes(status) || [100, "100", "100%"].includes(progress)) { break; } if (["failed", "error", "FAILURE"].includes(status)) { throw new Error(`Generation failed: ${JSON.stringify(payload)}`); } await sleep(pollIntervalMs); } if (Date.now() >= deadline) throw new Error(`Task ${videoId} timed out.`); const videoResponse = await fetch(`${baseUrl}/videos/${videoId}/content`, { headers }); if (!videoResponse.ok) throw new Error(await videoResponse.text()); await mkdir("output", { recursive: true }); const outputPath = `output/${videoId}.mp4`; await writeFile(outputPath, Buffer.from(await videoResponse.arrayBuffer())); console.log(`Saved ${outputPath}`);
พารามิเตอร์ของ Wan 2.7 API มีอะไรบ้าง?
| พารามิเตอร์ | ชนิด | จำเป็น | ตัวอย่าง | วัตถุประสงค์ |
|---|---|---|---|---|
| model | string | ใช่ | wan2.7 | เลือก Route |
| prompt | string | ใช่ | Scene description | กำหนดเนื้อหา การเคลื่อนไหว และสไตล์ |
| seconds | integer | ไม่ | 5 | ควบคุมระยะเวลาและต้นทุน |
| size | string | ไม่ | 1280x720 | ควบคุมความละเอียด/อัตราส่วนภาพ |
| input_reference | file | I2V | reference.png | ให้ภาพต้นทาง |
| Authorization | header | ใช่ | Bearer token | ยืนยันตัวตนคำขอ |
การแม็ประหว่าง CometAPI และพารามิเตอร์แบบเนทีฟของ Alibaba
| แนวคิด | CometAPI | Alibaba แบบเนทีฟ |
|---|---|---|
| โมเดล | wan2.7 | wan2.7-t2v หรือ wan2.7-i2v-* |
| ระยะเวลา | seconds | duration |
| ความละเอียด | size | resolution พร้อม ratio |
| ภาพอ้างอิง | input_reference | media[].type=first_frame |
| ตัวระบุตัวงาน | id หรือ task_id | output.task_id |
| สถานะงาน | GET /v1/videos/{id} | เอ็นด์พอยต์สอบถามงานของผู้ให้บริการ |
| ผลลัพธ์ไบนารี | GET /v1/videos/{id}/content | URL ผลลัพธ์ชั่วคราว/การตอบกลับของผู้ให้บริการ |
แผนผังนี้อธิบายว่าทำไมตัวอย่างจาก Alibaba Cloud จึงไม่สามารถคัดลอกไปวางใน CometAPI ได้ทันที ความสามารถของโมเดลมีความเกี่ยวข้องกัน แต่ชั้นการเข้าถึงและสคีมาต่างกัน
วิธีเขียนพรอมป์ต์ Wan 2.7 ให้ดียิ่งขึ้น: ตัวอย่าง
พรอมป์ต์วิดีโอที่ใช้งานได้จริง จะนิยามสิ่งที่ต้องคงที่และสิ่งที่ควรเปลี่ยนเมื่อเวลาผ่านไป ใช้โครงสร้างนี้:
Subject + action + environment + camera movement + lighting + visual style + timeline + audio direction + constraints
พรอมป์ต์ช็อตเดียว
A red vintage roadster drives along a wet coastal highway at blue hour. The camera tracks low beside the front wheel, then rises smoothly to reveal ocean cliffs. Realistic reflections, restrained motion blur, cinematic 35mm look, no text or logos.
พรอมป์ต์หลายช็อต
Create a cinematic detective sequence with consistent character identity. Shot 1 [0-2s]: a rain-soaked city street at night, neon reflected in puddles. Shot 2 [2-4s]: the detective enters an old building; slow handheld follow shot. Shot 3 [4-5s]: close-up of a clue under a narrow flashlight beam. Preserve the same coat, face and lighting palette across all shots. No captions.
พรอมป์ต์ภาพเป็นวิดีโอ
Preserve the subject's face, clothing and background layout. The subject looks up, turns slightly toward the window and takes one step forward. Slow camera push-in, warm light gradually increases, natural hair and fabric motion, no new objects.
แนวทางพรอมป์ต์เชิงลบ
ใช้พรอมป์ต์เชิงลบเพื่อกดโทนปัญหาที่พบซ้ำ มากกว่าบรรยายฉากที่ต้องการซ้ำอีกรอบ รายการสั้นๆ เช่น low resolution, deformed hands, duplicated limbs, flicker, unstable face, unreadable text และ watermark มักมีประโยชน์กว่าย่อหน้ายาวๆ ที่ขัดแย้งกัน
Wan 2.7 API มีค่าใช้จ่ายเท่าไร?
Route ของ CometAPI ปัจจุบันระบุ Wan 2.7 ที่ $0.08 ต่อวินาทีสำหรับ 720p และ $0.12 ต่อวินาทีสำหรับ 1080p ค่าประมาณต้นทุนจึงเป็นฟังก์ชันตรงของระยะเวลาที่สร้างและความละเอียดที่เลือก
| ความละเอียด | ราคา/วินาที | 5 วินาที | 10 วินาที | 15 วินาที |
|---|---|---|---|---|
| 720p | $0.08 | $0.40 | $0.80 | $1.20 |
| 1080p | $0.12 | $0.60 | $1.20 | $1.80 |
Estimated video cost = price per second x generated duration in seconds
แหล่งข้อมูล: ราคาจริงของโมเดลบน CometAPI
คำอธิบายราคา: อย่าอ้างว่า Route ของตัวกลางถูกกว่า Alibaba Cloud โดยไม่เปรียบเทียบภูมิภาค ตัวแปรโมเดล ความละเอียด ระยะเวลา โหมดเสียง และหน่วยการคิดเงินเดียวกัน ข้อได้เปรียบของ CometAPI คือราคา/วินาทีที่ชัดเจนและบิลลิ่งแบบรวม การได้ราคาผู้ให้บริการที่ดีกว่าต้องอาศัยการเปรียบเทียบบนฐานที่เท่าเทียม
คลิป 1080p ที่ไม่ผ่านรีวิวเชิงสร้างสรรค์มีราคาแพงกว่าราคาสร้างที่ระบุ เพราะทีมต้องสร้างใหม่ สำหรับการวางแผนการผลิต ให้หารค่าใช้จ่ายทั้งหมดด้วยจำนวนคลิปที่ผ่านโดยไม่ต้องแก้
Wan 2.7 เทียบกับ Seedance 2.5 เทียบกับ Vidu Q3 เทียบกับ Veo 3.1
ทางเลือกที่มีประโยชน์บนแพลตฟอร์มเดียวกัน ได้แก่ Seedance 2.5, Vidu Q3 และ Veo 3.1 ตารางด้านล่างเปรียบเทียบความเหมาะสมของเวิร์กโฟลว์ แทนที่จะประกาศผู้ชนะสากล ฟีเจอร์ของ Route อาจเปลี่ยนแปลงได้ จงยืนยันอินพุตขั้นสูงก่อนใช้งานจริง
| มิติ | Wan 2.7 | Seedance 2.5 | Vidu Q3 | Veo 3.1 |
|---|---|---|---|---|
| ตำแหน่งหลัก | ชุดมัลติโหมดที่ควบคุมได้ | การเล่าเรื่องยาวและการสร้างที่พึ่งอ้างอิงมาก | การสร้างเรื่องเล่าเร็ว | วิดีโอเชิงภาพยนตร์พร้อมเสียงเนทีฟ |
| ข้อความเป็นวิดีโอ | ใช่ | ใช่ | ใช่ | ใช่ |
| ภาพเป็นวิดีโอ | ใช่ | ใช่ | ใช่ | ใช่ |
| เฟรมแรก/เฟรมสุดท้าย | รองรับแบบเนทีฟในตระกูล | ขึ้นกับ Route | รองรับ | รองรับในเวิร์กโฟลว์ที่เลือก |
| การต่อเนื่องวิดีโอ | รองรับแบบเนทีฟในตระกูล | เน้นการตัดต่อ | ขึ้นกับ Route | เวิร์กโฟลว์ต่อขยาย |
| เสียง | อินพุตชี้นำ + BGM/SFX อัตโนมัติ | เสียง-วิดีโอร่วมกัน | เสียงซิงก์เนทีฟ | เสียงซิงก์เนทีฟ |
| ระยะเวลาทั่วไปของ Route | 2-15 วินาที T2V แบบเนทีฟ | 4-30 วินาทีตาม Route ที่ระบุ | 1-16 วินาทีตาม Route ที่ระบุ | 4/6/8 วินาทีตามโหมดทางการ |
| ความละเอียดสูงสุดทั่วไป | 1080p | ขึ้นกับ Route | 1080p | 1080p; ตัวแปรอื่นอาจต่างกัน |
| เหมาะที่สุดกับ | เวิร์กโฟลว์ที่ควบคุมได้ | การเล่าเรื่องหลายช็อตที่ยาวกว่า | การวนสร้างเรื่องเล่าเร็ว | ช็อตเชิงภาพยนตร์คุณภาพสูง |
ผลการเปรียบเทียบ
- เลือก Wan 2.7 เมื่อการควบคุมเฟรมแรก/สุดท้าย การต่อเนื่อง การขับด้วยเสียง และเวิร์กโฟลว์ที่ควบคุมได้กว้าง สำคัญกว่าความยาวคลิปเดี่ยวสูงสุด
- เลือก Seedance 2.5 เมื่อให้ความสำคัญกับการเล่าเรื่องหลายช็อตที่ยาวกว่าและงานสร้างที่พึ่งอ้างอิงมาก
- เลือก Vidu Q3 เมื่อการวนสร้างเรื่องเล่าอย่างรวดเร็ว เสียงซิงก์ และเวิร์กโฟลว์ที่เอื้อผู้สร้างเป็นศูนย์กลาง
- เลือก Veo 3.1 เมื่อคุณภาพเชิงภาพยนตร์ ความสมจริงทางภาพ และเสียงแบบบูรณาการ คุ้มค่ากับต้นทุน Route ที่สูงกว่า
- อย่าเลือกผู้ชนะจากสเปกเพียงอย่างเดียว ใช้ชุดพรอมป์ต์และทรัพยากรเดียวกัน แล้วเปรียบเทียบอัตราผลลัพธ์ที่ยอมรับและต้นทุนการผลิตรวม
แนวปฏิบัติที่ดีที่สุดสำหรับการผลิต
วงจรงานและความเชื่อถือได้
- เก็บ task ID ทันทีหลังสร้างงาน
- ใช้กลยุทธ์ idempotency ในแอปของคุณเอง เพื่อให้การรีทรายของไคลเอนต์ไม่สร้างงานที่ต้องชำระเงินซ้ำ
- โพลล์ที่ช่วง 10-15 วินาทีและกำหนดเวลารอสูงสุด แทน loop ไม่จำกัด
- แยกความล้มเหลว HTTP ชั่วคราวออกจากความล้มเหลวการสร้างที่ผู้ให้บริการระบุ
- ใช้ backoff แบบทวีคูณสำหรับข้อผิดพลาดเครือข่ายหรือโควตา แต่ไม่รีทรายข้อผิดพลาดนโยบายโดยไม่ไตร่ตรอง
- ทำเครื่องหมายงานว่าเสร็จเฉพาะหลังจากดาวน์โหลดเอาต์พุตและยืนยันว่าไม่ว่างเปล่า
- อย่าพึ่งพา URL ชั่วคราวของผู้ให้บริการถาวร ให้คัดลอกเอาต์พุตที่ยอมรับไปยังสตอเรจที่คุณควบคุมได้เมื่อได้รับอนุญาต
คุณภาพและการควบคุมต้นทุน
- สร้างต้นแบบพรอมป์ต์ที่ 720p และระยะเวลาสั้นก่อนสร้างมาสเตอร์ 1080p
- เก็บพรอมป์ต์ พรอมป์ต์เชิงลบ รหัสโมเดล Route ความละเอียด ระยะเวลา task ID และแฮชเอาต์พุตไว้ด้วยกันเพื่อการทำซ้ำได้
- สร้างเกณฑ์รีวิวสำหรับการยึดพรอมป์ต์ การเคลื่อนไหว ความสม่ำเสมอเชิงเวลา เอกลักษณ์ มือ ข้อความประหลาด เสียง และความปลอดภัย
- วัดต้นทุนต่อเอาต์พุตที่ยอมรับ ไม่ใช่เพียงต้นทุนต่อคำขอ
- รักษาชุดพรอมป์ต์ regression ขนาดเล็กและรันใหม่ก่อนสลับเวอร์ชัน Route หรือผู้ให้บริการโมเดล
ความปลอดภัยและธรรมาภิบาล
- เก็บคีย์ API ไว้ฝั่งเซิร์ฟเวอร์และหมุนคีย์เมื่อสงสัยว่ามีการเปิดเผย
- ตรวจสอบไฟล์ภาพและวิดีโอก่อนส่งต่อไปยัง Route การสร้าง
- ใช้การควบคุมด้านความยินยอม ความเหมือน และทรัพย์สินทางปัญญาสำหรับสื่ออ้างอิง
- เพิ่มการทบทวนโดยมนุษย์สำหรับงานโฆษณา ข่าว การเมือง การแพทย์ หรือการใช้งานที่มีผลกระทบสูง
- เก็บเมทาดาทาความเป็นต้นกำเนิด และใช้วอเตอร์มาร์กหรือการเปิดเผยตามข้อกำหนดของเขตอำนาจและแพลตฟอร์ม
ข้อผิดพลาดทั่วไปและการแก้ไขปัญหา
| อาการหรือข้อผิดพลาด | สาเหตุที่เป็นไปได้ | วิธีแก้ไขที่แนะนำ |
|---|---|---|
| 401 Unauthorized | คีย์หาย ใช้ไม่ได้ หรือถูกเพิกถอน | ตรวจสอบ Bearer token และตัวแปรสภาพแวดล้อม |
| 400 Bad Request | ฟิลด์ ขนาด หรือระยะเวลาที่ไม่รองรับ | เริ่มจากตัวอย่างบนหน้าระบบโมเดลแล้วเพิ่มฟิลด์ทีละรายการ |
| ไม่มี task ID | รูปแบบการตอบกลับที่ห่อหุ้มต่างไป | ล็อกการตอบกลับครบถ้วนและตรวจ data, id และ task_id |
| ค้างคิวเป็นเวลานาน | โหลดหรือขีดความสามารถของผู้ให้บริการ | โพลล์ต่อโดยมีขีดจำกัด ห้ามสร้างงานซ้ำ |
| การสร้างล้มเหลว | ข้อผิดพลาดสื่อ พรอมป์ต์ นโยบาย หรือผู้ให้บริการ | ตรวจเพย์โหลดสุดท้ายก่อนตัดสินใจว่าจะรีทรายหรือไม่ |
| MP4 ว่างเปล่า | ดาวน์โหลดก่อนเสร็จ หรือบันทึกเอกสาร error เป็น MP4 | ตรวจสถานะและ Content-Type ก่อนเขียนไฟล์ |
| อ้างอิงถูกปฏิเสธ | รูปแบบ มิติ ขนาด หรือจำนวนสื่อ | แปลงเป็น PNG/JPEG และยึดตามลิมิตของ Route ที่ใช้งานจริง |
| ต้นทุนไม่คาดคิด | ระยะเวลานาน ความละเอียดสูง หรือรีทราย | สร้างต้นแบบที่ 720p และติดตามอัตราเอาต์พุตที่ยอมรับ |
| ผลลัพธ์ไม่สม่ำเสมอ | ความสุ่มของการสร้างหรือพรอมป์ต์การเคลื่อนไหวคลุมเครือ | ระบุไทม์มิ่งและข้อจำกัดให้ชัด; เปรียบเทียบผู้สมัครหลายตัว |
ข้อเสนอแนะสุดท้าย
คุณค่าจริงของ Wan 2.7 คือความกว้างของเวิร์กโฟลว์วิดีโอที่ควบคุมได้: ข้อความเป็นวิดีโอ ภาพเคลื่อนไหวจากภาพ เฟรมยึด การต่อเนื่อง การสร้างแบบขับด้วยอ้างอิง และพฤติกรรมที่รับรู้เสียง ผ่าน CometAPI เส้นทางที่เร็วที่สุดคือยืนยันคำขอ 720p ความยาว 5 วินาทีด้วยเอ็นด์พอยต์แบบอะซิงโครนัสแบบรวม จากนั้นค่อยเพิ่มอินพุตภาพและเอาต์พุต 1080p หลังจากขั้นตอนสร้าง โพลล์ และดาวน์โหลดมีเสถียรภาพ
สำหรับการผลิต เก็บฟีเจอร์ขั้นสูงของเนทีฟไว้หลังการตรวจสอบความสามารถอย่างชัดเจน เพราะสคีมาแบบรวมของ CometAPI อาจไม่เปิดฟิลด์ของ Alibaba ครบทั้งหมด เปรียบเทียบ Wan 2.7 กับทางเลือกโดยใช้พรอมป์ต์และทรัพยากรเดียวกัน แล้วเลือก Route ที่ให้ต้นทุนต่อวิดีโอที่อนุมัติต่ำที่สุด แทนที่จะยึดติดกับราคาหัวข้อข่าวที่ถูกที่สุด
คำถามที่พบบ่อย
Wan 2.7 API คืออะไร?
เป็นตระกูลการสร้างวิดีโอแบบมัลติโหมดที่เข้าถึงผ่าน API ครอบคลุมข้อความเป็นวิดีโอ ภาพเป็นวิดีโอ เวิร์กโฟลว์แบบอ้างอิง และการตัดต่อวิดีโอ CometAPI เปิด Route สำหรับลูกค้าผ่านรหัสโมเดล wan2.7
รหัสโมเดล Wan 2.7 บน CometAPI คืออะไร?
ใช้ wan2.7 ห้ามแทนที่ด้วยตัวระบุแบบเนทีฟของ Alibaba เช่น wan2.7-t2v เว้นแต่คุณจะเรียก Alibaba Cloud โดยตรง
เอ็นด์พอยต์ใดใช้สร้างวิดีโอ Wan 2.7?
ส่งคำขอ multipart แบบ POST ไปที่ https://api.cometapi.com/v1/videos จากนั้นสอบถาม /v1/videos/{video_id} และดาวน์โหลดจาก /v1/videos/{video_id}/content
Wan 2.7 รองรับข้อความเป็นวิดีโอและภาพเป็นวิดีโอหรือไม่?
รองรับทั้งสองอย่าง ภาพเป็นวิดีโอเพิ่มภาพอ้างอิงและควรใช้ข้อกำหนดฟิลด์ multipart ปัจจุบันของ Route
Wan 2.7 รองรับความละเอียดใด?
Route วิดีโอของ Wan 2.7 ที่เผยแพร่รองรับ 720p และ 1080p เอกสารข้อความเป็นวิดีโอแบบเนทีฟยังระบุขนาดเอาต์พุตตามอัตราส่วนภาพสำหรับทั้งสองระดับ
วิดีโอ Wan 2.7 ยาวได้แค่ไหน?
API ข้อความเป็นวิดีโอแบบเนทีฟของ Alibaba อนุญาตค่าจำนวนเต็ม 2 ถึง 15 วินาที โดยค่าเริ่มต้น 5 วินาที ใช้ค่าตามที่ระบุสำหรับ Route ของ CometAPI ที่คุณเรียก
Wan 2.7 สร้างเสียงหรือไม่?
Alibaba ระบุการสร้างที่ขับด้วยเสียงและการสร้างดนตรีพื้นหลังหรือเอฟเฟกต์เสียงอัตโนมัติเมื่อไม่มีการอัปโหลดเสียง ฟิลด์เสียงที่เปิดผ่าน Route แบบรวมควรยืนยันก่อนใช้งานจริง
Wan 2.7 ใช้เฟรมแรกและเฟรมสุดท้ายได้หรือไม่?
ตระกูลภาพเป็นวิดีโอแบบเนทีฟรองรับเฟรมแรกและเวิร์กโฟลว์เฟรมแรกบวกเฟรมสุดท้าย ยืนยันฟิลด์ที่สอดคล้องกันบน Route แบบรวมก่อนพึ่งพาใน CometAPI
Wan 2.7 เป็น API แบบซิงก์หรืออะซิงก์?
เป็นแบบอะซิงโครนัส การสร้างงานจะส่งคืน ID; แอปของคุณต้องโพลล์สถานะและดาวน์โหลดผลลัพธ์หลังจากเสร็จ
Wan 2.7 บน CometAPI ราคาเท่าไร?
Route ที่เผยแพร่ระบุ $0.08 ต่อวินาทีสำหรับ 720p และ $0.12 ต่อวินาทีสำหรับ 1080p ดังนั้นคลิป 5 วินาทีจึงประมาณ $0.40 หรือ $0.60 ตามลำดับ
ควรใช้ Wan 2.7, Seedance 2.5, Vidu Q3 หรือ Veo 3.1?
ใช้ Wan 2.7 เมื่อให้ความสำคัญกับความสามารถควบคุมวงกว้าง ใช้ Seedance 2.5 สำหรับการเล่าเรื่องยาวที่พึ่งอ้างอิงมาก ใช้ Vidu Q3 เมื่อการวนสร้างเรื่องเล่าเร็วและเสียงซิงก์เป็นศูนย์กลาง และใช้ Veo 3.1 เมื่อคุณภาพเชิงภาพยนตร์ ความสมจริงทางภาพ และเสียงแบบบูรณาการคุ้มกับต้นทุน Route ที่สูงกว่า ตรวจเลือกด้วย A/B test ที่ควบคุมได้
Wan 2.7 ต่อวิดีโอที่มีอยู่ได้ไหม?
ทำได้ในตระกูลโมเดลแบบเนทีฟผ่านเวิร์กโฟลว์ first_clip ต้องตรวจสอบความพร้อมใช้งานและการแม็ปพารามิเตอร์บน Route แบบรวมของ CometAPI
