Passer au contenu 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..."
    }
  ]
}

Corps de la requête

model
string
défaut:"dall-e-3"
Modèle à utiliser (ex: dall-e-3, flux-pro, midjourney).
prompt
string
requis
Description textuelle de l’image souhaitée.
n
integer
défaut:"1"
Nombre d’images à générer (1-4, selon le modèle).
size
string
défaut:"1024x1024"
Taille de l’image. Les options varient selon le modèle :
  • DALL-E 3 : 1024x1024, 1792x1024, 1024x1792
  • Autres modèles : 512x512, 1024x1024, etc.
quality
string
défaut:"standard"
Qualité de l’image (standard ou hd). DALL-E 3 uniquement.
response_format
string
défaut:"url"
Format de réponse : url ou b64_json.
style
string
défaut:"vivid"
Style pour DALL-E 3 : vivid ou natural.
user
string
Identifiant unique pour l’utilisateur final.

Réponse

Réponse synchrone (DALL-E, Flux Schnell, etc.)

created
integer
Horodatage Unix de la création.
data
array
Tableau des images générées.Chaque objet contient :
  • url (string) : URL de l’image générée
  • b64_json (string) : Image encodée en Base64 (si demandé)
  • revised_prompt (string) : Le prompt utilisé (DALL-E 3)

Réponse asynchrone (Midjourney, Flux Pro, Ideogram, etc.)

Certains modèles nécessitent un temps de traitement plus long et renvoient une réponse asynchrone :
created
integer
Horodatage Unix de la création.
task_id
string
Identifiant unique de la tâche pour le polling.
status
string
Statut initial : pending.
poll_url
string
URL relative pour interroger les résultats (ex: /v1/images/generations/{task_id}).
data
array
Tableau avec des données provisoires. url sera vide jusqu’à la fin du traitement.
Lorsque vous recevez status: "pending", utilisez l’endpoint Obtenir le statut de l’image pour interroger le résultat.
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..."
    }
  ]
}

Modèles disponibles

ModèleTypeCaractéristiques
dall-e-3SyncMeilleure qualité, amélioration du prompt
dall-e-2SyncPlus rapide, plus abordable
flux-proAsyncPhotoréaliste, haute qualité
flux-schnellSyncTrès rapide
midjourneyAsyncStyle artistique
ideogram-v3AsyncMeilleur rendu de texte
stable-diffusion-3SyncOpen source, personnalisable
Les modèles asynchrones renvoient status: "pending" et nécessitent un polling. Consultez Obtenir le statut de l’image pour savoir comment récupérer les résultats.

Gestion des réponses asynchrones

Pour les modèles asynchrones, vérifiez si la réponse contient status: "pending" :
import requests
import time

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

    # Check if async
    if data.get("status") == "pending":
        task_id = data["task_id"]
        print(f"Async task started: {task_id}")

        # Poll for result
        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:
        # Sync response
        return data["data"][0]["url"]

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

Corps

application/json
prompt
string
requis

Description textuelle de l’image souhaitée.

model
string

Modèle à utiliser (ex: dall-e-3 , flux-pro , midjourney ).

n
integer

Nombre d’images à générer (1-4, selon le modèle).

size
string

Taille de l’image. Les options varient selon le modèle : DALL-E 3 : 1024x1024 , 1792x1024 , 1024x1792 Autres modèles : 512x512 , 1024x1024 , etc.

quality
string

Qualité de l’image ( standard ou hd ). DALL-E 3 uniquement.

response_format
string

Format de réponse : url ou b64_json .

style
string

Style pour DALL-E 3 : vivid ou natural .

user
string

Identifiant unique pour l’utilisateur final.

Réponse

200 - application/json

Response 200

created
integer

Horodatage Unix de la création.

data
object[]

Tableau avec des données provisoires. url sera vide jusqu’à la fin du traitement.

task_id
string

Identifiant unique de la tâche pour le polling.

status
string

Statut initial : pending .

poll_url
string

URL relative pour interroger les résultats (ex: /v1/images/generations/{task_id} ).