Chuyển đến nội dung chính
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..."
    }
  ]
}

Nội dung yêu cầu

model
string
mặc định:"dall-e-3"
Mô hình sử dụng (ví dụ: dall-e-3, flux-pro, midjourney).
prompt
string
bắt buộc
Mô tả văn bản của hình ảnh mong muốn.
n
integer
mặc định:"1"
Số lượng hình ảnh cần tạo (1-4, tùy thuộc vào mô hình).
size
string
mặc định:"1024x1024"
Kích thước hình ảnh. Các tùy chọn khác nhau theo mô hình:
  • DALL-E 3: 1024x1024, 1792x1024, 1024x1792
  • Các mô hình khác: 512x512, 1024x1024, v.v.
quality
string
mặc định:"standard"
Chất lượng hình ảnh (standard hoặc hd). Chỉ dành cho DALL-E 3.
response_format
string
mặc định:"url"
Định dạng phản hồi: url hoặc b64_json.
style
string
mặc định:"vivid"
Phong cách cho DALL-E 3: vivid hoặc natural.
user
string
Mã định danh duy nhất cho người dùng cuối.

Phản hồi

Phản hồi đồng bộ (DALL-E, Flux Schnell, v.v.)

created
integer
Dấu thời gian Unix khi tạo.
data
array
Mảng các hình ảnh đã tạo.Mỗi đối tượng chứa:
  • url (string): URL của hình ảnh đã tạo
  • b64_json (string): Hình ảnh mã hóa Base64 (nếu được yêu cầu)
  • revised_prompt (string): Prompt đã sử dụng (DALL-E 3)

Phản hồi bất đồng bộ (Midjourney, Flux Pro, Ideogram, v.v.)

Một số mô hình cần thời gian xử lý lâu hơn và trả về phản hồi bất đồng bộ:
created
integer
Dấu thời gian Unix khi tạo.
task_id
string
Mã định danh tác vụ duy nhất để polling.
status
string
Trạng thái ban đầu: pending.
poll_url
string
URL tương đối để polling kết quả (ví dụ: /v1/images/generations/{task_id}).
data
array
Mảng với dữ liệu placeholder. url sẽ trống cho đến khi hoàn thành.
Khi bạn nhận được status: "pending", sử dụng endpoint Lấy trạng thái hình ảnh để polling kết quả.
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..."
    }
  ]
}

Các mô hình có sẵn

Mô hìnhLoạiTính năng
dall-e-3Đồng bộChất lượng tốt nhất, cải thiện prompt
dall-e-2Đồng bộNhanh hơn, giá cả phải chăng hơn
flux-proBất đồng bộChân thực, chất lượng cao
flux-schnellĐồng bộRất nhanh
midjourneyBất đồng bộPhong cách nghệ thuật
ideogram-v3Bất đồng bộHiển thị văn bản tốt nhất
stable-diffusion-3Đồng bộMã nguồn mở, tùy chỉnh được
Các mô hình bất đồng bộ trả về status: "pending" và yêu cầu polling. Xem Lấy trạng thái hình ảnh để biết cách lấy kết quả.

Xử lý phản hồi bất đồng bộ

Đối với các mô hình bất đồng bộ, kiểm tra xem phản hồi có chứa status: "pending" không:
import requests
import time

def generate_image(prompt, model="midjourney"):
    # Tạo yêu cầu hình ảnh
    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()

    # Kiểm tra nếu là bất đồng bộ
    if data.get("status") == "pending":
        task_id = data["task_id"]
        print(f"Async task started: {task_id}")

        # Polling để lấy kết quả
        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:
        # Phản hồi đồng bộ
        return data["data"][0]["url"]

# Sử dụng
url = generate_image("a beautiful sunset over mountains", model="midjourney")
print(f"Generated image: {url}")

Nội dung

application/json
prompt
string
bắt buộc

Mô tả văn bản của hình ảnh mong muốn.

model
string

Mô hình sử dụng (ví dụ: dall-e-3 , flux-pro , midjourney ).

n
integer

Số lượng hình ảnh cần tạo (1-4, tùy thuộc vào mô hình).

size
string

Kích thước hình ảnh. Các tùy chọn khác nhau theo mô hình: DALL-E 3: 1024x1024 , 1792x1024 , 1024x1792 Các mô hình khác: 512x512 , 1024x1024 , v.v.

quality
string

Chất lượng hình ảnh ( standard hoặc hd ). Chỉ dành cho DALL-E 3.

response_format
string

Định dạng phản hồi: url hoặc b64_json .

style
string

Phong cách cho DALL-E 3: vivid hoặc natural .

user
string

Mã định danh duy nhất cho người dùng cuối.

Phản hồi

200 - application/json

Response 200

created
integer

Dấu thời gian Unix khi tạo.

data
object[]

Mảng với dữ liệu placeholder. url sẽ trống cho đến khi hoàn thành.

task_id
string

Mã định danh tác vụ duy nhất để polling.

status
string

Trạng thái ban đầu: pending .

poll_url
string

URL tương đối để polling kết quả (ví dụ: /v1/images/generations/{task_id} ).