Saltar al contenido principal
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..."
    }
  ]
}

Cuerpo de la solicitud

model
string
predeterminado:"dall-e-3"
Modelo a utilizar (por ejemplo, dall-e-3, flux-pro, midjourney).
prompt
string
requerido
Descripcion de texto de la imagen deseada.
n
integer
predeterminado:"1"
Numero de imagenes a generar (1-4, depende del modelo).
size
string
predeterminado:"1024x1024"
Tamano de la imagen. Las opciones varian segun el modelo:
  • DALL-E 3: 1024x1024, 1792x1024, 1024x1792
  • Otros modelos: 512x512, 1024x1024, etc.
quality
string
predeterminado:"standard"
Calidad de la imagen (standard o hd). Solo para DALL-E 3.
response_format
string
predeterminado:"url"
Formato de respuesta: url o b64_json.
style
string
predeterminado:"vivid"
Estilo para DALL-E 3: vivid o natural.
user
string
Un identificador unico para el usuario final.

Respuesta

Respuesta sincrona (DALL-E, Flux Schnell, etc.)

created
integer
Marca de tiempo Unix de la creacion.
data
array
Array de imagenes generadas.Cada objeto contiene:
  • url (string): URL de la imagen generada
  • b64_json (string): Imagen codificada en Base64 (si se solicita)
  • revised_prompt (string): El prompt utilizado (DALL-E 3)

Respuesta asincrona (Midjourney, Flux Pro, Ideogram, etc.)

Algunos modelos requieren mas tiempo de procesamiento y devuelven una respuesta asincrona:
created
integer
Marca de tiempo Unix de la creacion.
task_id
string
Identificador unico de la tarea para consultar el estado.
status
string
Estado inicial: pending.
poll_url
string
URL relativa para consultar los resultados (por ejemplo, /v1/images/generations/{task_id}).
data
array
Array con datos de marcador de posicion. url estara vacio hasta que se complete.
Cuando reciba status: "pending", use el endpoint Obtener estado de imagen para consultar el resultado.
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..."
    }
  ]
}

Modelos disponibles

ModeloTipoCaracteristicas
dall-e-3SincronoMejor calidad, mejora de prompts
dall-e-2SincronoMas rapido, mas economico
flux-proAsincronoFotorrealista, alta calidad
flux-schnellSincronoMuy rapido
midjourneyAsincronoEstilo artistico
ideogram-v3AsincronoMejor renderizado de texto
stable-diffusion-3SincronoCodigo abierto, personalizable
Los modelos asincronos devuelven status: "pending" y requieren consulta periodica. Consulte Obtener estado de imagen para saber como obtener los resultados.

Manejo de respuestas asincronas

Para modelos asincronos, verifique si la respuesta contiene status: "pending":
import requests
import time

def generate_image(prompt, model="midjourney"):
    # Crear solicitud de imagen
    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()

    # Verificar si es asincrono
    if data.get("status") == "pending":
        task_id = data["task_id"]
        print(f"Tarea asincrona iniciada: {task_id}")

        # Consultar resultado
        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", "La generacion fallo"))

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

# Uso
url = generate_image("a beautiful sunset over mountains", model="midjourney")
print(f"Imagen generada: {url}")

Cuerpo

application/json
prompt
string
requerido

Descripcion de texto de la imagen deseada.

model
string

Modelo a utilizar (por ejemplo, dall-e-3 , flux-pro , midjourney ).

n
integer

Numero de imagenes a generar (1-4, depende del modelo).

size
string

Tamano de la imagen. Las opciones varian segun el modelo: DALL-E 3: 1024x1024 , 1792x1024 , 1024x1792 Otros modelos: 512x512 , 1024x1024 , etc.

quality
string

Calidad de la imagen ( standard o hd ). Solo para DALL-E 3.

response_format
string

Formato de respuesta: url o b64_json .

style
string

Estilo para DALL-E 3: vivid o natural .

user
string

Un identificador unico para el usuario final.

Respuesta

200 - application/json

Response 200

created
integer

Marca de tiempo Unix de la creacion.

data
object[]

Array con datos de marcador de posicion. url estara vacio hasta que se complete.

task_id
string

Identificador unico de la tarea para consultar el estado.

status
string

Estado inicial: pending .

poll_url
string

URL relativa para consultar los resultados (por ejemplo, /v1/images/generations/{task_id} ).