GPT Image 2

GPT Image 2 est le dernier modèle GPT Image d’OpenAI pour générer et éditer des images. Aiberm l’expose via des points de terminaison d’image compatibles OpenAI, afin que vous puissiez utiliser le SDK OpenAI en changeant base_url / baseURL en https://aiberm.com/v1.

Point de terminaison de génération : POST https://aiberm.com/v1/images/generations

Point de terminaison d’édition : POST https://aiberm.com/v1/images/edits

Modèle : gpt-image-2

Choisir une API

Utilisez l’API Image lorsque vous avez besoin d’une seule requête pour générer ou éditer une image. C’est le chemin recommandé pour la plupart des intégrations Aiberm.

OpenAI documente également la génération d’images comme un outil dans l’API Responses pour les flux conversationnels ou multi-étapes. Si votre intégration dépend de l’édition multi-tours, confirmez d’abord que votre modèle et votre point de terminaison Aiberm prennent en charge l’API Responses.

Générer une image

L’API Image renvoie les données d’image en base64 dans data[0].b64_json. Décodez-les et écrivez les octets dans un fichier.

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)

Sortie d’exemple vérifiée

Cette image a été générée avec l’exemple Python ci-dessus et enregistrée à partir de data[0].b64_json.

Generated matte black smart desk lamp

Éditer avec des images de référence

Passez une ou plusieurs images à images.edit et décrivez le résultat souhaité. Plusieurs images d’entrée peuvent servir de références pour une nouvelle composition.

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)

Édition de référence vérifiée

L’exemple d’édition combine l’image produit avec l’arrière-plan de bureau et renvoie un nouveau PNG 1536x1024.

Entrée produitEntrée arrière-planSortie éditée
Product reference imageDesk background reference imageEdited product placed on desk

Éditer avec un masque

Utilisez un masque lorsque vous souhaitez indiquer la zone à modifier. L’image source et le masque doivent avoir les mêmes dimensions et le même format, et le masque doit inclure un canal 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)

Édition par masque vérifiée

L’image masque utilise un canal alpha pour indiquer la zone éditable. L’image renvoyée est un PNG normal.

Image sourceImage masqueSortie éditée
Room source imageAlpha mask imageBookshelf mask edit output

Streaming d’images partielles

L’API amont d’OpenAI documente stream et partial_images pour recevoir des images intermédiaires avant le résultat final. Sur Aiberm, considérez cela comme dépendant de la compatibilité : utilisez le flux standard sans streaming sauf si votre point de terminaison a explicitement confirmé la prise en charge du streaming.

Si vous envoyez stream: true et partial_images, la réponse peut tout de même être une charge JSON finale normale avec data[0].b64_json.

Options de sortie

ParamètreValeursRemarques
sizeauto, 1024x1024, 1536x1024, 1024x1536, 2048x2048, 2048x1152, 3840x2160, 2160x3840, ou une autre taille personnalisée valideChaque bord doit être un multiple de 16 px, le bord max est de 3840 px, le rapport d’aspect ne doit pas dépasser 3:1, et le nombre total de pixels doit être compris entre 655 360 et 8 294 400.
qualityauto, low, medium, highUtilisez low pour des brouillons rapides et medium ou high pour les livrables finaux.
output_formatpng, jpeg, webpLa valeur par défaut est png. jpeg est généralement plus rapide lorsque la transparence n’est pas nécessaire.
output_compression0 à 100S’applique à jpeg et webp.
backgroundauto, options d’arrière-plan opaquegpt-image-2 ne prend actuellement pas en charge background: "transparent".
stream, partial_imagesDépendant de la compatibilitéAiberm peut renvoyer une réponse JSON finale normale au lieu d’événements d’images partielles en streaming.
moderationauto, lowauto est le niveau de filtrage par défaut.

Remarques et limites

  • Les prompts complexes peuvent prendre plus de temps à traiter ; concevez votre application en tenant compte des délais d’attente et du travail en arrière-plan.
  • Le rendu du texte est amélioré mais n’est toujours pas garanti comme exact. Pour les logos, étiquettes ou maquettes d’interface, vérifiez la sortie avant publication.
  • Le modèle peut ne pas préserver parfaitement les personnages récurrents, les mises en page exactes ou les détails de marque d’une génération à l’autre.
  • Pour les éditions, omettez input_fidelity avec gpt-image-2 ; le modèle traite automatiquement les images d’entrée en haute fidélité.
  • Pour les éditions par masque, le masque est un guidage plutôt qu’une sélection au pixel près.