توليد الصور¶
📝 مقدّمة¶
توفّر البوابة عدة عائلات من نماذج توليد الصور:
| العائلة | النماذج | الصيغة |
|---|---|---|
| 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)¶
نقطة الوصول¶
المصادقة¶
توليد صورة ✅¶
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 — وتُعاد الصورة المولّدة ضمن محتوى رسالة المساعد.