انتقل إلى المحتوى

توليد الصور

📝 مقدّمة

توفّر البوابة عدة عائلات من نماذج توليد الصور:

العائلة النماذج الصيغة
OpenAI gpt-image-2 POST /v1/images/generations
Vidu viduq1-image وviduq2-image POST /v1/images/generations
Google Gemini gemini-2.5-flash-image وgemini-3-pro-image-preview وgemini-3.1-flash-image-preview ‏Gemini ‏generateContent أو صيغة محادثة OpenAI

صيغة OpenAI ‏(/v1/images/generations)

نقطة الوصول

POST /v1/images/generations

المصادقة

Authorization: Bearer $WS_API_KEY

توليد صورة ✅

curl http://baseurl/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WS_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A cute baby sea otter floating on its back, watercolor style",
    "n": 1,
    "size": "1024x1024"
  }'

مثال على الاستجابة:

{
  "created": 1713833628,
  "data": [
    {
      "b64_json": "..."
    }
  ],
  "usage": {
    "total_tokens": 100,
    "input_tokens": 50,
    "output_tokens": 50
  }
}

يعيد gpt-image-2 صورًا مرمّزة بـ base64 ‏(b64_json). وقد تعيد نماذج أخرى حقل url بدلًا من ذلك.

نماذج Vidu للصور ✅

curl http://baseurl/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WS_API_KEY" \
  -d '{
    "model": "viduq2-image",
    "prompt": "A futuristic city skyline at sunset, ultra realistic",
    "size": "1024x1024"
  }'

معاملات جسم الطلب

المعامل النوع مطلوب الوصف
model string نعم gpt-image-2 أو viduq1-image أو viduq2-image
prompt string نعم وصف نصي للصورة المطلوبة
n integer لا عدد الصور المولّدة. الافتراضي 1
size string لا مثل 1024x1024 أو 1536x1024 أو 1024x1536 أو auto
quality string لا مثل low أو medium أو high أو auto (حسب النموذج)
response_format string لا url أو b64_json (حسب النموذج؛ gpt-image-2 يعيد دائمًا b64_json)
user string لا معرّف المستخدم النهائي

نماذج Gemini للصور

تولّد نماذج Gemini الصور عبر واجهة generateContent القياسية — اطلب مخرجات الصور عبر responseModalities.

صيغة Gemini ✅

curl "http://baseurl/v1beta/models/gemini-3.1-flash-image-preview:generateContent" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $WS_API_KEY" \
  -d '{
    "contents": [
      {"role": "user", "parts": [{"text": "Generate an image of a desert oasis at dawn"}]}
    ],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"]
    }
  }'

الاستجابة: تُعاد الصور المولّدة كأجزاء inline_data ‏(base64) داخل candidates[].content.parts.

تحرير الصور (صورة + موجّه) ✅

curl "http://baseurl/v1beta/models/gemini-2.5-flash-image:generateContent" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $WS_API_KEY" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {"inline_data": {"mime_type": "image/png", "data": "<BASE64_IMAGE>"}},
          {"text": "Add a hot air balloon to the sky"}
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"]
    }
  }'

تلميح

يمكن أيضًا استدعاء نماذج Gemini للصور عبر صيغة محادثة OpenAI — وتُعاد الصورة المولّدة ضمن محتوى رسالة المساعد.