# واجهة API لـ Qwen Image 2.0 مرجع API كامل لنماذج Qwen Image 2.0 المدعومة بواسطة Alibaba Qwen. ## متغيرات النموذج تدعم واجهة API هذه أربعة متغيرات من النماذج: | النموذج | المعرّف | الوصف | | ------- | ----- | ------------- | | **Qwen Image 2** | `qwen-image-2.0` | Text-to-image generation | | **Qwen Image 2 Edit** | `qwen-image-2.0-edit` | تحرير الصور وتركيب صور متعددة | | **Qwen Image 2 Pro** | `qwen-image-2.0-pro` | Enhanced text-to-image generation with higher quality output | | **Qwen Image 2 Pro Edit** | `qwen-image-2.0-pro-edit` | Enhanced image editing and multi-image composition | ## مقارنة سريعة | الميزة | قياسي | Pro | | --------- | ---------- | ----- | | نص إلى صورة | ✅ نعم | ✅ نعم | | تحرير الصور | ✅ نعم | ✅ نعم | | نسب العرض إلى الارتفاع | 7 خيارات | 7 خيارات | | إدخال الصور (تحرير) | ✅ نعم (1-6 صور) | ✅ نعم (1-6 صور) | | دعم الصور المتعددة | ✅ نعم | ✅ نعم | | جودة المخرجات | قياسي | محسّن | | الميزة | نص إلى صورة | تحرير | | --------- | --------------- | ------ | | الإدخال | موجه نصي | صورة/صور + موجه نصي | | إدخال الصور | ❌ لا | ✅ نعم (1-6 صور) | | دعم الصور المتعددة | ❌ لا | ✅ نعم | | دعم Seed | ✅ اختياري | ✅ اختياري | ### نسب العرض إلى الارتفاع المدعومة يدعم نموذجا Standard وPro 7 نسب عرض إلى ارتفاع: - `16:9` (default), `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 | قيمة نسبة العرض (e.g., 16 for 16:9) | | `height` | number | قيمة نسبة الارتفاع (e.g., 9 for 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 تحرير (تحرير الصور) ### نقطة النهاية ``` POST /api/v1/image/task ``` ### معاملات الطلب #### مطلوب | المعامل | النوع | الوصف | | ----------- | ------ | ------------- | | `model_name` | string | يجب أن يكون `"qwen-image-2.0-edit"` | | `prompt` | string | وصف التعديلات المطلوبة | | `width` | number | قيمة نسبة العرض (e.g., 16 for 16:9) | | `height` | number | قيمة نسبة الارتفاع (e.g., 9 for 16:9) | | `image_url_list` | string[] | مصفوفة عناوين URL لصور الإدخال (1-6 items) | **ملاحظة:** يجب أن تكون نسبة 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 تحرير (تحرير الصور) يستخدم نفس معاملات 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` للاستطلاع: ```json { "code": 0, "data": { "task_id": "{task_id}", "task_status": "submitted", "response_url": "https://api.flaq.ai/api/v1/image/{task_id}" }, "message": "success" } ``` ### استجابة الاستطلاع استطلع `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" } ``` **عدد كبير جداً من الصور (وضع التحرير)** ```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 مقابل Pro**: استخدم Standard للتكرار السريع عندما تكون جودة المخرجات هي الأولوية ### نصائح تحرير الصور 1. **تعليمات واضحة**: كن محدداً بشأن ما تريد تغييره في الموجه 2. **تركيب الصور المتعددة**: وفّر ما يصل إلى 6 صور وصف كيف ينبغي دمجها 3. **توجيه الموجه**: صف النتيجة المطلوبة بدلاً من مجرد سرد التغييرات 4. **جودة الصورة**: تنتج صور الإدخال الأعلى جودة عادةً نتائج تحرير أفضل