dall-e-3, la capacità di rendering testuale più avanzata di gpt-image-1, l’ultima generazione di gpt-image-2, e la serie di modelli nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro accessibili tramite la stessa interfaccia. Tutti questi modelli possono generare immagini di alta qualità in base a descrizioni testuali.
Questo documento descrive principalmente il processo di utilizzo dell’API OpenAI Images Generations, che ci consente di utilizzare facilmente le funzionalità di generazione di immagini della serie OpenAI.
Processo di Richiesta
Per utilizzare l’API OpenAI Images Generations, prima di tutto visita il Pannello di Controllo di Ace Data Cloud per ottenere il tuo API Token, da conservare per uso futuro.
Se non hai ancora effettuato il login o la registrazione, verrai automaticamente reindirizzato alla pagina di login che ti invita a registrarti e accedere; una volta completato, verrai riportato automaticamente alla pagina corrente.
Un API Token è sufficiente per accedere a tutti i servizi della piattaforma, senza necessità di richiederne uno separato per ogni servizio. La prima richiesta offre un credito gratuito, permettendo di provare senza costi; quando il credito è insufficiente, puoi ricaricare il saldo generale nel pannello di controllo.
📘 Documentazione Completa: OpenAI Images Generations API →
Modello GPT-Image-2
gpt-image-2 è il nuovo modello di generazione di immagini lanciato da OpenAI, che presenta miglioramenti significativi rispetto a dall-e-3 e gpt-image-1 nei seguenti aspetti:
- Maggiore capacità di seguire istruzioni: in grado di comprendere con precisione istruzioni strutturate complesse riguardanti composizione, conteggio, relazioni spaziali, ecc.
- Rendering testuale più chiaro: in scenari come poster, menu, infografiche, loghi, l’inglese e i numeri non presentano quasi mai confusione.
- Espressione stilistica più ricca: supporta nativamente vari stili come ritratti cinematografici, poster vintage, illustrazioni per bambini, fotografia di prodotto, infografiche, ecc.
- Supporto nativo per più proporzioni + alta risoluzione: copre 5 proporzioni (1:1, 4:3, 3:4, 16:9, 9:16) con 3 livelli di risoluzione (1K / 2K / 4K).
model su gpt-image-2. L’url nel risultato restituito è un link a un’immagine ospitata permanentemente su platform.cdn.acedata.cloud, che può essere aperto direttamente nel browser o incorporato in una pagina web.
Percorso Ufficiale / Variante Inversa (:official / :reverse)
gpt-image-2 utilizza per impostazione predefinita il percorso inverso. È possibile scegliere esplicitamente il percorso tramite il suffisso del nome del modello:
gpt-image-2:official: percorso ufficiale. Supportan > 1(restituzione di più immagini in una volta) e risoluzioni reali 2K / 4K, con addebito per ogni immagine, il prezzo è il doppio di quello predefinito digpt-image-2. Attualmente fornito solo dal canale openai-hk; se il percorso non è disponibile, restituisce direttamente un errore, senza degradare al percorso inverso.gpt-image-2:reverse: equivalente algpt-image-2predefinito (percorso inverso), utilizzato per dichiarare esplicitamente l’uso del percorso inverso, senza variazione di prezzo.
Le limitazioni relative al parametro “n” di seguito si applicano solo ai percorsi predefiniti / inversi;gpt-image-2:officialsupportan > 1e addebita per immagine.
Valori Supportati per size
gpt-image-2 controlla solo il formato di size, purché non sia auto o una stringa vuota, deve corrispondere a WIDTHxHEIGHT (ad esempio 1024x1024, 2048x1152, 800x600); qualsiasi altra forma restituirà 400. Tutte le dimensioni (1K / 2K / 4K / personalizzate) vengono addebitate uniformemente per immagine, senza sovrapprezzo per dimensione.
Vincoli rigidi per dimensioni personalizzate: larghezza e altezza devono essere multipli di 16, lunghezza massima ≤ 3840, numero totale di pixel ≤ 8.294.400. Superare questi limiti comporterà un rifiuto da parte del sistema con un errore 4xx.
Puoi anche passaresize: "auto"o omettendo il camposize, in questo caso il modello sceglierà automaticamente la dimensione predefinita. Nella fascia 1K, l’output non garantisce un allineamento rigoroso dei pixel: se invii1024x1024, potresti ricevere1254x1254, mantenendo la proporzione. Se lo reinserisci comesize, l’addebito rimane invariato. Una chiamata a 4K richiede solitamente 4–8 minuti, si consiglia di utilizzare ilcallback_urlper il callback asincrono.
Riguardo al parametroDi seguito, alcuni esempi reali da diverse angolazioni per percepire intuitivamente le capacità dingpt-image-2attualmente non supportan > 1: questo parametro verrà silenziosamente ignorato, sia che tu inviin=1chen=10, la richiesta restituirà solo 1 immagine e verrà addebitata solo per 1 immagine. Se hai bisogno di ricevere più immagini candidate in una sola volta, ti preghiamo di inviare più richieste in parallelo (si consiglia di inviare contemporaneamente diversiprompto diversiseed, altrimenti le immagini ottenute potrebbero essere molto simili). Questa limitazione si applica anche agpt-image-1/gpt-image-1.5, così come alla serienano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-pro.dall-e-2è attualmente l’unico modello che supporta nativamenten > 1;dall-e-3supporta solon = 1.
gpt-image-2.
Scenario 1: Ritratto Cinematografico
Nella frase di input, puoi utilizzare termini cinematografici (pellicola 35mm, profondità di campo ridotta, luci al neon, ecc.) per controllare con precisione l’atmosfera e la qualità. Esempio di codice di chiamata in Python:
Scena due: Poster di viaggio vintage (con rendering del testo)
gpt-image-2 si comporta in modo stabile nella composizione e nel rendering dei caratteri, rendendolo molto adatto per generare poster, menu, biglietti d’auguri e altri design con testo.
url nel risultato restituito è mostrata di seguito:

AMALFI e ITALIA 1958 è stato reso in modo chiaro e corretto.
Scena tre: Composizione complessa e conteggio
Il seguente suggerimento è utilizzato per testare la capacità del modello di seguire istruzioni strutturate come “quantità” e “posizione”.
dall-e-3.
Scena quattro: Stile illustrazione (orizzontale)
Specificando il mezzo artistico e le parole chiave emotive, è possibile guidare il modello a produrre illustrazioni stilizzate.
Asincrono e callback
gpt-image-2 richiede solitamente 60-90 secondi per una singola chiamata; se non si desidera mantenere una connessione lunga, è possibile utilizzare il meccanismo di callback asincrono callback_url descritto in seguito, il flusso di chiamata è completamente identico a quello di altri modelli.
Modelli della serie Nano Banana
La serienano-banana è un modello di generazione di immagini basato su Gemini, già integrato tramite lo stesso endpoint /openai/images/generations, senza necessità di cambiare endpoint, basta cambiare model in uno qualsiasi di quelli nella tabella sottostante.
Importante: intervallo di supporto dei parametri Nano Banana si integra con il protocollo OpenAI tramite un livello di adattamento, rispetto agpt-image-*supporta solo i seguenti parametri:model,prompt,size.
sizeverrà mappato comeaspect_ratiointerno secondo la tabella sottostante, le dimensioni non elencate verranno degradate a1:1:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- Non supporta i parametri
n,quality,style,response_format,background,output_format, ecc.; anche se inseriti verranno ignorati.- La struttura di ritorno segue il formato OpenAI (
data[].url), macreatedè fisso a0, e non verrà restituitob64_json,revised_promptè sempre uguale alpromptoriginale.
Chiamata di base
url restituito:

Aggiorna al modello di punta nano-banana-pro
Basta cambiare model in nano-banana-pro, gli altri parametri rimangono completamente invariati:

Callback asincrono
Il meccanismo di callback asincronocallback_url è altrettanto efficace per nano-banana, il flusso di chiamata è completamente identico ad altri modelli, vedere la sezione Callback asincrono qui sotto.
Utilizzo di base
Ora puoi compilare i contenuti corrispondenti nell’interfaccia, come mostrato nell’immagine:
authorization, che può essere selezionato direttamente dall’elenco a discesa. Un altro parametro è model, model è la categoria del modello che scegliamo di utilizzare dal sito ufficiale di OpenAI DALL-E, qui abbiamo principalmente 1 tipo di modello, i dettagli possono essere visti nei modelli forniti. L’ultimo parametro è prompt, prompt è la parola chiave che inseriamo per generare l’immagine.
Puoi anche notare che a destra ci sono i codici di chiamata corrispondenti generati, puoi copiare il codice e eseguirlo direttamente, oppure puoi semplicemente fare clic sul pulsante “Try” per testare.

created, l’ID generato per questa generazione di immagini, utilizzato per identificare univocamente questo compito.data, contiene le informazioni sui risultati della generazione dell’immagine.
data include le informazioni specifiche sull’immagine generata dal modello, il cui url è il link ai dettagli dell’immagine generata, come mostrato nell’immagine.

Parametro di qualità dell’immagine quality
Ora presenteremo come impostare alcuni parametri dettagliati per i risultati della generazione dell’immagine, dove il parametro di qualità dell’immagine quality include due tipi, il primo standard indica che l’immagine generata è standard, l’altro hd indica che l’immagine creata ha dettagli più fini e maggiore coerenza.
Di seguito impostiamo il parametro di qualità dell’immagine su standard, le impostazioni specifiche sono mostrate nell’immagine:


standard è mostrata nell’immagine qui sotto:

hd ,可以得到如下图所示的图片:

hd 比 standard 生成的图片具有更精细的细节和更大的一致性。
图片大小尺寸参数 size
我们还可以设置生成图片的尺寸大小,我们可以进行下面的设置。
下面设置图片的尺寸大小为 1024 * 1024 ,具体设置如下图:


1024 * 1024 的生成图片如下图所示:

1792 * 1024 ,可以得到如下图所示的图片:
可以看到图片的尺寸大小很明显不一样,另外还可以设置更多尺寸大小,详情信息参考我们官网文档。
图片风格参数 style
图片风格参数 style 包含俩个参数,第一种 vivid 表示生成的图片是更加生动的,另一种 natural 表示生成的图片更加的自然一点。
下面设置图片风格参数为 vivid ,具体设置如下图:


vivid 的生成图片如下图所示:

natural ,可以得到如下图所示的图片:

vivid 比 natural 生成的图片具有更加生动逼真。
图片链接的格式参数 response_format
最后一个图片链接的格式参数 response_format 也有俩种,第一种 b64_json 是对图片链接进行 Base64 编码,另一种 url 就是普通的图片链接,可以直接查看图片。
下面设置图片链接的格式参数为 url ,具体设置如下图:


url per l’immagine generata è URL dell’immagine questo è accessibile direttamente, il contenuto dell’immagine è mostrato nella figura sottostante:

b64_json per ottenere il risultato del link dell’immagine codificato in Base64, il risultato specifico è mostrato nella figura sottostante:
Callback asincrona
Poiché il tempo di generazione delle immagini dell’API OpenAI potrebbe essere relativamente lungo, se l’API non risponde per un lungo periodo, la richiesta HTTP manterrà la connessione, causando un ulteriore consumo di risorse di sistema, quindi questa API offre anche supporto per callback asincroni. Il flusso complessivo è: quando il client avvia la richiesta, specifica un campocallback_url aggiuntivo, dopo che il client ha avviato la richiesta API, l’API restituirà immediatamente un risultato, contenente un campo task_id, che rappresenta l’ID del compito corrente. Quando il compito è completato, il risultato dell’immagine generata verrà inviato al callback_url specificato dal client in formato JSON POST, che include anche il campo task_id, in modo che il risultato del compito possa essere associato tramite l’ID.
Di seguito, attraverso un esempio, vediamo come operare concretamente.
Innanzitutto, il callback Webhook è un servizio in grado di ricevere richieste HTTP, gli sviluppatori dovrebbero sostituirlo con l’URL del proprio server HTTP. Qui, per comodità di dimostrazione, utilizziamo un sito Web pubblico di esempio per Webhook https://webhook.site/, aprendo questo sito si ottiene un URL Webhook, come mostrato nell’immagine:
Copia questo URL e puoi usarlo come Webhook, l’esempio qui è https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab.
Successivamente, possiamo impostare il campo callback_url su questo URL Webhook, riempiendo i parametri corrispondenti, come mostrato nel seguente codice:
task_id, il campo data contiene lo stesso risultato di generazione dell’immagine della chiamata sincrona, attraverso il campo task_id è possibile realizzare l’associazione del compito.
Gestione degli errori
Quando si chiama l’API, se si verifica un errore, l’API restituirà il codice di errore e le informazioni corrispondenti. Ad esempio:400 token_mismatched:Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.400 api_not_implemented:Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.401 invalid_token:Non autorizzato, token di autorizzazione non valido o mancante.429 too_many_requests:Troppe richieste, hai superato il limite di frequenza.500 api_error:Errore interno del server, qualcosa è andato storto sul server.

