GPT Image 2

GPT Image 2 è l’ultimo modello GPT Image di OpenAI per generare e modificare immagini. Aiberm lo espone tramite endpoint immagine compatibili con OpenAI, così puoi usare l’SDK OpenAI cambiando base_url / baseURL in https://aiberm.com/v1.

Endpoint di generazione: POST https://aiberm.com/v1/images/generations

Endpoint di modifica: POST https://aiberm.com/v1/images/edits

Modello: gpt-image-2

Scegliere un’API

Usa l’Image API quando ti serve una richiesta per generare o modificare un’immagine. Questo è il percorso consigliato per la maggior parte delle integrazioni Aiberm.

OpenAI documenta anche la generazione di immagini come strumento nella Responses API per flussi conversazionali o multi-step. Se la tua integrazione dipende dalla modifica multi-turno, verifica prima che il modello e l’endpoint Aiberm supportino la Responses API.

Generare un’immagine

L’Image API restituisce i dati dell’immagine in base64 in data[0].b64_json. Decodificali e scrivi i byte su un file.

1from openai import OpenAI
2import base64
3 
4client = OpenAI(
5 api_key="YOUR_API_KEY",
6 base_url="https://aiberm.com/v1",
7)
8 
9result = client.images.generate(
10 model="gpt-image-2",
11 prompt="A clean product photo of a matte black smart desk lamp on a white background",
12 size="1024x1024",
13 quality="medium",
14)
15 
16image_base64 = result.data[0].b64_json
17image_bytes = base64.b64decode(image_base64)
18 
19with open("lamp.png", "wb") as f:
20 f.write(image_bytes)

Output di esempio verificato

Questa immagine è stata generata con l’esempio Python sopra e salvata da data[0].b64_json.

Lampada da scrivania smart nera opaca generata

Modificare con immagini di riferimento

Passa una o più immagini a images.edit e descrivi l’output desiderato. Più immagini di input possono essere usate come riferimenti per una nuova composizione.

1from openai import OpenAI
2import base64
3 
4client = OpenAI(
5 api_key="YOUR_API_KEY",
6 base_url="https://aiberm.com/v1",
7)
8 
9result = client.images.edit(
10 model="gpt-image-2",
11 image=[
12 open("product.png", "rb"),
13 open("background.png", "rb"),
14 ],
15 prompt="Place the product from the first image onto the desk in the second image. Keep realistic lighting.",
16 size="1536x1024",
17 quality="high",
18)
19 
20image_bytes = base64.b64decode(result.data[0].b64_json)
21with open("edited-product.png", "wb") as f:
22 f.write(image_bytes)

Modifica di riferimento verificata

L’esempio di modifica combina l’immagine del prodotto con lo sfondo della scrivania e restituisce un nuovo PNG 1536x1024.

Input prodottoInput sfondoOutput modificato
Immagine di riferimento del prodottoImmagine di riferimento dello sfondo della scrivaniaProdotto modificato posizionato sulla scrivania

Modificare con una maschera

Usa una maschera quando vuoi guidare quale area deve cambiare. L’immagine di origine e la maschera devono avere le stesse dimensioni e lo stesso formato, e la maschera deve includere un canale alpha.

1from openai import OpenAI
2import base64
3 
4client = OpenAI(
5 api_key="YOUR_API_KEY",
6 base_url="https://aiberm.com/v1",
7)
8 
9result = client.images.edit(
10 model="gpt-image-2",
11 image=open("room.png", "rb"),
12 mask=open("mask.png", "rb"),
13 prompt="Replace the masked area with a modern walnut bookshelf.",
14)
15 
16image_bytes = base64.b64decode(result.data[0].b64_json)
17with open("room-bookshelf.png", "wb") as f:
18 f.write(image_bytes)

Modifica con maschera verificata

L’immagine della maschera usa un canale alpha per guidare l’area modificabile. L’immagine restituita è un PNG normale.

Immagine di origineImmagine mascheraOutput modificato
Immagine di origine della stanzaImmagine della maschera alphaOutput della modifica con maschera della libreria

Streaming di immagini parziali

L’API upstream di OpenAI documenta stream e partial_images per ricevere immagini intermedie prima del risultato finale. Su Aiberm, considera questa funzione dipendente dalla compatibilità: usa il flusso standard non in streaming a meno che il tuo endpoint non abbia confermato esplicitamente il supporto allo streaming.

Se invii stream: true e partial_images, la risposta potrebbe comunque essere un payload JSON finale normale con data[0].b64_json.

Opzioni di output

ParametroValoriNote
sizeauto, 1024x1024, 1536x1024, 1024x1536, 2048x2048, 2048x1152, 3840x2160, 2160x3840, o un’altra dimensione personalizzata validaOgni lato deve essere un multiplo di 16 px, il lato massimo è 3840 px, il rapporto d’aspetto non deve superare 3:1 e i pixel totali devono essere tra 655.360 e 8.294.400.
qualityauto, low, medium, highUsa low per bozze veloci e medium o high per gli asset finali.
output_formatpng, jpeg, webpIl predefinito è png. jpeg è di solito più veloce quando non serve la trasparenza.
output_compression0 a 100Si applica a jpeg e webp.
backgroundauto, opzioni di sfondo opacogpt-image-2 attualmente non supporta background: "transparent".
stream, partial_imagesDipendente dalla compatibilitàAiberm potrebbe restituire una risposta JSON finale normale invece di eventi di immagini parziali in streaming.
moderationauto, lowauto è il livello di filtro predefinito.

Note e limitazioni

  • I prompt complessi possono richiedere più tempo; progetta l’app tenendo conto di timeout e lavoro in background.
  • Il rendering del testo è migliorato ma non è ancora garantito che sia esatto. Per loghi, etichette o mockup UI, controlla l’output prima di pubblicare.
  • Il modello potrebbe non preservare perfettamente personaggi ricorrenti, layout esatti o dettagli di brand tra generazioni separate.
  • Per le modifiche, ometti input_fidelity con gpt-image-2; il modello elabora automaticamente gli input immagine ad alta fedeltà.
  • Per le modifiche con maschera, la maschera è una guida piuttosto che una selezione pixel-perfect.