Langsung ke konten utama
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..."
    }
  ]
}

Isi Permintaan

model
string
default:"dall-e-3"
Model yang digunakan (misalnya, dall-e-3, flux-pro, midjourney).
prompt
string
wajib
Deskripsi teks dari gambar yang diinginkan.
n
integer
default:"1"
Jumlah gambar yang akan dihasilkan (1-4, tergantung model).
size
string
default:"1024x1024"
Ukuran gambar. Opsi bervariasi berdasarkan model:
  • DALL-E 3: 1024x1024, 1792x1024, 1024x1792
  • Model lain: 512x512, 1024x1024, dll.
quality
string
default:"standard"
Kualitas gambar (standard atau hd). Hanya untuk DALL-E 3.
response_format
string
default:"url"
Format respons: url atau b64_json.
style
string
default:"vivid"
Gaya untuk DALL-E 3: vivid atau natural.
user
string
Pengidentifikasi unik untuk pengguna akhir.

Respons

Respons Sinkron (DALL-E, Flux Schnell, dll.)

created
integer
Timestamp Unix saat pembuatan.
data
array
Array gambar yang dihasilkan.Setiap objek berisi:
  • url (string): URL gambar yang dihasilkan
  • b64_json (string): Gambar yang dikodekan Base64 (jika diminta)
  • revised_prompt (string): Prompt yang digunakan (DALL-E 3)

Respons Asinkron (Midjourney, Flux Pro, Ideogram, dll.)

Beberapa model memerlukan waktu pemrosesan lebih lama dan mengembalikan respons asinkron:
created
integer
Timestamp Unix saat pembuatan.
task_id
string
Pengidentifikasi tugas unik untuk polling.
status
string
Status awal: pending.
poll_url
string
URL relatif untuk polling hasil (misalnya, /v1/images/generations/{task_id}).
data
array
Array dengan data placeholder. url akan kosong sampai selesai.
Ketika Anda menerima status: "pending", gunakan endpoint Dapatkan Status Gambar untuk polling hasil.
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 yang Tersedia

ModelTipeFitur
dall-e-3SinkronKualitas terbaik, peningkatan prompt
dall-e-2SinkronLebih cepat, lebih terjangkau
flux-proAsinkronFotorealistis, kualitas tinggi
flux-schnellSinkronSangat cepat
midjourneyAsinkronGaya artistik
ideogram-v3AsinkronRendering teks terbaik
stable-diffusion-3SinkronOpen source, dapat dikustomisasi
Model asinkron mengembalikan status: "pending" dan memerlukan polling. Lihat Dapatkan Status Gambar untuk cara mengambil hasil.

Menangani Respons Asinkron

Untuk model asinkron, periksa apakah respons berisi status: "pending":
import requests
import time

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

    # Periksa apakah asinkron
    if data.get("status") == "pending":
        task_id = data["task_id"]
        print(f"Tugas asinkron dimulai: {task_id}")

        # Polling untuk hasil
        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", "Pembuatan gagal"))

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

# Penggunaan
url = generate_image("a beautiful sunset over mountains", model="midjourney")
print(f"Gambar yang dihasilkan: {url}")

Body

application/json
prompt
string
wajib

Deskripsi teks dari gambar yang diinginkan.

model
string

Model yang digunakan (misalnya, dall-e-3 , flux-pro , midjourney ).

n
integer

Jumlah gambar yang akan dihasilkan (1-4, tergantung model).

size
string

Ukuran gambar. Opsi bervariasi berdasarkan model: DALL-E 3: 1024x1024 , 1792x1024 , 1024x1792 Model lain: 512x512 , 1024x1024 , dll.

quality
string

Kualitas gambar ( standard atau hd ). Hanya untuk DALL-E 3.

response_format
string

Format respons: url atau b64_json .

style
string

Gaya untuk DALL-E 3: vivid atau natural .

user
string

Pengidentifikasi unik untuk pengguna akhir.

Respons

200 - application/json

Response 200

created
integer

Timestamp Unix saat pembuatan.

data
object[]

Array dengan data placeholder. url akan kosong sampai selesai.

task_id
string

Pengidentifikasi tugas unik untuk polling.

status
string

Status awal: pending .

poll_url
string

URL relatif untuk polling hasil (misalnya, /v1/images/generations/{task_id} ).