Skip to main content
OpenAI Images Generations API 目前支持多种图像生成模型,包括经典的 dall-e-3、文字渲染能力更强的 gpt-image-1、最新一代的 gpt-image-2,以及通过同一接口接入的 nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro 系列模型。它们都能根据文本描述生成高质量的图像。 本文档主要介绍 OpenAI Images Generations API 操作的使用流程,利用它我们可以轻松使用 OpenAI 系列的图像生成功能。

申请流程

要使用 OpenAI Images Generations API,首先到 Ace Data Cloud 控制台 获取您的 API Token,留作备用。 如果你尚未登录或注册,会自动跳转到登录页面邀请你注册和登录,完成后会自动返回当前页面。 一个 API Token 即可调用平台所有服务,无需为每个服务单独申请。 首次申请会赠送免费额度,可免费体验;额度不足时可在 控制台 充值通用余额。
📘 完整文档:OpenAI Images Generations API →

GPT-Image-2 模型

gpt-image-2 是 OpenAI 推出的新一代图像生成模型,相比 dall-e-3gpt-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 上的图片链接,可以直接在浏览器中打开或嵌入到网页中。

官方中转 / 逆向变体(:official / :reverse

gpt-image-2 默认走逆向线路。通过模型名后缀可以显式选择线路:
  • gpt-image-2:official:官方中转线路。支持 n > 1(一次返回多张)与真实 2K / 4K 分辨率,按每张图片计费,单价为默认 gpt-image-2 的 2 倍。当前仅由 openai-hk 渠道提供,线路不可用时直接返回错误,不会降级到逆向线路。
  • gpt-image-2:reverse:与默认 gpt-image-2 完全等价(逆向线路),用于显式声明走逆向线路、价格不变。
下文“关于 n 参数”的限制只适用于默认 / 逆向线路;gpt-image-2:official 支持 n > 1 并按张计费。

支持的 size 取值

gpt-image-2 只检查 size 的格式,只要不是 auto 或空串,就需要匹配 WIDTHxHEIGHT(例如 1024x10242048x1152800x600);任何其他形态会返回 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,单次请求都只会返回 1 张图,并且只按 1 张计费。如果你需要一次拿到多张候选图,请自行并发发起多次请求(建议同时传不同的 prompt 或不同的 seed,否则得到的几张图可能高度相似)。该限制同样适用于 gpt-image-1 / gpt-image-1.5,以及 nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro 系列。dall-e-2 是目前唯一原生支持 n > 1 的模型;dall-e-3 仅支持 n = 1
下面通过几个不同方位的真实示例来直观感受 gpt-image-2 的能力。

场景一:电影感人像

提示词中可以使用电影术语(35mm 胶片、浅景深、霓虹光等)来精准控制氛围与质感。 Python 样例调用代码:
النتيجة كما يلي:
الصورة الناتجة كما يلي:

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

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

يمكن رؤية أن النموذج لم يستعد فقط أسلوب الملصق البصري لآرت ديكو بدقة، بل تم عرض نص العنوان أمالفي و إيطاليا 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، حيث أن model هو نوع النموذج الذي نختار استخدامه من موقع OpenAI DALL-E، وهنا لدينا نموذج واحد رئيسي، يمكنك الاطلاع على النماذج التي نقدمها. المعلمة الأخيرة هي prompt، حيث أن prompt هو الكلمة المفتاحية التي ندخلها لتوليد الصورة. يمكنك أيضًا ملاحظة وجود كود استدعاء مطابق على الجانب الأيمن، يمكنك نسخ الكود وتشغيله مباشرة، أو يمكنك النقر على زر “Try” للاختبار.

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

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

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

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

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

与上述相同操作,仅需将图片质量参数设置为 hd ,可以得到如下图所示的图片:

可以看到 hdstandard 生成的图片具有更精细的细节和更大的一致性。

图片大小尺寸参数 size

我们还可以设置生成图片的尺寸大小,我们可以进行下面的设置。 下面设置图片的尺寸大小为 1024 * 1024 ,具体设置如下图:

同时您可以注意到右侧有对应的调用代码生成,您可以复制代码直接运行,也可以直接点击「Try」按钮进行测试。

Python 样例调用代码:
调用之后,我们发现返回结果如下:
返回的结果与基本使用的内容一致,可以看到图片的尺寸大小为 1024 * 1024 的生成图片如下图所示:

与上述相同操作,仅需将图片的尺寸大小为 1792 * 1024 ,可以得到如下图所示的图片: 可以看到图片的尺寸大小很明显不一样,另外还可以设置更多尺寸大小,详情信息参考我们官网文档。

图片风格参数 style

图片风格参数 style 包含俩个参数,第一种 vivid 表示生成的图片是更加生动的,另一种 natural 表示生成的图片更加的自然一点。 下面设置图片风格参数为 vivid ,具体设置如下图:

同时您可以注意到右侧有对应的调用代码生成,您可以复制代码直接运行,也可以直接点击「Try」按钮进行测试。

Python 样例调用代码:
调用之后,我们发现返回结果如下:
返回的结果与基本使用的内容一致,可以看到图片风格参数为 vivid 的生成图片如下图所示:

与上述相同操作,仅需将图片风格参数为 natural ,可以得到如下图所示的图片:

可以看到 vividnatural 生成的图片具有更加生动逼真。

图片链接的格式参数 response_format

最后一个图片链接的格式参数 response_format 也有俩种,第一种 b64_json 是对图片链接进行 Base64 编码,另一种 url 就是普通的图片链接,可以直接查看图片。 下面设置图片链接的格式参数为 url ,具体设置如下图:

同时您可以注意到右侧有对应的调用代码生成,您可以复制代码直接运行,也可以直接点击「Try」按钮进行测试。

Python 样例调用代码:
بعد الاستدعاء، وجدنا أن النتيجة كانت كما يلي:
تتوافق النتيجة مع المحتوى الأساسي المستخدم، ويمكن رؤية أن رابط الصورة بتنسيق المعامل url هو رابط الصورة المولدة رابط الصورة وهذا يمكن الوصول إليه مباشرة، ومحتوى الصورة كما هو موضح في الصورة أدناه:

مع نفس العملية المذكورة أعلاه، يكفي تغيير تنسيق رابط الصورة إلى b64_json للحصول على نتيجة رابط الصورة المشفرة بـ Base64، والنتيجة المحددة كما هو موضح في الصورة أدناه:

ردود غير متزامنة

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

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

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

أمثلة على استجابة الخطأ

الاستنتاج

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