Zum Hauptinhalt springen
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..."
    }
  ]
}

Anfragekörper

model
string
Standard:"dall-e-3"
Zu verwendendes Modell (z.B. dall-e-3, flux-pro, midjourney).
prompt
string
erforderlich
Textbeschreibung des gewünschten Bildes.
n
integer
Standard:"1"
Anzahl der zu generierenden Bilder (1-4, modellabhängig).
size
string
Standard:"1024x1024"
Bildgröße. Optionen variieren je nach Modell:
  • DALL-E 3: 1024x1024, 1792x1024, 1024x1792
  • Andere Modelle: 512x512, 1024x1024, etc.
quality
string
Standard:"standard"
Bildqualität (standard oder hd). Nur DALL-E 3.
response_format
string
Standard:"url"
Antwortformat: url oder b64_json.
style
string
Standard:"vivid"
Stil für DALL-E 3: vivid oder natural.
user
string
Eine eindeutige Kennung für den Endbenutzer.

Antwort

Synchrone Antwort (DALL-E, Flux Schnell, etc.)

created
integer
Unix-Zeitstempel der Erstellung.
data
array
Array der generierten Bilder.Jedes Objekt enthält:
  • url (string): URL des generierten Bildes
  • b64_json (string): Base64-kodiertes Bild (falls angefordert)
  • revised_prompt (string): Der verwendete Prompt (DALL-E 3)

Asynchrone Antwort (Midjourney, Flux Pro, Ideogram, etc.)

Einige Modelle benötigen längere Verarbeitungszeit und geben eine asynchrone Antwort zurück:
created
integer
Unix-Zeitstempel der Erstellung.
task_id
string
Eindeutige Aufgabenkennung für Abfragen.
status
string
Anfangsstatus: pending.
poll_url
string
Relative URL für Statusabfragen (z.B. /v1/images/generations/{task_id}).
data
array
Array mit Platzhalterdaten. url ist leer bis zur Fertigstellung.
Wenn Sie status: "pending" erhalten, verwenden Sie den Bildstatus abrufen Endpunkt, um das Ergebnis abzufragen.
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..."
    }
  ]
}

Verfügbare Modelle

ModellTypFunktionen
dall-e-3SyncBeste Qualität, Prompt-Verbesserung
dall-e-2SyncSchneller, günstiger
flux-proAsyncFotorealistisch, hohe Qualität
flux-schnellSyncSehr schnell
midjourneyAsyncKünstlerischer Stil
ideogram-v3AsyncBeste Textdarstellung
stable-diffusion-3SyncOpen Source, anpassbar
Asynchrone Modelle geben status: "pending" zurück und erfordern Polling. Siehe Bildstatus abrufen für das Abrufen von Ergebnissen.

Umgang mit asynchronen Antworten

Für asynchrone Modelle prüfen Sie, ob die Antwort status: "pending" enthält:
import requests
import time

def generate_image(prompt, model="midjourney"):
    # Bildanfrage erstellen
    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()

    # Prüfen ob asynchron
    if data.get("status") == "pending":
        task_id = data["task_id"]
        print(f"Async task started: {task_id}")

        # Auf Ergebnis warten
        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:
        # Synchrone Antwort
        return data["data"][0]["url"]

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

Body

application/json
prompt
string
erforderlich

Textbeschreibung des gewünschten Bildes.

model
string

Zu verwendendes Modell (z.B. dall-e-3 , flux-pro , midjourney ).

n
integer

Anzahl der zu generierenden Bilder (1-4, modellabhängig).

size
string

Bildgröße. Optionen variieren je nach Modell: DALL-E 3: 1024x1024 , 1792x1024 , 1024x1792 Andere Modelle: 512x512 , 1024x1024 , etc.

quality
string

Bildqualität ( standard oder hd ). Nur DALL-E 3.

response_format
string

Antwortformat: url oder b64_json .

style
string

Stil für DALL-E 3: vivid oder natural .

user
string

Eine eindeutige Kennung für den Endbenutzer.

Antwort

200 - application/json

Response 200

created
integer

Unix-Zeitstempel der Erstellung.

data
object[]

Array mit Platzhalterdaten. url ist leer bis zur Fertigstellung.

task_id
string

Eindeutige Aufgabenkennung für Abfragen.

status
string

Anfangsstatus: pending .

poll_url
string

Relative URL für Statusabfragen (z.B. /v1/images/generations/{task_id} ).