Riferimento API
Immagini: task asincroni
Modelli su questo endpoint (12)
/v1/images/tasks/v1/images/tasks/{task_id}/v1/images/tasks/{task_id}/contentGenerazione di immagini asincrona — la route usata da tutti i modelli di immagini del catalogo. L'invio restituisce un task_id; interroga l'endpoint di stato, poi leggi gli URL persistenti dei risultati da /content — oppure registra un webhook e salta il polling.
#Parametri della richiesta
modelstringobbligatorioUn ID di modello di immagini asincrono, per esempio gpt-image-2. I modelli solo sincroni rifiutano questo endpoint.
promptstringobbligatorioCosa disegnare.
sizestringfacoltativoProporzioni predefinite come "16:9" — il formato della maggior parte dei modelli di immagini; i valori esatti sono nella scheda del modello. Alcuni modelli più vecchi accettano anche WIDTHxHEIGHT.
resolutionstringfacoltativoFascia di risoluzione dell'output come "1K", "2K" o "4K", se la scheda del modello la riporta — anche una dimensione della fascia di prezzo.
qualitystringfacoltativoLivello di qualità del fornitore (per esempio standard / hd) — anche una dimensione della fascia di prezzo.
nintegerfacoltativoNumero di immagini (la fatturazione si moltiplica per immagine).
imagesarrayfacoltativoImmagini di riferimento da modificare o da seguire, come URL o data URI. La scheda del modello indica quante ne accetta ogni modello.
maskstringfacoltativoRidisegna una zona della prima immagine di riferimento: vedi «Modificare una parte di un’immagine» più sotto. La accettano solo i modelli la cui scheda elenca mask; mask_url è accettato come lo stesso campo.
webhook_urlstringfacoltativoURL HTTPS chiamato quando il task raggiunge uno stato finale — vedi la guida ai video per il contratto della callback.
webhook_secretstringfacoltativoSe impostato, le consegne includono X-Xiaoxiang-Signature: sha256=hex(HMAC-SHA256(body, secret)).
I parametri variano in base al modello
I nomi dei campi possono variare in base alla famiglia di modelli
#Modificare una parte di un’immagine
Invia l’immagine in images e una mask: viene ridisegnata solo la zona mascherata e il resto dell’immagine resta com’è. Scrivi in prompt cosa deve comparire lì. Oggi accettano una maschera gpt-image-2.5-flare e gpt-image-2.5-sunburst; la scheda del modello la mostra come campo 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"
}'Come creare la maschera
- 400 invalid_requestmask è stato inviato senza immagine di riferimento, oppure a un modello che non accetta maschere (gpt-image-2.5-ext risponde "mask is not supported on Ext").
#Errori correlati
- 404 not_foundPercorso sconosciuto, nome del modello sconosciuto o un task_id scaduto o di un altro account.
- 401Bearer token non valido o mancante. Su questo percorso non c'è error.code — basati sullo stato.
- 402 insufficient_user_quotaIl saldo del portafoglio non copre la stima pre-riservata.
- 429Limitazione per chiave. Corpo vuoto; attendi Retry-After. Un 429 che contiene insufficient_user_quota indica invece un limite di spesa giornaliero.
- 503 model_not_foundModello sconosciuto, oppure nessun canale funzionante lo serve al momento.
#Esempio di richiesta
# 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"#Risposta
// 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://…"}]}Non hai ancora risolto?
Inviaci l'ID richiesta o il messaggio di errore e verificheremo.