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-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 上的图片链接,可以直接在浏览器中打开或嵌入到网页中。
官方中转 / 逆向变体(: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(例如 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,单次请求都只会返回 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 بوضوح وصحيح.
المشهد الثالث: تركيب معقد وعدد
تستخدم عبارة الطلب التالية لاختبار قدرة النموذج على اتباع التعليمات الهيكلية مثل “الكمية” و”الموقع”.
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/256x256→1:11792x1024→16:91024x1792→9: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” للاختبار.

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

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


standard كما هو موضح في الصورة أدناه:

hd ,可以得到如下图所示的图片:

hd 比 standard 生成的图片具有更精细的细节和更大的一致性。
图片大小尺寸参数 size
我们还可以设置生成图片的尺寸大小,我们可以进行下面的设置。
下面设置图片的尺寸大小为 1024 * 1024 ,具体设置如下图:


1024 * 1024 的生成图片如下图所示:

1792 * 1024 ,可以得到如下图所示的图片:
可以看到图片的尺寸大小很明显不一样,另外还可以设置更多尺寸大小,详情信息参考我们官网文档。
图片风格参数 style
图片风格参数 style 包含俩个参数,第一种 vivid 表示生成的图片是更加生动的,另一种 natural 表示生成的图片更加的自然一点。
下面设置图片风格参数为 vivid ,具体设置如下图:


vivid 的生成图片如下图所示:

natural ,可以得到如下图所示的图片:

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


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 المذكور أعلاه، مع ملء المعلمات المناسبة، كما هو موضح في الكود التالي:
task_id، وحقل data يحتوي على نفس نتائج توليد الصورة كما في الاستدعاء المتزامن، من خلال حقل task_id يمكن ربط المهمة.
معالجة الأخطاء
عند استدعاء واجهة برمجة التطبيقات، إذا واجهت أخطاء، ستقوم الواجهة بإرجاع رمز الخطأ والمعلومات ذات الصلة. على سبيل المثال:400 token_mismatched:طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صالحة.400 api_not_implemented:طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صالحة.401 invalid_token:غير مصرح، رمز التفويض غير صالح أو مفقود.429 too_many_requests:عدد كبير جداً من الطلبات، لقد تجاوزت حد المعدل.500 api_error:خطأ في الخادم الداخلي، حدث خطأ ما على الخادم.

