Ana içeriğe atla
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..."
    }
  ]
}

İstek Gövdesi

model
string
varsayılan:"dall-e-3"
Kullanılacak model (örn. dall-e-3, flux-pro, midjourney).
prompt
string
gerekli
İstenen görselin metin açıklaması.
n
integer
varsayılan:"1"
Oluşturulacak görsel sayısı (1-4, modele bağlı).
size
string
varsayılan:"1024x1024"
Görsel boyutu. Seçenekler modele göre değişir:
  • DALL-E 3: 1024x1024, 1792x1024, 1024x1792
  • Diğer modeller: 512x512, 1024x1024, vb.
quality
string
varsayılan:"standard"
Görsel kalitesi (standard veya hd). Sadece DALL-E 3.
response_format
string
varsayılan:"url"
Yanıt formatı: url veya b64_json.
style
string
varsayılan:"vivid"
DALL-E 3 için stil: vivid veya natural.
user
string
Son kullanıcı için benzersiz tanımlayıcı.

Yanıt

Senkron Yanıt (DALL-E, Flux Schnell, vb.)

created
integer
Oluşturma Unix zaman damgası.
data
array
Oluşturulan görseller dizisi.Her nesne şunları içerir:
  • url (string): Oluşturulan görselin URL’si
  • b64_json (string): Base64 kodlu görsel (istenirse)
  • revised_prompt (string): Kullanılan prompt (DALL-E 3)

Asenkron Yanıt (Midjourney, Flux Pro, Ideogram, vb.)

Bazı modeller daha uzun işlem süresi gerektirir ve asenkron yanıt döndürür:
created
integer
Oluşturma Unix zaman damgası.
task_id
string
Sorgulama için benzersiz görev tanımlayıcısı.
status
string
Başlangıç durumu: pending.
poll_url
string
Sonuçları sorgulamak için göreli URL (örn. /v1/images/generations/{task_id}).
data
array
Yer tutucu verili dizi. url tamamlanana kadar boş olacaktır.
status: "pending" aldığınızda, sonucu almak için Görsel Durumunu Al endpoint’ini kullanın.
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..."
    }
  ]
}

Mevcut Modeller

ModelTürÖzellikler
dall-e-3SenkronEn iyi kalite, prompt geliştirme
dall-e-2SenkronDaha hızlı, daha uygun fiyatlı
flux-proAsenkronFotorealistik, yüksek kalite
flux-schnellSenkronÇok hızlı
midjourneyAsenkronSanatsal stil
ideogram-v3AsenkronEn iyi metin işleme
stable-diffusion-3SenkronAçık kaynak, özelleştirilebilir
Asenkron modeller status: "pending" döndürür ve sorgulama gerektirir. Sonuçları almak için Görsel Durumunu Al sayfasına bakın.

Asenkron Yanıtları İşleme

Asenkron modeller için yanıtın status: "pending" içerip içermediğini kontrol edin:
import requests
import time

def generate_image(prompt, model="midjourney"):
    # Görsel oluşturma isteği
    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()

    # Asenkron mu kontrol et
    if data.get("status") == "pending":
        task_id = data["task_id"]
        print(f"Async task started: {task_id}")

        # Sonuç için sorgula
        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:
        # Senkron yanıt
        return data["data"][0]["url"]

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

Gövde

application/json
prompt
string
gerekli

İstenen görselin metin açıklaması.

model
string

Kullanılacak model (örn. dall-e-3 , flux-pro , midjourney ).

n
integer

Oluşturulacak görsel sayısı (1-4, modele bağlı).

size
string

Görsel boyutu. Seçenekler modele göre değişir: DALL-E 3: 1024x1024 , 1792x1024 , 1024x1792 Diğer modeller: 512x512 , 1024x1024 , vb.

quality
string

Görsel kalitesi ( standard veya hd ). Sadece DALL-E 3.

response_format
string

Yanıt formatı: url veya b64_json .

style
string

DALL-E 3 için stil: vivid veya natural .

user
string

Son kullanıcı için benzersiz tanımlayıcı.

Yanıt

200 - application/json

Response 200

created
integer

Oluşturma Unix zaman damgası.

data
object[]

Yer tutucu verili dizi. url tamamlanana kadar boş olacaktır.

task_id
string

Sorgulama için benzersiz görev tanımlayıcısı.

status
string

Başlangıç durumu: pending .

poll_url
string

Sonuçları sorgulamak için göreli URL (örn. /v1/images/generations/{task_id} ).