كيفية اختبار توليد الصور من HiDream-I1 عبر API

@apidog

@apidog

16 يوليو 2025

كيفية اختبار توليد الصور من HiDream-I1 عبر API

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

يبدو أنه في كل أسبوع نحصل على نماذج جديدة لتوليد الصور بواسطة الذكاء الاصطناعي قادرة على إنشاء صور مذهلة. أحد هذه النماذج القوية هو HiDream-I1-Full. بينما يمكن أن يكون تشغيل هذه النماذج محليًا مكثفًا من حيث الموارد، فإن استخدام واجهات البرمجة التطبيقية (APIs) يوفر وسيلة مريحة وقابلة للتوسع لدمج هذه التقنية في تطبيقاتك أو سير العمل لديك.

سيوجهك هذا الدليل خلال:

  1. فهم HiDream-I1-Full: ما هو وما هي قدراته.
  2. خيارات API: استكشاف منصتين شعبيتين تقدمان HiDream-I1-Full عبر API: Replicate وFal.ai.
  3. الاختبار باستخدام Apidog: دليل خطوة بخطوة حول كيفية التفاعل مع واختبار هذه الواجهات البرمجية باستخدام أداة Apidog.
💡
هل تريد أداة اختبار واجهات برمجة تطبيقات رائعة تولد وثائق واجهة برمجة تطبيقات جميلة?

هل تريد منصة متكاملة، شاملة لفريق المطورين لديك للعمل معًا بكفاءة قصوى?

Apidog يلبي جميع متطلباتك، ويحل محل Postman بسعر أكثر تنافسية!
زر

الجمهور المستهدف: المطورين، المصممين، عشاق الذكاء الاصطناعي، وأي شخص مهتم باستخدام توليد الصور المتقدمة بالذكاء الاصطناعي بدون إعدادات محلية معقدة.

المتطلبات المسبقة:

ما هو HiDream-I1-Full؟

HiDream AI: الملك الجديد لتوليد الصور بواسطة الذكاء الاصطناعي؟

HiDream-I1-Full هو نموذج متقدم لتحويل النص إلى صورة تم تطويره بواسطة HiDream AI. ينتمي إلى عائلة النماذج المصممة لتوليد صور عالية الجودة، متناسقة، وجميلة من الوصف النصي (المحفزات).

تفاصيل النموذج: يمكنك العثور على البطاقة الرسمية للنموذج ومزيد من المعلومات التقنية على Hugging Face: https://huggingface.co/HiDream-ai/HiDream-I1-Full

الم capabilities الرئيسية (المعتاد في نماذج من هذه الفئة):

مقارنات HiDream AI مع GOT-4o، Recraft V3، Google Image 3، Ideogram 3.0 وFLUX (المصدر: ArtificialAnalysis)

لماذا تستخدم واجهة برمجة التطبيقات؟

يتطلب تشغيل نماذج الذكاء الاصطناعي الكبيرة مثل HiDream-I1-Full محليًا موارد حسابية كبيرة (وحدات معالجة رسومية قوية، ذاكرة RAM كبيرة، وتخزين) وإعدادات فنية (إدارة الاعتماديات، أوزان النموذج، تكوينات البيئة). توفر استخدام واجهة برمجة التطبيقات العديد من المزايا:

كيفية استخدام HiDream-I1-Full عبر API

تستضيف عدة منصات نماذج الذكاء الاصطناعي وتوفر الوصول إلى واجهات برمجة التطبيقات. سنركز على خيارين شعبيين لـ HiDream-I1-Full:

الخيار 1: استخدام واجهة برمجة تطبيقات HiDream من Replicate

Replicate هي منصة تجعل من السهل تشغيل نماذج التعلم الآلي عبر واجهة برمجة تطبيقات بسيطة، دون الحاجة إلى إدارة البنية التحتية. يستضيفون مكتبة ضخمة من النماذج المنشورة من قبل المجتمع.

كيفية عمل Replicate:

  1. التحقق: تحتاج إلى رمز API الخاص بـ Replicate، والذي يمكنك العثور عليه في إعدادات حسابك. يتم تمرير هذا الرمز في رأس Authorization.
  2. بدء توقع: ترسل طلب POST إلى نقطة النهاية الخاصة بـ API Replicate للتوقعات. يحتوي جسم الطلب على إصدار النموذج ومعلمات الإدخال (مثل prompt، negative_prompt، seed، إلخ).
  3. عملية غير متزامنة: عادةً ما تعمل Replicate بصورة غير متزامنة. يرجع طلب POST الأول على الفور مع معرف التوقع وURLs للتحقق من الحالة.
  4. الحصول على النتائج: تحتاج إلى استعلام URL الحالة (المقدم في الاستجابة الأولية) باستخدام طلبات GET حتى تصبح الحالة succeeded (أو failed). ستحتوي الاستجابة النهائية الناجحة على URL أو URLs للصورة المولدة.

مثال Python مفاهيمي (باستخدام requests):

import requests
import time
import os

REPLICATE_API_TOKEN = "YOUR_REPLICATE_API_TOKEN" # استخدم المتغيرات البيئية في الإنتاج
MODEL_VERSION = "TARGET_MODEL_VERSION_FROM_REPLICATE_PAGE" # على سبيل المثال، "9a0b4534..."

# 1. بدء التوقع
headers = {
    "Authorization": f"Token {REPLICATE_API_TOKEN}",
    "Content-Type": "application/json"
}
payload = {
    "version": MODEL_VERSION,
    "input": {
        "prompt": "مدينة سايبربانك مهيبة عند غروب الشمس، أضواء نيون تنعكس على الشوارع المبللة، توضيح مفصل",
        "negative_prompt": "قبيح، مشوه، ضبابي، سيء الجودة، نص، علامة مائية",
        "width": 1024,
        "height": 1024,
        "seed": 12345
        # أضف متغيرات أخرى كما هو مطلوب بناءً على صفحة نموذج Replicate
    }
}

start_response = requests.post("<https://api.replicate.com/v1/predictions>", json=payload, headers=headers)
start_response_json = start_response.json()

if start_response.status_code != 201:
    print(f"خطأ في بدء التوقع: {start_response_json.get('detail')}")
    exit()

prediction_id = start_response_json.get('id')
status_url = start_response_json.get('urls', {}).get('get')

print(f"بدأ التوقع بمعرف: {prediction_id}")
print(f"رابط الحالة: {status_url}")

# 2. الاستعلام عن النتائج
output_image_url = None
while True:
    print("التحقق من الحالة...")
    status_response = requests.get(status_url, headers=headers)
    status_response_json = status_response.json()

    status = status_response_json.get('status')
    if status == 'succeeded':
        output_image_url = status_response_json.get('output') # عادةً قائمة من URLs
        print("نجح التوقع!")
        print(f"المخرج: {output_image_url}")
        break
    elif status == 'failed' or status == 'canceled':
        print(f"فشل التوقع أو أُلغي: {status_response_json.get('error')}")
        break
    elif status in ['starting', 'processing']:
        # انتظر قبل الاستعلام مرة أخرى
        time.sleep(5) # عدل فترة الاستعلام حسب الحاجة
    else:
        print(f"حالة غير معروفة: {status}")
        print(status_response_json)
        break

# الآن يمكنك استخدام output_image_url

التسعير: تفرض Replicate رسومًا بناءً على وقت تنفيذ النموذج على أجهزة الكمبيوتر الخاصة بهم. تحقق من صفحة التسعير الخاصة بهم للحصول على التفاصيل.

الخيار 2: Fal.ai

Fal.ai هو منصة أخرى تركز على توفير استنتاج سريع، قابل للتوسع، وفعال من حيث التكلفة لنماذج الذكاء الاصطناعي عبر واجهات برمجة التطبيقات. غالبًا ما يبرزون الأداء الفوري.

كيفية عمل Fal.ai:

  1. التحقق: تحتاج إلى بيانات اعتماد واجهة برمجة تطبيقات Fal (معرف المفتاح وسر المفتاح، غالبًا ما يتم دمجهما كـ KeyID:KeySecret). يتم تمرير ذلك في رأس Authorization، عادةً كـ Key YourKeyID:YourKeySecret.
  2. نقطة نهاية API: توفر Fal.ai رابط نقطة النهاية المباشر لوظيفة النموذج المحددة.
  3. شكل الطلب: ترسل طلب POST إلى رابط نقطة النهاية الخاصة بالنموذج. جسم الطلب عادةً ما يكون JSON يحتوي على معلمات الإدخال المطلوبة من قبل النموذج (مشابه لReplicate: prompt، إلخ).
  4. متزامن مقابل غير متزامن: يمكن أن تقدم Fal.ai كليهما. للمهمات التي قد تستغرق وقتًا طويلاً مثل توليد الصور، قد يستخدمون:

مثال Python مفاهيمي (باستخدام requests - المفترض قائمة انتظار غير متزامنة):

import requests
import time
import os

FAL_API_KEY = "YOUR_FAL_KEY_ID:YOUR_FAL_KEY_SECRET" # استخدم المتغيرات البيئية
MODEL_ENDPOINT_URL = "<https://fal.run/fal-ai/hidream-i1-full>" # تحقق من الرابط المحدد على Fal.ai

# 1. تقديم الطلب إلى قائمة الانتظار (نموذج - تحقق من الوثائق الخاصة بـ Fal للحصول على الهيكل الدقيق)
headers = {
    "Authorization": f"Key {FAL_API_KEY}",
    "Content-Type": "application/json"
}
payload = {
    # المعلمات غالبًا ما تكون مباشرة في الحمولة لوظائف Fal بدون خادم
    # أو ضمن كائن "input" حسب الإعداد. تحقق من الوثائق!
    "prompt": "بورتريه هايبرواقعي لرائد فضاء يطفو في الفضاء، الأرض تنعكس في نظارات الخوذة",
    "negative_prompt": "رسوم كاريكاتورية، رسم، توضيح، تخطيط، نص، أحرف",
    "seed": 98765
    # أضف معلمات أخرى مدعومة من قبل تنفيذ Fal.ai
}

# قد تحتاج Fal.ai لإضافة '/queue' أو معلمات الاستعلام المحددة لغير المتزامن
# مثال: POST <https://fal.run/fal-ai/hidream-i1-full/queue>
# تحقق من الوثائق الخاصة بهم! بافتراض نقطة نهاية تعيد رابط الحالة:

submit_response = requests.post(f"{MODEL_ENDPOINT_URL}", json=payload, headers=headers, params={"fal_webhook": "رابط الويب الاختياري"}) # تحقق من الوثائق للمعلمات مثل webhook

if submit_response.status_code >= 300:
    print(f"خطأ في تقديم الطلب: {submit_response.status_code}")
    print(submit_response.text)
    exit()

submit_response_json = submit_response.json()

# قد تختلف استجابة Fal.ai الغير متزامنة - قد تعيد request_id أو رابط الحالة المباشر
# بافتراض أنها تعيد رابط الحالة مشابه لReplicate لهذا المثال المفهومي
status_url = submit_response_json.get('status_url') # أو بناء من request_id، تحقق من الوثائق
request_id = submit_response_json.get('request_id') # معرف بديل

if not status_url and request_id:
     # قد تحتاج لبناء رابط الحالة، على سبيل المثال <https://fal.run/fal-ai/hidream-i1-full/requests/{request_id}/status>
     # أو استعلام عن نقطة حالة عامة: <https://fal.run/requests/{request_id}/status>
     print("تحتاج إلى بناء رابط الحالة أو استخدام request_id، تحقق من الوثائق لـ Fal.")
     exit() # يحتاج إلى تنفيذ محدد بناءً على وثائق Fal

print(f"تم تقديم الطلب. رابط الحالة: {status_url}")

# 2. استعلام عن النتائج (إذا كانت غير متزامنة)
output_data = None
while status_url: # استعلم فقط إذا كان لدينا رابط حالة
    print("التحقق من الحالة...")
    # قد يتطلب الاستعلام أيضًا تحقق
    status_response = requests.get(status_url, headers=headers)
    status_response_json = status_response.json()

    status = status_response_json.get('status') # تحقق من وثائق Fal للحصول على مفاتيح الحالة ('COMPLETED'، 'FAILED'، إلخ)

    if status == 'COMPLETED': # حالة المثال
        output_data = status_response_json.get('response') # أو 'result'، 'output'، تحقق من الوثائق
        print("تم إكمال الطلب!")
        print(f"المخرج: {output_data}") # هيكل المخرج يعتمد على النموذج على Fal.ai
        break
    elif status == 'FAILED': # حالة المثال
        print(f"فشل الطلب: {status_response_json.get('error')}") # تحقق من حقل الخطأ
        break
    elif status in ['IN_PROGRESS', 'IN_QUEUE']: # حالات المثال
        # انتظر قبل الاستعلام مرة أخرى
        time.sleep(3) # عدل فترة الاستعلام
    else:
        print(f"حالة غير معروفة: {status}")
        print(status_response_json)
        break

# استخدم output_data (والذي قد يحتوي على URLs صور أو معلومات أخرى)

التسعير: عادةً ما تتقاضى Fal.ai رسوما بناءً على وقت التنفيذ، غالبًا مع فواتير بالثانية. تحقق من تفاصيل تسعيرهم للنموذج المحدد والموارد الحاسوبية.

اختبر واجهة برمجة تطبيقات HiDream باستخدام Apidog

Apidog هو أداة قوية لتصميم وتطوير واختبار واجهات برمجة التطبيقات. يوفر واجهة مستخدم سهلة الاستخدام لإرسال طلبات HTTP، تفقد الردود، وإدارة تفاصيل واجهة برمجة التطبيقات، مما يجعلها مثالية لاختبار واجهتي Replicate وFal.ai قبل دمجهما في الشيفرة.

زر

خطوات لاختبار واجهة برمجة تطبيقات HiDream-I1-Full باستخدام Apidog:

الخطوة 1. تثبيت وفتح Apidog: قم بتنزيل وتثبيت Apidog أو استخدم الإصدار الويب الخاص به. أنشئ حسابًا إذا لزم الأمر.

الخطوة 2. أنشئ طلبًا جديدًا:

الخطوة 3. اضبط أسلوب HTTP ورابط URL:

الخطوة 4. تكوين الرؤوس:

أضف رأس Content-Type:

أضف رأس Authorization:

لـ Replicate:

لـ Fal.ai:

الخطوة 5. تكوين جسم الطلب:

اذهب إلى علامة تبويب Body.

اختر تنسيق raw واختر JSON من القائمة المنسدلة.

ألصق الحمولة JSON وفقًا لمتطلبات المنصة.

مثال للحمولة JSON لReplicate:

{
  "version": "PASTE_MODEL_VERSION_FROM_REPLICATE_PAGE_HERE",
  "input": {
    "prompt": "لوحة مائية لركن مكتبة دافئة مع قطة نائمة",
    "negative_prompt": "واقعي للغاية، تصوير ثلاثي الأبعاد، فن سيء، مشوه",
    "width": 1024,
    "height": 1024,
    "seed": 55555
  }
}

مثال للحمولة JSON لـ Fal.ai

{
  "prompt": "لوحة مائية لركن مكتبة دافئة مع قطة نائمة",
  "negative_prompt": "واقعي للغاية، تصوير ثلاثي الأبعاد، فن سيء، مشوه",
  "width": 1024,
  "height": 1024,
  "seed": 55555
  // يمكن أن تكون هناك حاجة إلى معلمات أخرى مثل 'model_name' حسب إعداد Fal.ai
}

مهم: ارجع إلى الوثائق المحددة على صفحات Replicate أو Fal.ai للحصول على المعلمات المطلوبة والاختيارية بالضبط لإصدار نموذج HiDream-I1-Full الذي تستخدمه. قد تكون معلمات مثل guidance_scale، num_inference_steps، إلخ، متاحة.

الخطوة 6. إرسال الطلب:

استعلم عن النتائج (لواجهات برمجة التطبيقات غير المتزامنة):

عرض الصورة: انسخ عنوان URL للصورة من الاستجابة النهائية الناجحة والصقه في متصفح الويب الخاص بك لعرض الصورة المولدة.

💡
هل تريد أداة اختبار واجهات برمجة تطبيقات رائعة تولد وثائق واجهة برمجة تطبيقات جميلة?

هل تريد منصة متكاملة، شاملة لفريق المطورين لديك للعمل معًا بكفاءة قصوى?

Apidog يلبي جميع متطلباتك، ويحل محل Postman بسعر أكثر تنافسية!
زر

الخاتمة

يقدم HiDream-I1-Full قدرات قوية لتوليد الصور، ويجعل استخدام واجهات برمجة التطبيقات من منصات مثل Replicate أو Fal.ai هذه التقنية متاحة بدون الحاجة لإدارة بنية تحتية معقدة. من خلال فهم سير العمل API (الطلب، الاستعلام المحتمل، الاستجابة) واستخدام أدوات مثل Apidog للاختبار، يمكنك بسهولة التجريب ودمج توليد الصور المتقدمة بالذكاء الاصطناعي في مشاريعك.

تذكر دائمًا الرجوع إلى الوثائق المحددة على Replicate وFal.ai للحصول على أحدث روابط نقاط النهاية، المعلمات المطلوبة، طرق التحقق، وتفاصيل التسعير، حيث يمكن أن تتغير هذه بمرور الوقت. نتمنى لك تجربة إبداعية!

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات