# Qwen Image 2.0 API Tài liệu tham khảo API đầy đủ cho các mô hình Qwen Image 2.0 được cung cấp bởi Alibaba Qwen. ## Các Biến Thể Mô Hình API này hỗ trợ bốn biến thể mô hình: | Mô hình | ID | Mô tả | |---------|-----|-------| | **Qwen Image 2** | `qwen-image-2.0` | Tạo ảnh từ văn bản | | **Qwen Image 2 Edit** | `qwen-image-2.0-edit` | Chỉnh sửa ảnh và kết hợp nhiều ảnh | | **Qwen Image 2 Pro** | `qwen-image-2.0-pro` | Tạo ảnh từ văn bản nâng cao với chất lượng đầu ra cao hơn | | **Qwen Image 2 Pro Edit** | `qwen-image-2.0-pro-edit` | Chỉnh sửa ảnh nâng cao và kết hợp nhiều ảnh | ## So Sánh Nhanh | Tính năng | Standard | Pro | |-----------|----------|-----| | Text-to-Image | ✅ Có | ✅ Có | | Chỉnh sửa ảnh | ✅ Có | ✅ Có | | Tỷ lệ khung hình | 7 tùy chọn | 7 tùy chọn | | Ảnh đầu vào (Edit) | ✅ Có (1-6 ảnh) | ✅ Có (1-6 ảnh) | | Hỗ trợ nhiều ảnh | ✅ Có | ✅ Có | | Chất lượng đầu ra | Standard | Enhanced | | Tính năng | Text-to-Image | Edit | |-----------|---------------|------| | Đầu vào | Text prompt | Ảnh + Text prompt | | Ảnh đầu vào | ❌ Không | ✅ Có (1-6 ảnh) | | Hỗ trợ nhiều ảnh | ❌ Không | ✅ Có | | Hỗ trợ Seed | ✅ Tùy chọn | ✅ Tùy chọn | ### Tỷ Lệ Khung Hình Được Hỗ Trợ Cả mô hình Standard và Pro đều hỗ trợ 7 tỷ lệ khung hình: - `16:9` (mặc định), `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` ## Qwen Image 2 (Text-to-Image) ### Endpoint ``` POST /api/v1/image/task ``` ### Xác Thực ``` Authorization: Bearer YOUR_API_KEY ``` ### Tham Số Yêu Cầu #### Bắt buộc | Tham số | Kiểu | Mô tả | |---------|------|-------| | `model_name` | string | Phải là `"qwen-image-2.0"` | | `prompt` | string | Prompt tạo ảnh | | `width` | number | Giá trị tỷ lệ chiều rộng (ví dụ: 16 cho 16:9) | | `height` | number | Giá trị tỷ lệ chiều cao (ví dụ: 9 cho 16:9) | **Lưu ý:** Tỷ lệ width:height phải là một trong các giá trị: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` #### Tùy chọn | Tham số | Kiểu | Mô tả | |---------|------|-------| | `seed` | number | Seed ngẫu nhiên để tái tạo kết quả | ### Ví Dụ Yêu Cầu ```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 (Chỉnh Sửa Ảnh) ### Endpoint ``` POST /api/v1/image/task ``` ### Tham Số Yêu Cầu #### Bắt buộc | Tham số | Kiểu | Mô tả | |---------|------|-------| | `model_name` | string | Phải là `"qwen-image-2.0-edit"` | | `prompt` | string | Mô tả các chỉnh sửa mong muốn | | `width` | number | Giá trị tỷ lệ chiều rộng (ví dụ: 16 cho 16:9) | | `height` | number | Giá trị tỷ lệ chiều cao (ví dụ: 9 cho 16:9) | | `image_url_list` | string[] | Array of input image URLs (1-6 items) | **Lưu ý:** Tỷ lệ width:height phải là một trong các giá trị: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` #### Tùy chọn | Tham số | Kiểu | Mô tả | |---------|------|-------| | `seed` | number | Seed ngẫu nhiên để tái tạo kết quả | ### Ví Dụ Chỉnh Sửa Một Ảnh ```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'] } ``` ### Ví Dụ Kết Hợp Nhiều Ảnh Có thể kết hợp tối đa 6 ảnh trong một yêu cầu: ```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 (Text-to-Image) Sử dụng cùng các tham số như Qwen Image 2, với `model_name` được đặt thành `qwen-image-2.0-pro` để có chất lượng đầu ra nâng cao. ### Ví Dụ Yêu Cầu ```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 (Chỉnh Sửa Ảnh) Sử dụng cùng các tham số như Qwen Image 2 Edit, với `model_name` được đặt thành `qwen-image-2.0-pro-edit` để có chất lượng đầu ra nâng cao. ### Ví Dụ Yêu Cầu ```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; ``` ## Định Dạng Phản Hồi ### Phản Hồi Ban Đầu Tất cả các mô hình đều trả về `task_id` để polling: ```json { "code": 0, "data": { "task_id": "{task_id}", "task_status": "submitted", "response_url": "https://api.flaq.ai/api/v1/image/{task_id}" }, "message": "success" } ``` ### Phản Hồi Polling Gọi `GET /api/v1/image/{taskId}` để kiểm tra trạng thái: ```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" } ``` ### Các Giá Trị Trạng Thái - `submitted`: Tác vụ đã được chấp nhận - `processing`: Đang tạo ảnh - `succeed`: Tạo ảnh hoàn thành thành công - `failed`: Tạo ảnh thất bại ## Xử Lý Lỗi ### Các Lỗi Thường Gặp **Tỷ lệ khung hình không hợp lệ** ```json { "code": 400, "message": "Ratio must be one of: 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3" } ``` **Thiếu URL ảnh (Chế độ Edit)** ```json { "code": 400, "message": "image_url_list is required for edit models" } ``` **Quá nhiều ảnh (Chế độ Edit)** ```json { "code": 400, "message": "image_url_list supports a maximum of 6 images" } ``` **Không được phép** ```json { "code": 401, "message": "Invalid or missing API key" } ``` ## Thực Hành Tốt Nhất ### Mẹo Cho Text-to-Image 1. **Hãy cụ thể**: Bao gồm chủ thể, phong cách, ánh sáng và chi tiết bố cục trong prompt của bạn 2. **Lựa chọn tỷ lệ khung hình**: Chọn tỷ lệ phù hợp với trường hợp sử dụng của bạn (16:9 cho banner web, 9:16 cho di động, 1:1 cho mạng xã hội) 3. **Sử dụng Seed để tái tạo**: Đặt giá trị `seed` cố định khi bạn cần kết quả nhất quán giữa các yêu cầu 4. **Standard vs Pro**: Sử dụng Standard để lặp lại nhanh khi chất lượng đầu ra là ưu tiên ### Mẹo Cho Chỉnh Sửa Ảnh 1. **Hướng dẫn rõ ràng**: Hãy cụ thể về những gì cần thay đổi trong prompt 2. **Kết hợp nhiều ảnh**: Cung cấp tối đa 6 ảnh và mô tả cách chúng nên được kết hợp 3. **Hướng dẫn prompt**: Mô tả kết quả mong muốn thay vì chỉ liệt kê các thay đổi 4. **Chất lượng ảnh**: Ảnh đầu vào có chất lượng cao hơn thường cho kết quả chỉnh sửa tốt hơn