# API Kling 2.6 Motion Control เอกสารอ้างอิง API ฉบับสมบูรณ์สำหรับการสร้างวิดีโอด้วย Kling 2.6 Motion Control จาก Kuaishou ## รุ่นของโมเดล API นี้รองรับโมเดลหนึ่งรุ่น: | โมเดล | ID | คำอธิบาย | |-------|-----|-------------| | **Kling 2.6 Motion Control** | `kling-2.6-motion-control` | สร้างวิดีโอโดยใช้พรอมต์ข้อความ ภาพอ้างอิงหนึ่งภาพ และวิดีโออ้างอิงหนึ่งรายการ | ## Kling 2.6 Motion Control ### จุดปลายทาง ``` POST /api/v1/video/task ``` ### พารามิเตอร์คำขอ #### จำเป็น | พารามิเตอร์ | ชนิด | คำอธิบาย | |-----------|------|-------------| | `model_name` | string | ต้องเป็น `"kling-2.6-motion-control"` | | `prompt` | string | พรอมต์สำหรับสร้างวิดีโอ ความยาวสูงสุด 5000 อักขระ | | `images` | string[] | URL ของภาพอ้างอิงหนึ่งภาพเท่านั้น รองรับ `.jpg`, `.jpeg` และ `.png`; ขนาดไฟล์ต้องไม่เกิน 50 MB ความกว้างและความสูงต้องไม่น้อยกว่า 300 px ทั้งสองด้าน โดยมีอัตราส่วนภาพระหว่าง 1:2.5 ถึง 2.5:1 | | `videos` | string[] | URL ของวิดีโออ้างอิงหนึ่งรายการเท่านั้น รองรับ `.mp4` และ `.mov`; ขนาดไฟล์ต้องไม่เกิน 100 MB ความกว้างและความสูงต้องอยู่ระหว่าง 340 ถึง 3850 px ทั้งสองด้าน โดยรวมค่าขอบเขตด้วย ความยาวต้องไม่น้อยกว่า 3 วินาที ส่วนความยาวสูงสุดขึ้นอยู่กับ `character_orientation` | | `character_orientation` | string | จำเป็นต้องระบุและไม่มีค่าเริ่มต้น `"image"`: ใช้ทิศทางของตัวละครตามภาพอ้างอิง โดยวิดีโออ้างอิงต้องยาว 3-10 วินาที `"video"`: ใช้ทิศทางของตัวละครตามวิดีโออ้างอิง โดยวิดีโออ้างอิงต้องยาว 3-30 วินาที ช่วงความยาวทั้งสองรวมค่าขอบเขตด้วย | | `resolution` | string | ความละเอียดของผลลัพธ์: `"720p"` หรือ `"1080p"` จำเป็นต้องระบุและไม่มีค่าเริ่มต้น | #### ไม่บังคับ | พารามิเตอร์ | ชนิด | คำอธิบาย | |-----------|------|-------------| | `keep_original_sound` | boolean | กำหนดว่าจะเก็บเสียงต้นฉบับของวิดีโออ้างอิงไว้หรือไม่ รับค่า `true` หรือ `false`; ค่าเริ่มต้นคือ `true` | ความยาวของผลลัพธ์จะเป็นไปตามวิดีโอต้นฉบับ ไม่รองรับพารามิเตอร์ `duration` อัตราส่วนภาพของผลลัพธ์กำหนดโดยสื่ออินพุต และไม่รองรับ `aspect_ratio` ผู้ให้บริการต้นทางยังไม่ได้ระบุว่าอินพุตใดเป็นตัวกำหนดอัตราส่วนภาพของผลลัพธ์ หรือใช้กฎการเลือกใดอย่างแน่ชัด การคิดค่าบริการอิงตามความยาวของวิดีโอต้นฉบับที่ปัดเป็นจำนวนวินาทีเต็มที่ใกล้ที่สุด และความละเอียดของผลลัพธ์ที่เลือก ตัวอย่างเช่น 5.4 วินาทีคิดค่าบริการเป็น 5 วินาที และ 5.5 วินาทีคิดเป็น 6 วินาที ### ตัวอย่างคำขอ แทนที่ URL สื่อตัวอย่างด้วย URL ไฟล์ของคุณเองที่ตรงตามข้อกำหนดข้างต้น ```javascript const response = await fetch('https://api.flaq.ai/api/v1/video/task', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model_name: 'kling-2.6-motion-control', prompt: 'Animate the character in the reference image using the dance movements from the reference video', images: ['https://example.com/character.jpg'], videos: ['https://example.com/dance-reference.mp4'], character_orientation: 'video', resolution: '720p', keep_original_sound: true }) }); const { data } = await response.json(); const taskId = data.task_id; ``` ## รูปแบบการตอบกลับ ### การตอบกลับเริ่มต้น ส่งคืน `task_id` สำหรับสอบถามสถานะเป็นระยะ: ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/video/{task_id}", "task_status": "submitted" } } ``` สอบถามเป็นระยะด้วย `GET /api/v1/video/{task_id}` เพื่อตรวจสอบสถานะและรับวิดีโอที่สร้างขึ้น ### ค่าสถานะ - `submitted`: รับงานแล้วและกำลังรอประมวลผล - `processing`: กำลังสร้างวิดีโอ - `succeed`: สร้างวิดีโอเสร็จสมบูรณ์ - `failed`: สร้างวิดีโอไม่สำเร็จ ## แนวทางปฏิบัติที่แนะนำ 1. **สื่ออ้างอิง**: ส่งภาพหนึ่งภาพและวิดีโอหนึ่งรายการเท่านั้น โดยตรวจสอบรูปแบบ ขนาดไฟล์ และขนาดภาพก่อนส่ง 2. **ทิศทางตัวละคร**: ตรวจสอบความยาวของวิดีโออ้างอิงอีกครั้งเมื่อเปลี่ยน `character_orientation` โดยเฉพาะเมื่อเลือก `"image"` 3. **เสียงต้นฉบับ**: ตั้งค่า `keep_original_sound` เป็น `false` เพื่อไม่เก็บเสียงต้นฉบับของวิดีโออ้างอิง หากไม่ระบุพารามิเตอร์นี้จะเก็บเสียงไว้