# Qwen Image 2.0 API Referensi API lengkap untuk model Qwen Image 2.0 yang didukung oleh Alibaba Qwen. ## Varian Model API ini mendukung empat varian model: | Model | ID | Deskripsi | |-------|-----|----------| | **Qwen Image 2** | `qwen-image-2.0` | Pembuatan gambar dari teks | | **Qwen Image 2 Edit** | `qwen-image-2.0-edit` | Pengeditan gambar dan komposisi multi-gambar | | **Qwen Image 2 Pro** | `qwen-image-2.0-pro` | Pembuatan gambar dari teks yang ditingkatkan dengan kualitas output lebih tinggi | | **Qwen Image 2 Pro Edit** | `qwen-image-2.0-pro-edit` | Pengeditan gambar yang ditingkatkan dan komposisi multi-gambar | ## Perbandingan Cepat | Fitur | Standard | Pro | |-------|----------|-----| | Text-to-Image | ✅ Ya | ✅ Ya | | Pengeditan Gambar | ✅ Ya | ✅ Ya | | Rasio Aspek | 7 pilihan | 7 pilihan | | Input Gambar (Edit) | ✅ Ya (1-6 gambar) | ✅ Ya (1-6 gambar) | | Dukungan Multi-Gambar | ✅ Ya | ✅ Ya | | Kualitas Output | Standard | Enhanced | | Fitur | Text-to-Image | Edit | |-------|---------------|------| | Input | Text prompt | Gambar + Text prompt | | Input Gambar | ❌ Tidak | ✅ Ya (1-6 gambar) | | Dukungan Multi-Gambar | ❌ Tidak | ✅ Ya | | Dukungan Seed | ✅ Opsional | ✅ Opsional | ### Rasio Aspek yang Didukung Model Standard dan Pro mendukung 7 rasio aspek: - `16:9` (default), `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` ## Qwen Image 2 (Text-to-Image) ### Endpoint ``` POST /api/v1/image/task ``` ### Autentikasi ``` Authorization: Bearer YOUR_API_KEY ``` ### Parameter Permintaan #### Wajib | Parameter | Tipe | Deskripsi | |-----------|------|----------| | `model_name` | string | Harus berupa `"qwen-image-2.0"` | | `prompt` | string | Prompt pembuatan gambar | | `width` | number | Nilai rasio lebar (misalnya 16 untuk 16:9) | | `height` | number | Nilai rasio tinggi (misalnya 9 untuk 16:9) | **Catatan:** Rasio width:height harus salah satu dari: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` #### Opsional | Parameter | Tipe | Deskripsi | |-----------|------|----------| | `seed` | number | Seed acak untuk hasil yang dapat direproduksi | ### Contoh Permintaan ```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 (Pengeditan Gambar) ### Endpoint ``` POST /api/v1/image/task ``` ### Parameter Permintaan #### Wajib | Parameter | Tipe | Deskripsi | |-----------|------|----------| | `model_name` | string | Harus berupa `"qwen-image-2.0-edit"` | | `prompt` | string | Deskripsi pengeditan yang diinginkan | | `width` | number | Nilai rasio lebar (misalnya 16 untuk 16:9) | | `height` | number | Nilai rasio tinggi (misalnya 9 untuk 16:9) | | `image_url_list` | string[] | Array of input image URLs (1-6 items) | **Catatan:** Rasio width:height harus salah satu dari: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` #### Opsional | Parameter | Tipe | Deskripsi | |-----------|------|----------| | `seed` | number | Seed acak untuk hasil yang dapat direproduksi | ### Contoh Pengeditan Gambar Tunggal ```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'] } ``` ### Contoh Komposisi Multi-Gambar Hingga 6 gambar dapat digabungkan dalam satu permintaan: ```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) Menggunakan parameter yang sama dengan Qwen Image 2, dengan `model_name` diatur ke `qwen-image-2.0-pro` untuk kualitas output yang ditingkatkan. ### Contoh Permintaan ```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 (Pengeditan Gambar) Menggunakan parameter yang sama dengan Qwen Image 2 Edit, dengan `model_name` diatur ke `qwen-image-2.0-pro-edit` untuk kualitas output yang ditingkatkan. ### Contoh Permintaan ```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; ``` ## Format Respons ### Respons Awal Semua model mengembalikan `task_id` untuk 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" } ``` ### Respons Polling Panggil `GET /api/v1/image/{taskId}` untuk memeriksa status: ```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" } ``` ### Nilai Status - `submitted`: Tugas diterima - `processing`: Pembuatan gambar sedang berlangsung - `succeed`: Pembuatan gambar berhasil diselesaikan - `failed`: Pembuatan gambar gagal ## Penanganan Error ### Error Umum **Rasio Aspek Tidak Valid** ```json { "code": 400, "message": "Ratio must be one of: 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3" } ``` **URL Gambar Tidak Ada (Mode Edit)** ```json { "code": 400, "message": "image_url_list is required for edit models" } ``` **Terlalu Banyak Gambar (Mode Edit)** ```json { "code": 400, "message": "image_url_list supports a maximum of 6 images" } ``` **Tidak Terotorisasi** ```json { "code": 401, "message": "Invalid or missing API key" } ``` ## Praktik Terbaik ### Tips untuk Text-to-Image 1. **Bersikap Spesifik**: Sertakan subjek, gaya, pencahayaan, dan detail komposisi dalam prompt Anda 2. **Pemilihan Rasio Aspek**: Pilih rasio berdasarkan kasus penggunaan Anda (16:9 untuk banner web, 9:16 untuk mobile, 1:1 untuk media sosial) 3. **Gunakan Seed untuk Reprodusibilitas**: Tetapkan nilai `seed` yang tetap saat Anda membutuhkan hasil yang konsisten antar permintaan 4. **Standard vs Pro**: Gunakan Standard untuk iterasi cepat ketika kualitas output menjadi prioritas ### Tips untuk Pengeditan Gambar 1. **Instruksi yang Jelas**: Bersikaplah spesifik tentang apa yang perlu diubah dalam prompt 2. **Komposisi Multi-Gambar**: Sediakan hingga 6 gambar dan deskripsikan bagaimana gambar-gambar tersebut harus digabungkan 3. **Panduan Prompt**: Deskripsikan hasil yang diinginkan daripada sekadar mendaftar perubahan 4. **Kualitas Gambar**: Gambar input dengan kualitas lebih tinggi umumnya menghasilkan hasil pengeditan yang lebih baik