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:官方通道,稳定合规。支持真实 2K / 4K 分辨率,按每张图片计费,单价为默认gpt-image-2的 2 倍。线路不可用时直接返回错误,不会自动降级。gpt-image-2:reverse:与默认gpt-image-2完全等价,性价比更高,价格不变。
支持的 size 取值
gpt-image-2 只检查 size 的格式,只要不是 auto 或空串,就需要匹配 WIDTHxHEIGHT(例如 1024x1024、2048x1152、800x600);任何其他形态会返回 400。所有尺寸(1K / 2K / 4K / 自定义)按单张统一扣费,不按尺寸加价。
尺寸限制:自定义尺寸须满足宽高均为 16 的倍数、长边 ≤ 3840、总像素数 ≤ 8,294,400,超出范围会以 4xx 返回。
显式传size: "auto"时,平台会在连续比例空间中规划画布,并按以下优先级判断:提示词中的明确像素或比例、命名标准(纸张 / 印刷品 / 平台版位 / 广告 / 设备 / 摄影 / 电影)、介质惯例、最后才是构图推断。因此除了常见的1:1、4:5、9:16、21:9,也能保留1.91:1、1.85:1、2.39:1、ISO 纸张1:√2等非预设比例;最终尺寸会自动调整为服务支持的 16 倍数和像素预算。自动判断不可用时会回退到模型默认画幅,不会阻断生成。省略size字段则直接使用模型默认画幅;对像素有严格要求时仍建议直接传WIDTHxHEIGHT。 1K 档下输出不保证严格像素对齐——你传1024x1024可能拿到1254x1254,比例保持一致。如果你重新把它当作size传进来,计费不变。 4K 单次调用通常需要 4–8 分钟,建议配合后文的callback_url异步回调使用。
关于下面通过几个不同方位的真实示例来直观感受n参数gpt-image-2支持n > 1(取值 1–10):一次请求即可返回并按张计费对应数量的图片。为了让多张结果有差异,建议同时传不同的prompt或seed。同样适用于gpt-image-1/gpt-image-1.5,以及nano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-pro系列;dall-e-3仅支持n = 1。注意response_format=b64_json仅支持n=1,n>1时请使用默认的 URL 返回。若其中部分图片生成失败,只会返回并计费成功的部分。
gpt-image-2 的能力。
المشهد الأول: صورة سينمائية مؤثرة
يمكن استخدام مصطلحات سينمائية في الكلمات الرئيسية (فيلم 35 مم، عمق ميدان ضحل، أضواء نيون، إلخ) للتحكم بدقة في الأجواء والملمس. كود مثال لاستدعاء 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،n.
- سيتم تعيين
sizeوفقًا للجدول أدناه إلىaspect_ratioداخلي، والأبعاد غير المدرجة ستتحول إلى1:1:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- لا تدعم المعلمات
quality،style،response_format،background،output_format، إلخ؛ إذا تم ملؤها، سيتم تجاهلها.n > 1مدعوم (1–10)، وسيتم إرجاع عدد الصور المقابل مع احتساب التكلفة لكل صورة.- تتبع بنية الإرجاع تنسيق 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 إضافي، بعد أن يقوم العميل بإرسال طلب واجهة برمجة التطبيقات، ستقوم الواجهة على الفور بإرجاع نتيجة تحتوي على حقل 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:خطأ داخلي في الخادم، حدث خطأ ما على الخادم.

