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"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: gpt-image-2",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}GPT Image 2 Bildgenerierung
- Das GPT Image 2 (gpt-image-2) Modell unterstützt Text-zu-Bild, Bild-zu-Bild, Bildbearbeitung und andere Generierungsmodi
- Asynchroner Verarbeitungsmodus, verwenden Sie die zurückgegebene Aufgaben-ID zur Abfrage
- Generierte Bildlinks sind 24 Stunden gültig, bitte speichern Sie diese umgehend
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"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: gpt-image-2",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}Autorisierungen
##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
Name des Bildgenerierungsmodells, offizieller Kanal, bessere Stabilität und Steuerbarkeit, geeignet für kommerzielle Szenarien
gpt-image-2 "gpt-image-2"
Prompt, der das zu generierende Bild beschreibt oder wie das Eingabebild bearbeitet werden soll
Beschränkungen:
- Maximal
32000Zeichen (gezählt nach Unicode-Codepunkten, funktioniert für CJK und andere Sprachen) - Wenn der Prompt
8000Tokens überschreitet, entspricht das generierte Bild möglicherweise nicht den Erwartungen; eine Kürzung des Prompts wird empfohlen
32000"Ein wunderschöner bunter Sonnenuntergang über dem Ozean"
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 - Pixel eines einzelnen Bildes: Breite × Höhe nicht mehr als
178.956.970px - Seitenlänge eines einzelnen Bildes: Breite / Höhe jeweils nicht mehr als
23170px; bei Überschreitung können Fehler auftreten - 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
[
"https://example.com/image1.png",
"https://example.com/image2.png"
]
Inpainting-Maske URL — markiert die Region des Referenzbildes, die neu generiert werden soll. Nur im Bildbearbeitungsmodus wirksam (muss zusammen mit image_urls verwendet werden); bei reiner Text-zu-Bild-Generierung wird die Maske stillschweigend ignoriert.
Format-Anforderungen:
- Muss ein PNG mit Alphakanal sein: transparente Pixel (
alpha < 255) = neu zu generierende Bereiche, undurchsichtige Pixel = bleiben erhalten - Maskenabmessungen müssen exakt mit dem Referenzbild übereinstimmen (Breite × Höhe in Pixeln)
- Eine Maske pro Anfrage
Hinweis:
- Mindestens ein Referenzbild in
image_urlsist erforderlich; eine Maske allein hat keine Wirkung - Häufige Fehler:
Invalid mask image format - mask image missing alpha channel: Das hochgeladene Bild hat keinen Alphakanal (JPEG, undurchsichtiges PNG usw.). Exportieren Sie die Maske erneut als PNG mit transparenten Bereichen.Invalid mask image format - mask size does not match image size: Die Maskenabmessungen stimmen nicht mit dem Referenzbild überein. Skalieren Sie die Maske auf die gleichen Pixelabmessungen wie Ihr Referenzbild.
"https://example.com/mask.png"
Größe des generierten Bildes. Unterstützt sowohl Verhältnisformat als auch explizites Pixelformat, Standard auto
① Verhältnisformat (empfohlen, 15 Optionen)
1:1: Quadrat1:2/2:1: Extrem hoch / breit1:3/3:1: Ultra hoch / breit (3:1-Grenze)2:3/3:2: Standard hoch / quer3:4/4:3: Klassisch hoch / quer4:5/5:4: Gängige Social-Media-Formate9:16/16:9: Mobil / Desktop-Widescreen9: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
16sein - 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 +
resolutiondas Pixel-Budget überschreitet, werden die Maße proportional auf das Maximum herunterskaliert (z. B. 4K 2:1 → 3840×1920)
"auto"
Schneller Parameter für die Auflösungsstufe, wirkt nur, wenn size im Verhältnisformat angegeben ist; im expliziten Pixelformat wird dieses Feld ignoriert
Pixel-Budget-Regel (die Abmessungen werden aus der Ziel-Pixelzahl und dem size-Verhältnis berechnet und auf Vielfache von 16 ausgerichtet):
1K: ~1 MP (1024² = 1.048.576 Pixel)2K: ~4 MP (2048² = 4.194.304 Pixel)4K: ~8,29 MP (3840×2160 = 8.294.400 Pixel, das Maximum)
Querformat-/Quadrat-Ausgabegrößen (Hochformat-Maße sind die Breite/Höhe des entsprechenden Querformats vertauscht, z. B. 2:3 = 3:2 umgekehrt):
| Verhältnis | 1K | 2K | 4K |
|---|---|---|---|
1:1 | 1024×1024 | 2048×2048 | 2880×2880 |
2:1 | 1456×720 | 2896×1456 | 3840×1920 * |
3:1 | 1776×592 | 3552×1184 | 3840×1280 * |
3:2 | 1248×832 | 2512×1680 | 3520×2352 |
4:3 | 1184×880 | 2368×1776 | 3312×2480 * |
5:4 | 1152×912 | 2288×1824 | 3216×2576 |
16:9 | 1360×768 | 2736×1536 | 3840×2160 (UHD) |
21:9 | 1568×672 | 3136×1344 | 3840×1632 * |
* Markiert Kombinationen, die wegen des Pixel-Budgets automatisch herunterskaliert werden. Werte sind Groß-/Kleinschreibungsunabhängig.
1K, 2K, 4K "1K"
Rendering-Qualität, steuert die "Denktiefe" des Modells und beeinflusst direkt die Anzahl der Ausgabe-Token und die Kosten. Standard medium
| Wert | Tile-Basis | Relative Kosten (1024²) |
|---|---|---|
low | 16 | ~0,11× |
medium | 48 | 1,0× |
high | 96 | ~4,0× |
low, medium, high "medium"
Alphakanal des Ausgabebildes. Standardwert opaque
opaque: Deckender Hintergrund, kein Alphakanaltransparent: Behält den Alphakanal bei
Hinweis:
transparentist eine Preview-Funktion, die Ergebnisse können instabil sein- Von
gpt-image-2-betanicht unterstützt
opaque, transparent "opaque"
Anzahl der zu generierenden Bilder, jedes wird einzeln abgerechnet
Hinweis:
- Text-Input-Tokens skalieren linear mit
n
1 <= x <= 101
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
2048Zeichen nicht überschreiten
Callback-Mechanismus:
- Timeout:
10Sekunden - Maximal
3Wiederholungsversuche bei Fehler (Wiederholung nach1Sekunde/2Sekunden/4Sekunden) - 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
"https://your-domain.com/webhooks/image-task-completed"
Antwort
Bildaufgabe erfolgreich erstellt
Zeitstempel der Aufgabenerstellung
1757156493
Aufgaben-ID
"task-unified-1757156493-imcg5zqt"
Tatsächlich verwendeter Modellname
"gpt-image-2"
Spezifischer Aufgabentyp
image.generation.task Aufgabenfortschritt in Prozent (0-100)
0 <= x <= 1000
Aufgabenstatus
pending, processing, completed, failed "pending"
Asynchrone Aufgabeninformationen
Show child attributes
Show child attributes
Ausgabetyp der Aufgabe
text, image, audio, video "image"
Nutzungs- und Abrechnungsinformationen
Show child attributes
Show child attributes