كيفية استخدام واجهة برمجة تطبيقات GPT-Image-2.6

دليل عملي لواجهة GPT-Image-2.6 API: المصادقة، وأول عملية توليد، وتعديل markup، وإخراج SVG وGIF، وإعدادات الجودة والتعقيد، ومجموعة اختبارات Apidog CLI التي يمكن لوكيلك البرمجي تشغيلها.

Medy Evrard

5 نوفمبر 2026

كيفية استخدام واجهة برمجة تطبيقات GPT-Image-2.6

Apidog للمؤسسات

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

SSO و RBAC

متوافق مع SOC 2

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

تولّد واجهة GPT-Image-2.6 API الصور وتحرّرها من خلال نموذجين من OpenAI، هما gpt-image-2.6-flare وgpt-image-2.6-sunburst. أرسل طلبًا نصيًا (prompt) إلى POST /v1/images/generations مع مفتاح API الخاص بك، ثم فك ترميز b64_json من الاستجابة. يضيف الإصدار 2.6 وضع العلامات (markup) على الصور، وإخراج SVG وGIF، ومعامل complexity.

يغطي هذا الدليل المصادقة، وأول عملية توليد، وتحريرًا بالعلامات، وتصدير SVG، وإعدادات quality وcomplexity. يقتصر على الجديد فحسب، لذا اقرأ دليل gpt-image-2.5 API للاطلاع على البثّ (streaming) وأداة Responses API، واطّلع على شرح ChatGPT Images 2.6 للإصدار الكامل. أنشأنا كل طلب أدناه استنادًا إلى وثائق OpenAI بتاريخ 5 نوفمبر 2026. لم نجرّبها باستخدام مفتاح حقيقي، لذا اختبرها قبل أن تُطلق مشروعك.

نظرة سريعة على GPT-Image-2.6 API

العنصر التفصيل
معرّفات النماذج gpt-image-2.6-flare, gpt-image-2.6-sunburst
التوليد POST /v1/images/generations
التحرير POST /v1/images/edits
المصادقة Authorization: Bearer $OPENAI_API_KEY
الإخراج b64_json؛ PNG افتراضيًا، إضافة إلى JPEG وWebP وGIF وSVG
quality low, medium, high, xhigh, max, auto (افتراضي)
complexity low, medium, high (high إذا حُذف)
أسعار رموز الصور 8$ للإدخال، 2$ للإدخال المخزّن مؤقتًا، 30$ للإخراج لكل مليون
أسعار رموز النصوص 5$ للإدخال، 1.25$ للإدخال المخزّن مؤقتًا لكل مليون

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

Flare أم Sunburst: أي نموذج ينبغي أن تستدعيه؟

استدعِ Flare للتكرار السريع والتوليد اليومي. تقول OpenAI إنه يمكنه إرجاع صورة في غضون ست ثوانٍ عند جودة low، وإنه يحسّن التخطيط للملصقات وصور المنتجات. استدعِ Sunburst للأعمال التفصيلية والتحريرات المتكررة، حيث تدّعي OpenAI تناسقًا أفضل عند جودة medium أو high.

هذه ادعاءات OpenAI، وليست معايير مستقلة. يشرح مقارنتنا بين Flare وSunburst للإصدار 2.5 هذا التفريق.

المصادقة والإعداد

تحتاج إلى ثلاثة أشياء قبل أول استدعاء:

  1. أنشئ مفتاح API في لوحة تحكم OpenAI وصدّره باسم OPENAI_API_KEY.
  2. أكمل التحقق من مؤسسة API إذا كانت مؤسستك بحاجة إلى ذلك. تقول OpenAI إنه قد يكون عليك فعل ذلك قبل أن تتمكن من استخدام نماذج GPT Image.
  3. ثبّت jq لأمثلة curl، أو حزمة openai للغة Python.

إذا كان تطبيقك يخدم مستخدمين أفرادًا، فأرسل أيضًا قيمة safety_identifier مُجزّأة لا تتجاوز 128 حرفًا. فهي تحل محل معامل user المهجور.

ولّد صورتك الأولى

يستخدم هذا الطلب Flare عند جودة low، وهي مناسبة للمسودات.

curl --fail-with-body --silent --show-error \
  https://api.openai.com/v1/images/generations \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.6-flare",
    "prompt": "A minimal poster for a developer meetup, with the words SHIP IT in bold type",
    "size": "1024x1536",
    "quality": "low",
    "complexity": "low"
  }' | jq -er '.data[0].b64_json' | base64 --decode > poster.png

الاستدعاء نفسه في Python:

import base64
from pathlib import Path
from openai import OpenAI

client = OpenAI()

result = client.images.generate(
    model="gpt-image-2.6-sunburst",
    prompt="A product shot of a ceramic mug on a walnut desk, soft morning light",
    size="1536x1024",
    quality="medium",
    extra_body={"complexity": "low"},
)

Path("mug.png").write_bytes(base64.b64decode(result.data[0].b64_json))

نمرّر complexity عبر extra_body كي لا يعتمد الاستدعاء على إتاحة إصدار SDK لديك له كوسيط مُسمّى. تُرجع نماذج GPT Image دائمًا base64، لذا لا ترسل response_format، ولا تبحث عن حقل url.

ينصّ دليل OpenAI على قراءة كائن usage في الاستجابة لقياس استخدام الرموز. لكن مرجع API يصف هذا الحقل بأنه خاص بـgpt-image-1 فقط، مع أن استجابة نموذجه تتضمنه، لذا تأكد من ظهوره في استجابات 2.6 لديك قبل أن تبني عليه تتبّع التكلفة.

حرّر صورة باستخدام العلامات (markup)

تخبر العلامات النموذج بمكان إجراء التغيير. ترسل الصورة الأصلية، وملف PNG شفافًا يحتوي على دوائرك أو رسوماتك، وطلبًا نصيًا يصف التحرير.

curl --fail-with-body --silent --show-error \
  https://api.openai.com/v1/images/edits \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.6-flare",
    "images": [{"image_url": "https://your-bucket.example/kitchen.png"}],
    "markup": {"image_url": "https://your-bucket.example/vase-overlay.png"},
    "prompt": "Recolor the vase inside the red circle to solid cobalt blue. Keep everything else unchanged. Remove the red circle.",
    "quality": "medium",
    "complexity": "low"
  }' | jq -er '.data[0].b64_json' | base64 --decode > vase.png

تستخدم طلبات JSON مصفوفة images وكائن markup يحتوي على أحد الحقلين فقط: image_url أو file_id. يمكن أن يكون image_url رابط HTTPS أو رابط بيانات base64. أما طلبات multipart فتستخدم رفع ملف بدلًا من ذلك، ويحتوي دليل توليد الصور على نسخة Python من ذلك.

Diagram of a GPT-Image-2.6 markup edit: the original photo, a transparent PNG overlay and a text prompt go to POST /v1/images/edits, which returns the edited image with the annotation removed

للطبقة الشفافة (overlay) قواعد صارمة:

أخبر النموذج بإزالة التعليق التوضيحي، كما يفعل مثال OpenAI نفسه. تكلفة العلامات كتكلفة أي تحرير آخر. لا تقبلها Responses API، لذا استخدم قناعًا (mask) هناك.

تصدير SVG

اضبط output_format على svg في نقطة نهاية التوليد للأيقونات والشعارات والرسومات التي تحتاج إلى مسارات قابلة للتحرير.

curl --fail-with-body --silent --show-error \
  https://api.openai.com/v1/images/generations \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.6-sunburst",
    "prompt": "A flat two-color wheat logo for a bakery called Field and Flour",
    "output_format": "svg",
    "quality": "medium",
    "n": 1
  }' | jq -er '.data[0].b64_json' | base64 --decode > logo.svg

تُصيّر واجهة API أولًا صورة مرجعية، ويتحكم quality بها، ثم تكتب ملف SVG انطلاقًا منها. البايتات المفكوكة ترميزها UTF-8 بصيغة XML، من دون سكربتات أو موارد خارجية أو صور نقطية مُضمّنة.

تنطبق أربعة قيود:

تدفع مرتين: سعر الصورة للصورة المرجعية، وسعر نموذج التأليف لرموزه. يدرج مرجع API كائن svg_usage منفصلًا لهذا الجزء الثاني، لذا سجّله.

ولّد ملف GIF

تُرجع واجهة API ملف GIF جاهزًا، لا ورقة رسوم متحركة (sprite sheet). أضف ثلاثة حقول إلى طلب التوليد:

{
  "model": "gpt-image-2.6-flare",
  "prompt": "A small orange robot waves, blinks and returns to its starting pose. Make it loop.",
  "output_format": "gif",
  "frame_count": 9,
  "frame_duration_ms": 200,
  "size": "auto"
}

فكّ ترميز b64_json بالطريقة نفسها واحفظه بامتداد .gif. تحقق من أمرين أولًا:

لا يدعم إخراج GIF البثّ أو الصور الجزئية أو output_compression المخصّص، ولا يمكن لنقطة نهاية التحرير إرجاعه. لا تنشر OpenAI صيغة فواتير خاصة بـGIF، لذا أجرِ اختبارًا صغيرًا وتحقق من فاتورتك قبل أن تتوسّع.

اضبط quality وcomplexity

يتحكم quality في تفاصيل التصيير ويحدد تكلفة الرموز. أما complexity فيتحكم في مقدار ما يخطّط له النموذج قبل التصيير، ولا يترتب على تغييره رسم منفصل.

اضبط complexity في كل طلب. القيمة الافتراضية هي high، ومع ذلك توصي OpenAI بـlow لمعظم عمليات التحرير. يحذّر الدليل من أن الإعدادات الأعلى قد تضيف زمن استجابة أطول وتُدخل تغييرات غير مرغوب فيها.

Grid of suggested GPT-Image-2.6 starting settings: quick drafts use Flare at low quality and low complexity, focused edits use low complexity, final detailed images use Sunburst at medium or high quality, and dense layouts use medium or high complexity

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

quality رموز الإخراج تكلفة الإخراج
low 823 $0.02469
medium 1,449 $0.04347
high 1,756 $0.05268
xhigh 3,122 $0.09366
max 7,024 $0.21072

الفارق بين medium وhigh يقارب سنتًا واحدًا، لذا قارن بينهما. لا تُدرج تبويب Batch في صفحة الأسعار الإصدار 2.6 بعد، لذا لا تفترض أن خصم الدفعات الخاص بـ2.5 ينطبق.

تعامل مع الأخطاء ومهلات الوقت

صنّف حالات الفشل بناءً على ما إذا كانت إعادة المحاولة قد تفيد:

الفشل ما ينبغي فعله
تجاوز حد المعدل أو خطأ في الخادم أعد المحاولة مع تراجع تدريجي (backoff)
خطأ في الحصة لا تُعد المحاولة؛ أصلح الفواتير
error.type يساوي image_generation_user_error غيّر الطلب النصي أو الإدخال أولًا
error.code يساوي moderation_blocked اقرأ moderation_details، ثم راجع الطلب

استخدم error.code كفحصك المستقر، وسجّل معرّف الطلب. يحمل moderation_details حقلي moderation_stage وcategories العام، وهما ينتميان إلى سجلاتك، لا إلى الرسائل الموجّهة للمستخدم. اضبط مهلات العميل فوق دقيقتين، لأن OpenAI تقول إن الطلبات النصية المعقدة قد تستغرق هذه المدة.

دع وكيل البرمجة لديك يختبره باستخدام Apidog CLI

يمكن لوكيل البرمجة لديك تحويل هذه الطلبات والقيود إلى مجموعة اختبارات باستخدام Apidog CLI. أعِدّها مرة واحدة:

npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_TOKEN>
apidog skill install

ثم أعطِ Claude Code أو Codex أو Cursor طلبًا نصيًا واحدًا:

In Apidog project <id>, add POST /v1/images/generations and POST /v1/images/edits
on https://api.openai.com. Read the bearer token from OPENAI_API_KEY.
Create test cases for gpt-image-2.6-flare at low quality and low complexity:
1. PNG generation: assert status 200 and data[0].b64_json exists.
2. SVG generation: assert status 200 and output_format equals svg.
3. GIF with frame_count 6: assert status 200 and output_format equals gif.
4. SVG with n set to 2: assert a 4xx status and that error.message exists.
5. GIF with frame_count 17: record the status, because OpenAI's docs disagree.
Put them in a test suite named "GPT-Image-2.6", run it against environment
<envId>, and summarize every failure.

يقرأ الوكيل كل مخطط (schema)، ويتحقق من صلاحية حِمله، ثم يكتب المجموعة ويشغّلها:

apidog cli-schema get endpoint-create
apidog cli-schema validate endpoint-create --file endpoint.json
apidog endpoint create --project <id> --file endpoint.json
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <id> --file case.json
apidog cli-schema validate test-suite-create --file suite.json
apidog test-suite create --project <id> --file suite.json
apidog test-suite run <suiteId> --project <id> -e <envId> \
  --env-var "OPENAI_API_KEY=$OPENAI_API_KEY" --on-error continue -r cli,json

تحسم الحالة 5 حد الإطارات لحسابك، وتوضح الحالة 3 ما إذا كان لديك وصول إلى GIF. تُجري الحالات الناجحة عمليات توليد حقيقية قابلة للفوترة، لذا أبقِ الجودة منخفضة. استبدل -r junit لتشغيل المجموعة في خط أنابيب CI، واطّلع على دليل إعداد Claude Code لتفاصيل الوكيل.

الأسئلة الشائعة

ما أسماء نماذج GPT-Image-2.6 API؟ gpt-image-2.6-flare وgpt-image-2.6-sunburst. لا يدرج مرجع API أي لقطات مؤرّخة لهما بعد، بخلاف نموذجي 2.5.

كم تكلفة GPT-Image-2.6 API؟ تكلف رموز الصور 8$ لكل مليون رمز إدخال و30$ لكل مليون رمز إخراج. تكلف صورة بحجم 1024x1024 نحو 0.025$ من الإخراج عند low ونحو 0.053$ عند high، قبل احتساب رموز الإدخال.

هل ينبغي أن أنتقل من gpt-image-2.5؟ انتقل إذا كنت تحتاج إلى SVG أو GIF أو complexity. اختبر تكاليفك أولًا: فصورة low تستخدم نحو 4.2 ضعف الرموز التي كانت تستخدمها على 2.5، ولا توجد أسعار Batch مُدرجة لنماذج 2.6 بعد.

هل يمكنني استخدام complexity على نقطة نهاية التحرير؟ نعم. توصي OpenAI بـlow لمعظم عمليات التحرير.

هل يمكنني تحويل صورة مرفوعة إلى GIF عبر واجهة API؟ لا. لا تُرجع نقطة نهاية التحرير GIF أو SVG، لذا تبدأ كلتا الصيغتين من طلب نصي على نقطة نهاية التوليد.

هل تُرجع واجهة API رابطًا؟ لا. تُرجع نماذج GPT Image دائمًا base64 في b64_json، لذا فكّ ترميزه وخزّن الملف بنفسك.

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

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