Skip to main content
تدعم واجهة برمجة تطبيقات OpenAI لتوليد الصور حاليًا عدة نماذج لتوليد الصور، بما في ذلك النموذج الكلاسيكي dall-e-3، والنموذج ذو قدرة أفضل على عرض النصوص gpt-image-1، والجيل الأحدث gpt-image-2، بالإضافة إلى سلسلة النماذج nano-banana / nano-banana-2 / nano-banana-pro التي يتم الوصول إليها عبر نفس الواجهة. جميعها قادرة على توليد صور عالية الجودة بناءً على الوصف النصي. تتناول هذه الوثيقة بشكل رئيسي كيفية استخدام واجهة برمجة تطبيقات OpenAI لتوليد الصور، والتي تتيح لنا استخدام وظائف توليد الصور من سلسلة OpenAI بسهولة.

عملية الطلب

لاستخدام واجهة برمجة تطبيقات OpenAI لتوليد الصور، يمكنك أولاً الذهاب إلى صفحة OpenAI Images Generations API والنقر على زر “Acquire” للحصول على بيانات الاعتماد المطلوبة للطلب: إذا لم تكن قد سجلت الدخول أو لم تقم بالتسجيل، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لتسجيل حسابك وتسجيل الدخول، وبعد ذلك ستعود تلقائيًا إلى الصفحة الحالية. عند التقديم لأول مرة، ستحصل على رصيد مجاني يمكن استخدامه مجانًا مع هذه الواجهة.

نموذج GPT-Image-2

gpt-image-2 هو نموذج توليد الصور من الجيل الجديد الذي أطلقته OpenAI، ويتميز بتحسينات واضحة مقارنة بـ dall-e-3 و gpt-image-1 في الجوانب التالية:
  • قدرة أفضل على اتباع التعليمات: يمكنه فهم التعليمات الهيكلية المعقدة مثل التكوين، العد، والعلاقات المكانية بدقة.
  • عرض نصوص أوضح: في المشاهد مثل الملصقات، القوائم، الرسوم المعلوماتية، والشعارات، تظهر الحروف الإنجليزية والأرقام بشكل صحيح تقريبًا دون تشويش.
  • تعبير أسلوبي أكثر ثراءً: يدعم بشكل أصلي أنماطًا متعددة مثل الصور السينمائية، الملصقات الكلاسيكية، الرسوم التوضيحية للأطفال، تصوير المنتجات، والرسوم المعلوماتية.
  • دعم متعدد النسب ودقة عالية أصليًا: يغطي 5 نسب (1:1، 4:3، 3:4، 16:9، 9:16) مع 3 مستويات دقة (1K / 2K / 4K).
طريقة الاستدعاء مماثلة تمامًا للنماذج الأخرى، فقط قم بتعيين حقل model إلى gpt-image-2. رابط الصورة في النتيجة url هو رابط صورة مستضاف دائمًا على platform.cdn.acedata.cloud، ويمكن فتحه مباشرة في المتصفح أو تضمينه في صفحات الويب.

القيم المدعومة لحقل size

يفحص gpt-image-2 فقط تنسيق size، طالما أنه ليس auto أو سلسلة فارغة، يجب أن يتطابق مع WIDTHxHEIGHT (مثل 1024x1024، 2048x1152، 800x600)؛ أي شكل آخر سيؤدي إلى رد 400. جميع الأحجام (1K / 2K / 4K / مخصصة) يتم احتسابها كتكلفة موحدة لكل صورة، ولا يتم فرض رسوم إضافية حسب الحجم. القيود الصارمة من المصدر: العرض والارتفاع يجب أن يكونا من مضاعفات 16، والجانب الأطول ≤ 3840، وإجمالي عدد البكسلات ≤ 8,294,400. أي تجاوز سيتم رفضه من المصدر ويرجع برمز 4xx.
يمكنك أيضًا تمرير size: "auto" أو حذف حقل size، عندها يختار النموذج الحجم الافتراضي تلقائيًا. في وضع 1K، لا يضمن المصدر دقة البكسل الدقيقة — قد ترسل 1024x1024 وتحصل على 1254x1254 مع الحفاظ على النسبة. إذا أعدت تمريرها كـ size، لا يتغير الحساب. عادةً ما تستغرق المكالمة الواحدة بدقة 4K من 4 إلى 8 دقائق، يُنصح باستخدام callback_url للرد غير المتزامن كما هو موضح لاحقًا.
حول المعامل n gpt-image-2 لا يدعم n > 1 حاليًا: سيتم تجاهل هذا المعامل صامتًا، سواء أرسلت n=1 أو n=10، ستُرجع صورة واحدة فقط ويتم احتسابها كصورة واحدة. إذا كنت تريد عدة صور في نفس الوقت، يرجى إرسال طلبات متعددة متزامنة (يوصى بتمرير prompt أو seed مختلفة لتجنب تشابه الصور). هذا القيد ينطبق أيضًا على gpt-image-1 / gpt-image-1.5، وnano-banana / nano-banana-2 / nano-banana-pro. dall-e-2 هو النموذج الوحيد الذي يدعم n > 1 أصليًا؛ dall-e-3 يدعم فقط n = 1.
فيما يلي بعض الأمثلة الواقعية من زوايا مختلفة لتوضيح قدرات gpt-image-2.

المشهد الأول: صورة سينمائية شخصية

يمكن استخدام مصطلحات سينمائية في النص (مثل فيلم 35 مم، عمق ميدان ضحل، أضواء نيون) للتحكم الدقيق في الجو والملمس. مثال استدعاء بايثون:
النتيجة المرجعة:
الصورة المولدة كما يلي:

المشهد الثاني: ملصق سفر كلاسيكي (مع عرض نصوص)

يظهر gpt-image-2 أداءً مستقرًا في تنسيق النصوص والخطوط، مما يجعله مناسبًا لتوليد الملصقات، القوائم، بطاقات التهنئة وغيرها من التصاميم التي تحتوي على نصوص.
الصورة المرتبطة بحقل url في النتيجة:

يمكن ملاحظة أن النموذج أعاد بدقة أسلوب ملصقات Art Deco، وتم عرض النصوص AMALFI و ITALIA 1958 بوضوح وصحة.

المشهد الثالث: تكوين معقد وعدّ

النص التالي لاختبار قدرة النموذج على اتباع تعليمات “الكمية” و”الموقع” الهيكلية.
الصورة المولدة:

يمكن ملاحظة أن عدد الكتب على الأرفف الثلاثة (1 / 3 / 7) مطابق تمامًا للنص، وهو أمر كان من الصعب تحقيقه بثبات في عصر dall-e-3.

المشهد الرابع: أسلوب الرسوم التوضيحية (أفقي)

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

الاستدعاء غير المتزامن والردود العكسية

عادةً ما تستغرق مكالمة gpt-image-2 من 60 إلى 90 ثانية. إذا كنت لا ترغب في إبقاء الاتصال مفتوحًا لفترة طويلة، يمكنك استخدام آلية الرد العكسي غير المتزامن callback_url الموضحة لاحقًا، وطريقة الاستدعاء مماثلة للنماذج الأخرى.

سلسلة نماذج Nano Banana

سلسلة nano-banana هي نماذج توليد صور مبنية على Gemini، تم دمجها عبر نفس واجهة /openai/images/generations، ولا حاجة لتغيير نقطة النهاية، فقط قم بتغيير قيمة model إلى أي من النماذج في الجدول التالي.
مهم: نطاق دعم المعاملات يتم الوصول إلى Nano Banana عبر طبقة توافق مع بروتوكول OpenAI، مقارنة بـ gpt-image-* يدعم فقط المعاملات التالية: model، prompt، size.
  • يتم تحويل size إلى aspect_ratio داخليًا حسب الجدول التالي، الأحجام غير المدرجة تتحول إلى 1:1:
    • 1024x1024 / 512x512 / 256x2561:1
    • 1792x102416:9
    • 1024x17929:16
  • لا يدعم n، quality، style، response_format، background، output_format وغيرها؛ يتم تجاهلها إذا تم تمريرها.
  • هيكل الرد يتبع تنسيق OpenAI (data[].url)، لكن created ثابت على 0، ولا يعيد b64_json، وrevised_prompt دائمًا يساوي prompt الأصلي.

استدعاء أساسي

النتيجة المرجعة:
يمكن الوصول إلى الصورة المولدة مباشرة عبر رابط url:

الترقية إلى النموذج الرائد nano-banana-pro

يكفي تغيير model إلى nano-banana-pro، مع بقاء باقي المعاملات كما هي:
مثال على النتيجة:

الرد العكسي غير المتزامن

آلية callback_url للرد العكسي غير المتزامن تعمل أيضًا مع nano-banana، وطريقة الاستدعاء مماثلة للنماذج الأخرى، راجع القسم الرد العكسي غير المتزامن أدناه.

الاستخدام الأساسي

بعد ذلك يمكنك ملء المحتويات المناسبة في الواجهة كما هو موضح في الصورة:

عند استخدام هذه الواجهة لأول مرة، نحتاج على الأقل إلى ملء ثلاثة محتويات: الأول هو authorization، يمكن اختياره مباشرة من القائمة المنسدلة. المعامل الثاني هو model، وهو اختيار نموذج OpenAI DALL-E الرسمي، لدينا نموذج واحد رئيسي هنا، التفاصيل موجودة في قائمة النماذج المقدمة. المعامل الأخير هو prompt، وهو النص الذي نستخدمه لتوليد الصورة. يمكنك أيضًا ملاحظة وجود كود استدعاء مقابِل على الجانب الأيمن، يمكنك نسخه وتشغيله مباشرة، أو النقر على زر “Try” للاختبار.

مثال استدعاء بايثون:
بعد الاستدعاء، نجد النتيجة كما يلي:
النتيجة تحتوي على عدة حقول، وهي:
  • created: معرف فريد لمهمة توليد الصورة.
  • data: يحتوي على معلومات نتائج توليد الصورة.
داخل data توجد معلومات مفصلة عن الصورة التي أنشأها النموذج، وurl هو رابط تفصيلي للصورة، كما هو موضح في الصورة.

معامل جودة الصورة quality

الآن سنشرح كيفية ضبط بعض المعاملات التفصيلية لنتائج توليد الصور، منها معامل جودة الصورة quality الذي يحتوي على خيارين: الأول standard لتوليد صورة بجودة قياسية، والثاني hd لإنشاء صورة بتفاصيل أدق واتساق أكبر. فيما يلي ضبط جودة الصورة إلى standard كما في الصورة:

يمكنك أيضًا ملاحظة وجود كود استدعاء مقابِل على الجانب الأيمن، يمكنك نسخه وتشغيله مباشرة، أو النقر على زر “Try” للاختبار.

مثال استدعاء بايثون:
بعد الاستدعاء، نجد النتيجة كما يلي:
النتيجة متوافقة مع الاستخدام الأساسي، والصورة الناتجة بجودة standard كما في الصورة:

بنفس الطريقة، فقط قم بتغيير جودة الصورة إلى hd لتحصل على الصورة التالية:

يمكن ملاحظة أن الصور بجودة hd تتميز بتفاصيل أدق واتساق أكبر مقارنة بـ standard.

معامل حجم الصورة size

يمكننا أيضًا ضبط أبعاد الصورة المولدة. فيما يلي ضبط حجم الصورة إلى 1024 * 1024 كما في الصورة:

يمكنك أيضًا ملاحظة وجود كود استدعاء مقابِل على الجانب الأيمن، يمكنك نسخه وتشغيله مباشرة، أو النقر على زر “Try” للاختبار.

مثال استدعاء بايثون:
بعد الاستدعاء، نجد النتيجة كما يلي:
النتيجة متوافقة مع الاستخدام الأساسي، والصورة بحجم 1024 * 1024 كما في الصورة:

بنفس الطريقة، فقط قم بتغيير الحجم إلى 1792 * 1024 لتحصل على الصورة التالية: يمكن ملاحظة اختلاف واضح في حجم الصورة، ويمكن ضبط المزيد من الأحجام، راجع الوثائق الرسمية للمزيد من التفاصيل.

معامل نمط الصورة style

معامل نمط الصورة style يحتوي على خيارين: الأول vivid لتوليد صور أكثر حيوية، والثاني natural لتوليد صور أكثر طبيعية. فيما يلي ضبط نمط الصورة إلى vivid كما في الصورة:

يمكنك أيضًا ملاحظة وجود كود استدعاء مقابِل على الجانب الأيمن، يمكنك نسخه وتشغيله مباشرة، أو النقر على زر “Try” للاختبار.

مثال استدعاء بايثون:
بعد الاستدعاء، نجد النتيجة كما يلي:
النتيجة متوافقة مع الاستخدام الأساسي، والصورة بنمط vivid كما في الصورة:

بنفس الطريقة، فقط قم بتغيير النمط إلى natural لتحصل على الصورة التالية:

يمكن ملاحظة أن الصور بنمط vivid أكثر حيوية وواقعية مقارنة بـ natural.

معامل صيغة رابط الصورة response_format

المعامل الأخير هو صيغة رابط الصورة response_format ويحتوي على خيارين: الأول b64_json لترميز رابط الصورة بصيغة Base64، والثاني url وهو رابط الصورة العادي الذي يمكن عرضه مباشرة. فيما يلي ضبط صيغة رابط الصورة إلى url كما في الصورة:

يمكنك أيضًا ملاحظة وجود كود استدعاء مقابِل على الجانب الأيمن، يمكنك نسخه وتشغيله مباشرة، أو النقر على زر “Try” للاختبار.

مثال استدعاء بايثون:
بعد الاستدعاء، نجد النتيجة كما يلي:
النتيجة متوافقة مع الاستخدام الأساسي، ورابط الصورة بنمط url هو رابط الصورة ويمكن عرضه مباشرة كما في الصورة:

بنفس الطريقة، فقط قم بتغيير صيغة الرابط إلى b64_json لتحصل على نتيجة ترميز Base64 لرابط الصورة، كما يلي:

الرد العكسي غير المتزامن

نظرًا لأن توليد الصور عبر واجهة برمجة تطبيقات OpenAI قد يستغرق وقتًا نسبيًا طويلاً، فإن بقاء طلب HTTP مفتوحًا لفترة طويلة يستهلك موارد النظام، لذا توفر هذه الواجهة دعمًا للرد العكسي غير المتزامن. العملية العامة: عند إرسال الطلب، يتم تحديد حقل callback_url، ثم تعيد الواجهة فورًا نتيجة تحتوي على task_id لتمثيل معرف المهمة الحالية. عند الانتهاء من توليد الصورة، يتم إرسال النتيجة عبر طلب POST بصيغة JSON إلى عنوان callback_url المحدد من العميل، مع تضمين task_id لربط النتيجة بالمهمة. فيما يلي مثال توضيحي. أولًا، رد الويب هو خدمة يمكنها استقبال طلبات HTTP، ويجب على المطور استبدالها بعنوان خادم HTTP الخاص به. لتسهيل العرض، نستخدم موقع ويب عام للويب هوك https://webhook.site/، عند فتح الموقع تحصل على عنوان ويب هوك كما في الصورة: انسخ هذا العنوان لاستخدامه كويب هوك، في المثال هو https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab. بعد ذلك، يمكننا تعيين حقل callback_url إلى عنوان الويب هوك أعلاه، مع ملء المعاملات الأخرى كما في الكود التالي:
عند التشغيل، ستحصل فورًا على نتيجة مثل:
بعد قليل، يمكنك مراقبة نتائج توليد الصورة على عنوان الويب هوك، المحتوى كما يلي:
يمكن ملاحظة وجود حقل task_id في النتيجة، وحقل data يحتوي على نفس نتائج توليد الصورة في الاستدعاء المتزامن، مما يتيح ربط النتائج بالمهمة عبر task_id.

معالجة الأخطاء

عند استدعاء الواجهة، إذا حدث خطأ، ستعيد الواجهة رمز الخطأ والمعلومات المناسبة، مثل:
  • 400 token_mismatched: طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صحيحة.
  • 400 api_not_implemented: طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صحيحة.
  • 401 invalid_token: غير مصرح، رمز تفويض مفقود أو غير صالح.
  • 429 too_many_requests: عدد الطلبات كبير جدًا، تجاوزت الحد المسموح.
  • 500 api_error: خطأ داخلي في الخادم.

مثال على رد الخطأ

الخلاصة

من خلال هذه الوثيقة، أصبحت تعرف كيفية استخدام واجهة برمجة تطبيقات OpenAI لتوليد الصور بسهولة للاستفادة من وظائف توليد الصور الرسمية لـ OpenAI DALL-E. نأمل أن تساعدك هذه الوثيقة في التكامل والاستخدام الأفضل لهذه الواجهة. إذا كان لديك أي استفسار، لا تتردد في التواصل مع فريق الدعم الفني لدينا.