الانتقال إلى المحتوى الرئيسي
POST
/
v1
/
images
/
generations
curl -X POST "https://api.lemondata.cc/v1/images/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dall-e-3",
    "prompt": "A white cat sitting on a windowsill watching rain",
    "size": "1024x1024",
    "quality": "standard",
    "n": 1
  }'
{
  "created": 1706000000,
  "data": [
    {
      "url": "https://...",
      "revised_prompt": "A fluffy white cat with bright eyes sitting peacefully on a wooden windowsill, watching raindrops stream down the glass window..."
    }
  ]
}

جسم الطلب

model
string
افتراضي:"dall-e-3"
النموذج المستخدم (مثل dall-e-3، flux-pro، midjourney).
prompt
string
مطلوب
وصف نصي للصورة المطلوبة.
n
integer
افتراضي:"1"
عدد الصور المراد إنشاؤها (1-4، يعتمد على النموذج).
size
string
افتراضي:"1024x1024"
حجم الصورة. الخيارات تختلف حسب النموذج:
  • DALL-E 3: 1024x1024، 1792x1024، 1024x1792
  • النماذج الأخرى: 512x512، 1024x1024، إلخ.
quality
string
افتراضي:"standard"
جودة الصورة (standard أو hd). لـ DALL-E 3 فقط.
response_format
string
افتراضي:"url"
تنسيق الاستجابة: url أو b64_json.
style
string
افتراضي:"vivid"
نمط DALL-E 3: vivid أو natural.
user
string
معرف فريد للمستخدم النهائي.

الاستجابة

استجابة متزامنة (DALL-E، Flux Schnell، إلخ.)

created
integer
الطابع الزمني Unix للإنشاء.
data
array
مصفوفة الصور المُنشأة.كل عنصر يحتوي على:
  • url (string): رابط الصورة المُنشأة
  • b64_json (string): الصورة بترميز Base64 (إذا طُلب)
  • revised_prompt (string): الوصف المستخدم (DALL-E 3)

استجابة غير متزامنة (Midjourney، Flux Pro، Ideogram، إلخ.)

بعض النماذج تتطلب وقت معالجة أطول وتُرجع استجابة غير متزامنة:
created
integer
الطابع الزمني Unix للإنشاء.
task_id
string
معرف المهمة الفريد للاستعلام.
status
string
الحالة الأولية: pending.
poll_url
string
الرابط النسبي للاستعلام عن النتائج (مثل /v1/images/generations/{task_id}).
data
array
مصفوفة ببيانات مؤقتة. url سيكون فارغاً حتى الاكتمال.
عند استلام status: "pending"، استخدم نقطة النهاية الحصول على حالة الصورة للاستعلام عن النتيجة.
curl -X POST "https://api.lemondata.cc/v1/images/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dall-e-3",
    "prompt": "A white cat sitting on a windowsill watching rain",
    "size": "1024x1024",
    "quality": "standard",
    "n": 1
  }'
{
  "created": 1706000000,
  "data": [
    {
      "url": "https://...",
      "revised_prompt": "A fluffy white cat with bright eyes sitting peacefully on a wooden windowsill, watching raindrops stream down the glass window..."
    }
  ]
}

النماذج المتاحة

النموذجالنوعالميزات
dall-e-3متزامنأفضل جودة، تحسين الوصف
dall-e-2متزامنأسرع، أقل تكلفة
flux-proغير متزامنواقعي، جودة عالية
flux-schnellمتزامنسريع جداً
midjourneyغير متزامننمط فني
ideogram-v3غير متزامنأفضل عرض للنصوص
stable-diffusion-3متزامنمفتوح المصدر، قابل للتخصيص
النماذج غير المتزامنة تُرجع status: "pending" وتتطلب الاستعلام. راجع الحصول على حالة الصورة لمعرفة كيفية استرداد النتائج.

التعامل مع الاستجابات غير المتزامنة

للنماذج غير المتزامنة، تحقق مما إذا كانت الاستجابة تحتوي على status: "pending":
import requests
import time

def generate_image(prompt, model="midjourney"):
    # Create image request
    response = requests.post(
        "https://api.lemondata.cc/v1/images/generations",
        headers={"Authorization": "Bearer sk-your-api-key"},
        json={"model": model, "prompt": prompt}
    )
    data = response.json()

    # Check if async
    if data.get("status") == "pending":
        task_id = data["task_id"]
        print(f"Async task started: {task_id}")

        # Poll for result
        while True:
            status_resp = requests.get(
                f"https://api.lemondata.cc/v1/images/generations/{task_id}",
                headers={"Authorization": "Bearer sk-your-api-key"}
            )
            status_data = status_resp.json()

            if status_data["status"] == "completed":
                return status_data["data"][0]["url"]
            elif status_data["status"] == "failed":
                raise Exception(status_data.get("error", "Generation failed"))

            time.sleep(3)
    else:
        # Sync response
        return data["data"][0]["url"]

# Usage
url = generate_image("a beautiful sunset over mountains", model="midjourney")
print(f"Generated image: {url}")

الجسم

application/json
prompt
string
مطلوب

وصف نصي للصورة المطلوبة.

model
string

النموذج المستخدم (مثل dall-e-3 ، flux-pro ، midjourney ).

n
integer

عدد الصور المراد إنشاؤها (1-4، يعتمد على النموذج).

size
string

حجم الصورة. الخيارات تختلف حسب النموذج: DALL-E 3: 1024x1024 ، 1792x1024 ، 1024x1792 النماذج الأخرى: 512x512 ، 1024x1024 ، إلخ.

quality
string

جودة الصورة ( standard أو hd ). لـ DALL-E 3 فقط.

response_format
string

تنسيق الاستجابة: url أو b64_json .

style
string

نمط DALL-E 3: vivid أو natural .

user
string

معرف فريد للمستخدم النهائي.

الاستجابة

200 - application/json

Response 200

created
integer

الطابع الزمني Unix للإنشاء.

data
object[]

مصفوفة ببيانات مؤقتة. url سيكون فارغاً حتى الاكتمال.

task_id
string

معرف المهمة الفريد للاستعلام.

status
string

الحالة الأولية: pending .

poll_url
string

الرابط النسبي للاستعلام عن النتائج (مثل /v1/images/generations/{task_id} ).