Passer au contenu principal
POST
/
v1
/
images
/
generations
curl --request POST \
  --url https://api.evolink.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "gpt-image-2-beta",
  "prompt": "A beautiful colorful sunset over the ocean"
}
'
{
  "created": 1757156493,
  "id": "task-unified-1757156493-imcg5zqt",
  "model": "gpt-image-2-beta",
  "object": "image.generation.task",
  "progress": 0,
  "status": "pending",
  "task_info": {
    "can_cancel": true,
    "estimated_time": 100
  },
  "type": "image",
  "usage": {
    "billing_rule": "per_call",
    "credits_reserved": 2.5,
    "user_group": "default"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.evolink.ai/llms.txt

Use this file to discover all available pages before exploring further.

Autorisations

Authorization
string
header
requis

Toutes les API nécessitent une authentification Bearer Token

Obtenir une clé API :

Visitez la Page de gestion des clés API pour obtenir votre clé API

Ajouter à l'en-tête de requête :

Authorization: Bearer YOUR_API_KEY

Corps

application/json
model
enum<string>
défaut:gpt-image-2-beta
requis

Nom du modèle de génération d'image

Options disponibles:
gpt-image-2-beta
Exemple:

"gpt-image-2-beta"

prompt
string
requis

Invite décrivant l'image que vous souhaitez générer, ou décrivant comment éditer l'image d'entrée. Limitée à 2000 tokens

Maximum string length: 2000
Exemple:

"A beautiful colorful sunset over the ocean"

size
string
défaut:auto

Rapport d'aspect de l'image générée. Choisissez l'un des rapports pris en charge, ou utilisez auto pour laisser le modèle décider :

  • auto : Déterminé automatiquement par le modèle (par défaut)
  • 1:1 : Carré
  • 3:2 / 2:3 : Paysage / Portrait
  • 4:3 / 3:4 : Paysage / Portrait
  • 5:4 / 4:5 : Paysage / Portrait
  • 16:9 / 9:16 : Écran large paysage / portrait
  • 21:9 / 9:21 : Ultra-large paysage / portrait
  • 2:1 / 1:2 : Paysage / Portrait
  • 3:1 / 1:3 : Panorama paysage / portrait

Pixels explicites LxH sont également pris en charge (par ex. 1024x1024 / 1920x1080 / 3840x2160). Avec des pixels explicites, le champ resolution est ignoré et le palier de facturation est classé automatiquement selon le total de pixels :

  • Total ≤ 1.7 MP → 1K
  • Total > 1.7 MP et ≤ 4.4 MP → 2K
  • Total > 4.4 MP → 4K

Limites strictes en pixels :

  • La largeur et la hauteur doivent toutes deux être des multiples de 16
  • Total de pixels : 655 360 (≈ 0,65 MP) ~ 8 294 400 (≈ 8,29 MP)
  • Chaque côté ≤ 3840
  • Ratio ≤ 3:1
Exemple:

"16:9"

resolution
enum<string>
défaut:1K

Niveau de résolution, effectif uniquement lorsque size est un rapport.

Cas d'ignorance :

  • size=auto : facturé au palier 1K (ce paramètre n'a pas besoin d'être passé)
  • size en pixels explicites LxH : ce champ est ignoré, et le palier est classé automatiquement selon le total de pixels (voir la description de size)

Multiplicateur de prix :

  • 1K : 1× base (par défaut)
  • 2K : 1,7× base
  • 4K : 2,6× base

Dimensions de sortie paysage/carré (portrait = inversé) :

Rapport1K2K4K
1:11024×10242048×20482880×2880
2:11456×7202896×14563840×1920 *
3:11776×5923552×11843840×1280 *
3:21248×8322512×16803520×2352
4:31184×8802368×17763312×2480 *
5:41152×9122288×18243216×2576
16:91360×7682736×15363840×2160 (UHD)
21:91568×6723136×13443840×1632 *
  • automatiquement réduit pour respecter le budget de pixels.
Options disponibles:
1K,
2K,
4K
Exemple:

"1K"

image_urls
string<uri>[]

Liste d'URL d'images de référence pour les fonctionnalités image vers image et édition d'image

Remarques :

  • Jusqu'à 16 images de référence par requête
  • Formats pris en charge : .jpeg, .jpg, .png, .webp
  • Les URL d'images doivent être directement accessibles par le serveur, ou des URL qui déclenchent un téléchargement direct (généralement des URL se terminant par des extensions d'image comme .png, .jpg)
Maximum array length: 16
Exemple:
[
"https://example.com/image1.png",
"https://example.com/image2.png"
]
callback_url
string<uri>

URL de rappel HTTPS pour l'achèvement de la tâche

Moment du rappel :

  • Déclenché lorsque la tâche est terminée, échouée ou annulée
  • Envoyé après confirmation de la facturation

Restrictions de sécurité :

  • Protocole HTTPS uniquement
  • Les adresses IP internes sont interdites (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
  • La longueur de l'URL ne doit pas dépasser 2048 caractères

Mécanisme de rappel :

  • Délai d'expiration : 10 secondes
  • Maximum 3 tentatives après échec (à 1/2/4 secondes après l'échec)
  • Le format de réponse du rappel est cohérent avec l'API de requête de tâche
  • Un code de statut 2xx est considéré comme un succès, les autres codes déclenchent une nouvelle tentative
Exemple:

"https://your-domain.com/webhooks/image-task-completed"

Réponse

Tâche d'image créée avec succès

created
integer

Horodatage de création de la tâche

Exemple:

1757156493

id
string

ID de tâche

Exemple:

"task-unified-1757156493-imcg5zqt"

model
string

Nom du modèle réellement utilisé

Exemple:

"gpt-image-2-beta"

object
enum<string>

Type d'objet de tâche

Options disponibles:
image.generation.task
progress
integer

Pourcentage de progression de la tâche (0-100)

Plage requise: 0 <= x <= 100
Exemple:

0

status
enum<string>

Statut de la tâche

Options disponibles:
pending,
processing,
completed,
failed
Exemple:

"pending"

task_info
object

Informations sur la tâche asynchrone

type
enum<string>

Type de sortie de la tâche

Options disponibles:
text,
image,
audio,
video
Exemple:

"image"

usage
object

Informations d'utilisation et de facturation