# Qwen Image 2.0 API เอกสารอ้างอิง API ฉบับสมบูรณ์สำหรับโมเดล Qwen Image 2.0 ที่ขับเคลื่อนโดย Alibaba Qwen. ## ตัวเลือกโมเดล API นี้รองรับโมเดล 4 ตัวเลือก: | โมเดล | ID | คำอธิบาย | |-------|-----|-------------| | **Qwen Image 2** | `qwen-image-2.0` | การสร้าง text-to-image | | **Qwen Image 2 Edit** | `qwen-image-2.0-edit` | การแก้ไขรูปภาพและการจัดองค์ประกอบหลายรูปภาพ | | **Qwen Image 2 Pro** | `qwen-image-2.0-pro` | การสร้าง text-to-image ที่ยกระดับคุณภาพเอาต์พุต | | **Qwen Image 2 Pro Edit** | `qwen-image-2.0-pro-edit` | การแก้ไขรูปภาพและจัดองค์ประกอบหลายรูปที่ยกระดับคุณภาพ | ## เปรียบเทียบอย่างรวดเร็ว | ฟีเจอร์ | Standard | Pro | |---------|----------|-----| | Text-to-Image | ✅ ใช่ | ✅ ใช่ | | การแก้ไขรูปภาพ | ✅ ใช่ | ✅ ใช่ | | อัตราส่วนภาพ | 7 ตัวเลือก | 7 ตัวเลือก | | อินพุตรูปภาพ (Edit) | ✅ ใช่ (1-6 รูป) | ✅ ใช่ (1-6 รูป) | | รองรับหลายรูปภาพ | ✅ ใช่ | ✅ ใช่ | | คุณภาพเอาต์พุต | Standard | Enhanced | | ฟีเจอร์ | Text-to-Image | Edit | |---------|---------------|------| | อินพุต | พรอมต์ข้อความ | รูปภาพ + พรอมต์ข้อความ | | อินพุตรูปภาพ | ❌ ไม่ | ✅ ใช่ (1-6 รูป) | | รองรับหลายรูปภาพ | ❌ ไม่ | ✅ ใช่ | | รองรับ seed | ✅ ไม่บังคับ | ✅ ไม่บังคับ | ### อัตราส่วนภาพที่รองรับ ทั้งโมเดล Standard และ Pro รองรับอัตราส่วนภาพ 7 แบบ: - `16:9` (ค่าเริ่มต้น), `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` ## Qwen Image 2 (ข้อความเป็นรูปภาพ) ### จุดเชื่อมต่อ ``` POST /api/v1/image/task ``` ### การยืนยันตัวตน ``` Authorization: Bearer YOUR_API_KEY ``` ### พารามิเตอร์คำขอ #### จำเป็น | พารามิเตอร์ | ประเภท | คำอธิบาย | |-----------|------|-------------| | `model_name` | string | ต้องเป็น `"qwen-image-2.0"` | | `prompt` | string | พรอมต์สำหรับสร้างรูปภาพ | | `width` | number | ค่าอัตราส่วนความกว้าง (เช่น 16 สำหรับ 16:9) | | `height` | number | ค่าอัตราส่วนความสูง (เช่น 9 สำหรับ 16:9) | **หมายเหตุ:** อัตราส่วน width:height ต้องเป็นหนึ่งใน: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` #### ไม่บังคับ | พารามิเตอร์ | ประเภท | คำอธิบาย | |-----------|------|-------------| | `seed` | number | ค่า seed แบบสุ่มสำหรับผลลัพธ์ที่ทำซ้ำได้ | ### ตัวอย่างคำขอ ```javascript const response = await fetch('https://api.flaq.ai/api/v1/image/task', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model_name: 'qwen-image-2.0', prompt: 'A serene mountain landscape at sunset', width: 16, height: 9 }) }); const { data } = await response.json(); const taskId = data.task_id; // Poll for results const pollResponse = await fetch( `https://api.flaq.ai/api/v1/image/${taskId}`, { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } } ); const result = await pollResponse.json(); console.log(result.data.task_result.images[0].url); ``` ## Qwen Image 2 Edit (การแก้ไขรูปภาพ) ### จุดเชื่อมต่อ ``` POST /api/v1/image/task ``` ### พารามิเตอร์คำขอ #### จำเป็น | พารามิเตอร์ | ประเภท | คำอธิบาย | |-----------|------|-------------| | `model_name` | string | ต้องเป็น `"qwen-image-2.0-edit"` | | `prompt` | string | คำอธิบายการแก้ไขที่ต้องการ | | `width` | number | ค่าอัตราส่วนความกว้าง (เช่น 16 สำหรับ 16:9) | | `height` | number | ค่าอัตราส่วนความสูง (เช่น 9 สำหรับ 16:9) | | `image_url_list` | string[] | อาร์เรย์ URL รูปภาพอินพุต (1-6 รายการ) | **หมายเหตุ:** อัตราส่วน width:height ต้องเป็นหนึ่งใน: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` #### ไม่บังคับ | พารามิเตอร์ | ประเภท | คำอธิบาย | |-----------|------|-------------| | `seed` | number | ค่า seed แบบสุ่มสำหรับผลลัพธ์ที่ทำซ้ำได้ | ### ตัวอย่างการแก้ไขรูปภาพเดียว ```javascript { model_name: 'qwen-image-2.0-edit', prompt: 'Change the sky to sunset colors', width: 16, height: 9, image_url_list: ['https://example.com/image.jpg'] } ``` ### ตัวอย่างการจัดองค์ประกอบหลายรูปภาพ สามารถรวมรูปภาพได้สูงสุด 6 รูปในคำขอเดียว: ```javascript { model_name: 'qwen-image-2.0-edit', prompt: 'Combine these images into a cohesive landscape', width: 16, height: 9, image_url_list: ['https://example.com/image1.jpg', 'https://example.com/image2.jpg', 'https://example.com/image3.jpg'] } ``` ## Qwen Image 2 Pro (ข้อความเป็นรูปภาพ) ใช้พารามิเตอร์เดียวกับ Qwen Image 2 โดยตั้ง `model_name` เป็น `qwen-image-2.0-pro` เพื่อยกระดับคุณภาพเอาต์พุต. ### ตัวอย่างคำขอ ```javascript const response = await fetch('https://api.flaq.ai/api/v1/image/task', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model_name: 'qwen-image-2.0-pro', prompt: 'A serene mountain landscape at sunset', width: 16, height: 9 }) }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Qwen Image 2 Pro Edit (การแก้ไขรูปภาพ) ใช้พารามิเตอร์เดียวกับ Qwen Image 2 Edit โดยตั้ง `model_name` เป็น `qwen-image-2.0-pro-edit` เพื่อยกระดับคุณภาพเอาต์พุต. ### ตัวอย่างคำขอ ```javascript const response = await fetch('https://api.flaq.ai/api/v1/image/task', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model_name: 'qwen-image-2.0-pro-edit', prompt: 'Change the sky to sunset colors', width: 16, height: 9, image_url_list: ['https://example.com/image.jpg'] }) }); const { data } = await response.json(); const taskId = data.task_id; ``` ## รูปแบบการตอบกลับ ### การตอบกลับเริ่มต้น ทุกโมเดลจะส่งคืน `task_id` สำหรับ Poll: ```json { "code": 0, "data": { "task_id": "{task_id}", "task_status": "submitted", "response_url": "https://api.flaq.ai/api/v1/image/{task_id}" }, "message": "success" } ``` ### การตอบกลับจากการ Poll Poll `GET /api/v1/image/{taskId}` เพื่อตรวจสอบสถานะ: ```json { "code": 0, "data": { "task_id": "{task_id}", "task_status": "succeed", "task_status_msg": null, "response_url": "https://api.flaq.ai/api/v1/image/{task_id}", "task_result": { "credit": 0.0997, "images": [ { "url": "https://example.com/generated-image.jpeg" } ] } }, "message": "success" } ``` ### ค่าสถานะ - `submitted`: รับงานแล้ว - `processing`: กำลังสร้าง - `succeed`: สร้างสำเร็จ - `failed`: สร้างล้มเหลว ## การจัดการข้อผิดพลาด ### ข้อผิดพลาดที่พบบ่อย **อัตราส่วนภาพไม่ถูกต้อง** ```json { "code": 400, "message": "Ratio must be one of: 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3" } ``` **ไม่มี URL รูปภาพ (โหมดแก้ไข)** ```json { "code": 400, "message": "image_url_list is required for edit models" } ``` **รูปภาพมากเกินไป (โหมด Edit)** ```json { "code": 400, "message": "image_url_list supports a maximum of 6 images" } ``` **ไม่ได้รับอนุญาต** ```json { "code": 401, "message": "Invalid or missing API key" } ``` ## แนวทางปฏิบัติที่ดี ### เคล็ดลับ ข้อความเป็นรูปภาพ 1. **ระบุให้เฉพาะเจาะจง**: ใส่รายละเอียดวัตถุ สไตล์ แสง และองค์ประกอบภาพในพรอมต์ 2. **การเลือกอัตราส่วนภาพ**: เลือกอัตราส่วนตามกรณีใช้งานของคุณ (16:9 สำหรับแบนเนอร์เว็บ, 9:16 สำหรับมือถือ, 1:1 สำหรับโซเชียลมีเดีย) 3. **ใช้ seed เพื่อทำซ้ำผลลัพธ์**: ตั้งค่า `seed` คงที่เมื่อคุณต้องการผลลัพธ์ที่สอดคล้องกันระหว่างคำขอ 4. **Standard vs Pro**: ใช้ Standard สำหรับการวนปรับอย่างรวดเร็วเมื่อคุณภาพเอาต์พุตคือสิ่งสำคัญ ### เคล็ดลับการแก้ไขรูปภาพ 1. **คำสั่งที่ชัดเจน**: ระบุในพรอมต์ให้ชัดเจนว่าต้องการเปลี่ยนอะไร 2. **การจัดองค์ประกอบหลายรูปภาพ**: ส่งรูปได้สูงสุด 6 รูปและอธิบายว่าควรรวมกันอย่างไร 3. **แนวทางพรอมต์**: อธิบายผลลัพธ์ที่ต้องการ แทนการระบุแค่รายการเปลี่ยนแปลง 4. **คุณภาพรูปภาพ**: โดยทั่วไป รูปภาพอินพุตคุณภาพสูงจะให้ผลลัพธ์การแก้ไขที่ดีกว่า