Zum Hauptinhalt springen
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",
  "prompt": "Ein wunderschöner bunter Sonnenuntergang über dem Ozean"
}
'
{
  "created": 1757156493,
  "id": "task-unified-1757156493-imcg5zqt",
  "model": "gpt-image-2",
  "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"
  }
}

Autorisierungen

Authorization
string
header
erforderlich

##Alle APIs erfordern Bearer-Token-Authentifizierung##

API-Schlüssel erhalten:

Besuchen Sie die API-Schlüsselverwaltungsseite, um Ihren API-Schlüssel zu erhalten

Zum Anfrage-Header hinzufügen:

Authorization: Bearer YOUR_API_KEY

Body

application/json
model
enum<string>
Standard:gpt-image-2
erforderlich

Name des Bildgenerierungsmodells, offizieller Kanal, bessere Stabilität und Steuerbarkeit, geeignet für kommerzielle Szenarien

Verfügbare Optionen:
gpt-image-2
Beispiel:

"gpt-image-2"

prompt
string
erforderlich

Prompt, der das zu generierende Bild beschreibt oder wie das Eingabebild bearbeitet werden soll

Beschränkungen:

  • Maximal 32000 Zeichen (gezählt nach Unicode-Codepunkten, funktioniert für CJK und andere Sprachen)
Maximum string length: 32000
Beispiel:

"Ein wunderschöner bunter Sonnenuntergang über dem Ozean"

image_urls
string<uri>[]

Referenzbild-URL-Liste für Bild-zu-Bild- und Bildbearbeitungsfunktionen

Hinweis:

  • Anzahl der Eingabebilder pro Anfrage: 1~16
  • Größe eines einzelnen Bildes: nicht mehr als 50MB
  • Unterstützte Dateiformate: .jpeg, .jpg, .png, .webp
  • Bild-URLs müssen direkt vom Server abrufbar sein oder die Bild-URL sollte beim Zugriff direkt heruntergeladen werden (typischerweise enden diese URLs mit Bilddateiendungen wie .png, .jpg)
  • In Bild-zu-Bild- / Bildbearbeitungs-Szenarien verursachen die übergebenen Referenzbilder zusätzlichen Image-Input-Token-Verbrauch
Beispiel:
[
"https://example.com/image1.png",
"https://example.com/image2.png"
]
size
string
Standard:auto

Größe des generierten Bildes. Unterstützt sowohl Verhältnisformat als auch explizites Pixelformat, Standard auto

① Verhältnisformat (empfohlen, 15 Optionen)

  • 1:1: Quadrat
  • 1:2 / 2:1: Extrem hoch / breit
  • 1:3 / 3:1: Ultra hoch / breit (3:1-Grenze)
  • 2:3 / 3:2: Standard hoch / quer
  • 3:4 / 4:3: Klassisch hoch / quer
  • 4:5 / 5:4: Gängige Social-Media-Formate
  • 9:16 / 16:9: Mobil / Desktop-Widescreen
  • 9:21 / 21:9: Ultra-Wide

② Explizites Pixelformat: WxH (oder W×H), z. B. 1024x1024, 1536x1024, 3840×2160

  • Breite und Höhe müssen jeweils Vielfache von 16 sein
  • Jede Kante im Bereich: [16, 3840]
  • Pixel-Budget: 655.360 ≤ width × height ≤ 8.294.400 (ca. 0,65 MP ~ 8,29 MP)
  • Seitenverhältnis: ≤ 3:1

auto: Modell bestimmt die Größe automatisch (resolution greift in diesem Modus nicht)

Überschreitungsbehandlung:

  • Wenn eine Kombination aus Verhältnis + resolution das Pixel-Budget überschreitet, werden die Maße proportional auf das Maximum herunterskaliert (z. B. 4K 1:1 → 2880×2880)
Beispiel:

"auto"

resolution
enum<string>
Standard:1K

Schneller Parameter für die Auflösungsstufe, wirkt nur, wenn size im Verhältnisformat angegeben ist; im expliziten Pixelformat wird dieses Feld ignoriert

Anker-Kanten-Regel (die andere Kante wird automatisch aus dem size-Verhältnis berechnet und auf Vielfache von 16 ausgerichtet):

  • 1K: Kurze Kante fixiert auf 1024
  • 2K: Lange Kante fixiert auf 2048
  • 4K: Lange Kante fixiert auf 3840

Querformat-/Quadrat-Ausgabegrößen (Hochformat-Maße sind die Breite/Höhe des entsprechenden Querformats vertauscht, z. B. 2:3 = 3:2 umgekehrt):

Verhältnis1K2K4K
1:11024×10242048×20482880×2880 *
2:12048×10242048×10243840×1920
3:13072×10242048×6883840×1280
3:21536×10242048×13603520×2336 *
4:31360×10242048×15363312×2480 *
5:41280×10242048×16323216×2560 *
16:91824×10242048×11523840×2160 (UHD)
21:92384×10242048×8803840×1648

* Markiert Kombinationen, die wegen des Pixel-Budgets automatisch herunterskaliert werden. Werte sind Groß-/Kleinschreibungsunabhängig.

Verfügbare Optionen:
1K,
2K,
4K
Beispiel:

"1K"

quality
enum<string>
Standard:medium

Rendering-Qualität, steuert die "Denktiefe" des Modells und beeinflusst direkt die Anzahl der Ausgabe-Token und die Kosten. Standard medium

WertTile-BasisRelative Kosten (1024²)
low16~0,11×
medium481,0×
high96~4,0×
Verfügbare Optionen:
low,
medium,
high
Beispiel:

"medium"

n
integer
Standard:1

Anzahl der zu generierenden Bilder, jedes wird einzeln abgerechnet

Hinweis:

  • Text-Input-Tokens skalieren linear mit n
Erforderlicher Bereich: 1 <= x <= 10
Beispiel:

1

callback_url
string<uri>

HTTPS-Callback-Adresse nach Aufgabenabschluss

Callback-Zeitpunkt:

  • Wird ausgelöst, wenn die Aufgabe abgeschlossen, fehlgeschlagen oder abgebrochen wurde
  • Wird nach Abschluss der Abrechnungsbestätigung gesendet

Sicherheitsbeschränkungen:

  • Nur HTTPS-Protokoll wird unterstützt
  • Callback an interne IP-Adressen ist verboten (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, usw.)
  • URL-Länge darf 2048 Zeichen nicht überschreiten

Callback-Mechanismus:

  • Timeout: 10 Sekunden
  • Maximal 3 Wiederholungsversuche bei Fehler (Wiederholung nach 1 Sekunde/2 Sekunden/4 Sekunden)
  • Das Format des Callback-Antwortkörpers entspricht dem Antwortformat der Aufgabenabfrage-API
  • Ein 2xx-Statuscode der Callback-Adresse gilt als erfolgreich, andere Statuscodes lösen eine Wiederholung aus
Beispiel:

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

Antwort

Bildaufgabe erfolgreich erstellt

created
integer

Zeitstempel der Aufgabenerstellung

Beispiel:

1757156493

id
string

Aufgaben-ID

Beispiel:

"task-unified-1757156493-imcg5zqt"

model
string

Tatsächlich verwendeter Modellname

Beispiel:

"gpt-image-2"

object
enum<string>

Spezifischer Aufgabentyp

Verfügbare Optionen:
image.generation.task
progress
integer

Aufgabenfortschritt in Prozent (0-100)

Erforderlicher Bereich: 0 <= x <= 100
Beispiel:

0

status
enum<string>

Aufgabenstatus

Verfügbare Optionen:
pending,
processing,
completed,
failed
Beispiel:

"pending"

task_info
object

Asynchrone Aufgabeninformationen

type
enum<string>

Ausgabetyp der Aufgabe

Verfügbare Optionen:
text,
image,
audio,
video
Beispiel:

"image"

usage
object

Nutzungs- und Abrechnungsinformationen