API-Referenz
Bilder: asynchrone Tasks
Modelle für diesen Endpunkt (12)
/v1/images/tasks/v1/images/tasks/{task_id}/v1/images/tasks/{task_id}/contentAsynchrone Bildgenerierung — die Route, die jedes Bildmodell im Katalog nutzt. Das Einreichen gibt eine task_id zurück; fragen Sie den Status-Endpunkt ab und lesen Sie dann die dauerhaften Ergebnis-URLs über /content — oder registrieren Sie einen Webhook und sparen Sie sich das Abfragen.
#Anfrageparameter
modelstringerforderlichEine asynchrone Bildmodell-ID, z. B. gpt-image-2. Rein synchrone Modelle lehnen diesen Endpunkt ab.
promptstringerforderlichWas gezeichnet werden soll.
sizestringoptionalSeitenverhältnis-Vorgabe wie "16:9" — das nehmen die meisten Bildmodelle; die genauen Werte stehen auf der Modellkarte. Manche ältere Modelle akzeptieren auch WIDTHxHEIGHT.
resolutionstringoptionalAuflösungsstufe der Ausgabe wie "1K", "2K" oder "4K", sofern die Modellkarte sie aufführt — ebenfalls eine Dimension der Preisstufe.
qualitystringoptionalQualitätsstufe des Anbieters (z. B. standard / hd) — ebenfalls eine Dimension der Preisstufe.
nintegeroptionalAnzahl der Bilder (die Abrechnung multipliziert pro Bild).
imagesarrayoptionalReferenzbilder zum Bearbeiten oder als Vorlage, als URLs oder Data-URIs. Wie viele ein Modell annimmt, steht auf seiner Modellkarte.
maskstringoptionalMalt einen Bereich des ersten Referenzbilds neu — siehe „Einen Teil eines Bildes bearbeiten“ unten. Nur Modelle, deren Modellkarte mask aufführt, nehmen es an; mask_url wird als dasselbe Feld akzeptiert.
webhook_urlstringoptionalHTTPS-URL, die aufgerufen wird, sobald der Task einen Endzustand erreicht — den Callback-Vertrag beschreibt der Video-Leitfaden.
webhook_secretstringoptionalWenn gesetzt, enthalten Zustellungen X-Xiaoxiang-Signature: sha256=hex(HMAC-SHA256(body, secret)).
Parameter unterscheiden sich je nach Modell
Feldnamen können je nach Modellfamilie abweichen
#Einen Teil eines Bildes bearbeiten
Schicken Sie das Bild in images und dazu eine mask: Nur der maskierte Bereich wird neu gezeichnet, der Rest des Bildes bleibt, wie er ist. Beschreiben Sie in prompt, was dort erscheinen soll. Derzeit nehmen gpt-image-2.5-flare und gpt-image-2.5-sunburst eine Maske an; die Modellkarte zeigt sie als Feld mask.
curl https://www.aisplice.store/v1/images/tasks \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-flare",
"prompt": "Replace the mug with a glass of orange juice; keep everything else",
"images": ["https://example.com/desk.png"],
"mask": "https://example.com/desk-mask.png",
"resolution": "1K"
}'So erstellen Sie die Maske
- 400 invalid_requestmask wurde ohne Referenzbild gesendet oder an ein Modell, das keine Maske annimmt (gpt-image-2.5-ext antwortet mit "mask is not supported on Ext").
#Zugehörige Fehler
- 404 not_foundUnbekannter Pfad, unbekannter Modellname oder eine abgelaufene bzw. fremde task_id.
- 401Ungültiges oder fehlendes Bearer-Token. Auf diesem Pfad gibt es kein error.code — werten Sie den Status aus.
- 402 insufficient_user_quotaDas Wallet-Guthaben deckt die vorab reservierte Schätzung nicht.
- 429Drosselung pro Schlüssel. Leerer Body; warten Sie Retry-After ab. Ein 429, das insufficient_user_quota enthält, ist dagegen ein tägliches Ausgabenlimit.
- 503 model_not_foundUnbekanntes Modell, oder derzeit bedient es kein funktionsfähiger Kanal.
#Beispielanfrage
# 1. submit
curl https://www.aisplice.store/v1/images/tasks \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-image-2.5-ext", "prompt": "A red paper crane on a desk", "size": "16:9", "resolution": "1K"}'
# 2. poll every 3s until a terminal status
curl https://www.aisplice.store/v1/images/tasks/$TASK_ID -H "Authorization: Bearer sk-YOUR_KEY"
# 3. fetch persistent result URLs
curl https://www.aisplice.store/v1/images/tasks/$TASK_ID/content -H "Authorization: Bearer sk-YOUR_KEY"#Antwort
// POST /v1/images/tasks
{"task_id": "task_xxx", "status": "queued"}
// GET /v1/images/tasks/{task_id}
{"task_id": "task_xxx", "status": "in_progress", "progress": "60%"}
// GET /v1/images/tasks/{task_id}/content — after completion
{"created": 1720000000, "data": [{"url": "https://…"}]}Immer noch nicht gelöst?
Senden Sie uns die Anfrage-ID oder die Fehlermeldung, und wir sehen uns das an.