API Hop

Documentation

Documentation API Hop

Génération d’images GPT-Image-2

Générez des images ou modifiez des références avec gpt-image-2 et recevez les résultats dans la réponse JSON ou connexion SSE actuelle.

POSThttps://api.apihop.ai/openai/v1/images/generations

gpt-image-2 prend en charge la génération et la retouche avec images de référence pour les images de produits, brouillons d’affiches, illustrations, ressources sociales, visuels haute résolution, transfert de style et fusion de plusieurs références.

text
POST https://api.apihop.ai/openai/v1/images/generations

Authentification

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Démarrage rapide

json
{
  "model": "gpt-image-2",
  "prompt": "A minimal black wireless earbud product poster on a white background, clean studio lighting, no text",
  "n": 1,
  "size": "2048x1152",
  "resolution": "2k",
  "quality": "low"
}

Périmètre de comparaison des prix

Les niveaux d’image 1K / 2K / 4K publiés par RequestBeam sont des *prix de vente RequestBeam*, pas des tarifs officiels OpenAI fixes par image. La documentation tarifaire OpenAI décrit les frais par tokens image/texte et niveaux de traitement ; le coût réel dépend de la taille, de la qualité, des références en entrée et de la sortie. Les comparer simplement parce qu’ils mentionnent tous deux 1k ou 2k n’est pas un calcul de remise à conditions équivalentes.

Pour éviter une annonce d’économies non étayée, l’ancienne référence de fournisseur agrégé USD per image et le badge de remise sont volontairement masqués pour GPT Image 2. Le prix RequestBeam reste visible et son contrat de facturation ne change pas. Pour une comparaison future défendable, consignez le modèle exact, l’endpoint, la qualité, la taille, les conditions d’entrée, l’URL de source officielle et la date de vérification. Consultez le prix effectif de votre compte avant un appel payant.

Corps

modelstringobligatoirePar défaut: gpt-image-2

ID du modèle d’image. Utilisez gpt-image-2.

promptstringobligatoire

Consigne d’image. Décrivez le sujet, la scène, la composition, le style, le matériau, l’éclairage, les couleurs et la présence éventuelle de texte.

nintegerPar défaut: 1

Nombre d’images à générer. Le contrat public actuel de gpt-image-2 accepte uniquement 1. Les autres valeurs renvoient 400 avant réservation.

sizestringPar défaut: auto

Rapport d’aspect ou dimensions de sortie en pixels.

Valeurs courantes :

  • 1:1
  • 4:3
  • 16:9
  • 9:16
  • 1024x1024
  • 1536x1024
  • 1024x1536
  • 2048x2048
  • 2048x1152
  • 3840x2160
  • 2160x3840
  • auto
qualitystringPar défaut: auto

Qualité de sortie. Les valeurs prises en charge comprennent low, medium, high et auto.

resolutionstringPar défaut: 1k

Niveau de résolution de sortie. Les valeurs prises en charge sont 1k, 2k et 4k.

Peut être combiné avec size, par exemple size: "16:9" et resolution: "2k".

image_urlsarray<string>

Images de référence pour la retouche par instructions ou la fusion de plusieurs images.

  • Jusqu’à 16 images.
  • Chaque image peut peser jusqu’à 20 MB, avec une limite totale d’entrée de 256 MB.
  • Les URL d’images accessibles publiquement sont prises en charge.
  • Les URI de données Base64 comme data:image/...;base64,... sont prises en charge.
  • URL et URI de données Base64 peuvent être mélangées dans le même tableau.
output_formatstringPar défaut: png

Format de sortie. Les valeurs prises en charge comprennent png, jpeg et webp.

streambooleanPar défaut: false

Indique s’il faut renvoyer des événements envoyés par le serveur (SSE).

Images de référence et retouche

La retouche avec images de référence utilise le même endpoint JSON. Ajoutez image_urls et décrivez ce qu’il faut conserver ou changer dans prompt :

json
{
  "model": "gpt-image-2",
  "prompt": "Keep the product unchanged, replace the background with a dark blue studio, and add soft rim lighting",
  "image_urls": [
    "https://example.com/product.png"
  ],
  "size": "1:1",
  "resolution": "2k"
}

Plusieurs références peuvent fournir le sujet, la composition ou le style visuel :

json
{
  "model": "gpt-image-2",
  "prompt": "Use the product from the first image and the composition from the second image to create a clean ecommerce hero image",
  "image_urls": [
    "https://example.com/product.png",
    "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
  ],
  "size": "4:3",
  "resolution": "2k"
}

Limites actuelles du contrat public :

  • La retouche de l’image entière, le transfert de style et la fusion de références sont pris en charge via image_urls.
  • Il n’existe pas de route distincte POST https://api.apihop.ai/openai/v1/images/edits.
  • Les envois multipart/form-data ne sont pas acceptés. Convertissez d’abord les images locales en URI de données Base64 ou chargez-les vers des URL accessibles.
  • La retouche par masque n’est pas prise en charge. Envoyer mask, mask_url ou maskUrl renvoie 400 avant réservation.

Exemples de requêtes

Image de produit 1:1

json
{
  "model": "gpt-image-2",
  "prompt": "A transparent glass cup on a light gray background, commercial product photography, soft shadow, no text",
  "n": 1,
  "size": "1024x1024",
  "resolution": "1k",
  "quality": "low",
  "output_format": "png"
}

Affiche 16:9

json
{
  "model": "gpt-image-2",
  "prompt": "A futuristic city night poster with neon lights, wet streets, cinematic composition, no text",
  "n": 1,
  "size": "2048x1152",
  "resolution": "2k",
  "quality": "medium",
  "output_format": "jpeg"
}

Renvoi des résultats

Cet endpoint compatible OpenAI ne renvoie pas d’abord une réponse de soumission de tâche contenant data.jobId pour une interrogation ultérieure :

  • Avec stream: false, la requête HTTP actuelle attend la fin et renvoie les URL d’images dans la réponse JSON.
  • Avec stream: true, la connexion SSE actuelle reste ouverte jusqu’à image_generation.completed et [DONE].

N’utilisez pas GET https://api.apihop.ai/v1/jobs/{id} pour récupérer les résultats de cet endpoint. Utilisez Consulter une tâche asynchrone uniquement lorsqu’un endpoint de création asynchrone renvoie explicitement un jobId.

Réponse sans streaming

La réponse contient des URL d’images. usage est inclus lorsque la route fournisseur fournit des informations de mesure.

json
{
  "created": 1777270000,
  "data": [
    {
      "url": "https://image.example.com/generated/123456789012345678/0.png"
    }
  ],
  "usage": {
    "input_tokens": 20,
    "output_tokens": 1234,
    "total_tokens": 1254
  }
}

Réponse en streaming

text
event: image_generation.completed
data: {"type":"image_generation.completed","data":[{"index":0,"url":"https://image.example.com/generated/123456789012345678/0.png"}],"usage":{"input_tokens":20,"output_tokens":1234,"total_tokens":1254}}

data: [DONE]

Référence des tailles

Rapport cible1K recommandé2K recommandé4K recommandé
1:11024x10242048x2048Non recommandé
3:21536x10242048x1360Non recommandé
2:31024x15361360x2048Non recommandé
4:31024x7682048x1536Non recommandé
3:4768x10241536x2048Non recommandé
16:91536x8642048x11523840x2160
9:16864x15361152x20482160x3840
21:92016x8642688x11523840x1648
9:21864x20161152x26881648x3840

Réponse d’erreur

Consultez Codes d’erreur et dépannage pour la référence complète des codes, les différences de protocole et les étapes de diagnostic.

json
{
  "code": 10000,
  "message": "prompt is required",
  "type": "api_error"
}

Erreurs courantes :

  • 400 : paramètres obligatoires manquants ou combinaison non prise en charge
  • 401 : échec d’authentification ou clé API incorrecte
  • 402 : solde insuffisant
  • 404 : modèle inexistant ou non activé
  • 429 : limite de débit dépassée
  • 5xx : service temporairement indisponible ou échec de génération d’image