Documentazione API Hop
Generazione di immagini GPT-Image-2
Genera immagini o modifica riferimenti con gpt-image-2 e ricevi i risultati nella risposta JSON o connessione SSE corrente.
https://api.apihop.ai/openai/v1/images/generationsgpt-image-2 supporta generazione e modifica di immagini di riferimento per immagini di prodotto, bozze di poster, illustrazioni, materiali social, immagini ad alta risoluzione, trasferimento di stile e fusione di più riferimenti.
POST https://api.apihop.ai/openai/v1/images/generationsAutenticazione
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonAvvio rapido
{
"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"
}Ambito del confronto dei prezzi
Le fasce di immagini 1K / 2K / 4K pubblicate da RequestBeam sono *prezzi di vendita RequestBeam*, non tariffe ufficiali fisse OpenAI per immagine. La documentazione dei prezzi OpenAI descrive costi per token di immagine/testo e livelli di elaborazione; il costo effettivo dipende da dimensioni, qualità, riferimenti di input e output. Confrontarli solo perché entrambi citano 1k o 2k non è un calcolo di sconto a parità di condizioni.
Per evitare promesse di risparmio non supportate, il vecchio riferimento aggregato dei fornitori USD per image e il badge di sconto sono intenzionalmente nascosti per GPT Image 2. Il prezzo RequestBeam resta visibile e il contratto di fatturazione non cambia. Per un confronto futuro difendibile, registra modello esatto, endpoint, qualità, dimensioni, condizioni di input, URL della fonte ufficiale e data di verifica del riferimento. Controlla il prezzo effettivo del tuo account prima di una chiamata a pagamento.
Corpo della richiesta
modelstringobbligatorioPredefinito: gpt-image-2ID del modello di immagini. Usa gpt-image-2.
promptstringobbligatorioPrompt dell’immagine. Descrivi soggetto, scena, composizione, stile, materiale, luce, colori e se deve comparire testo.
nintegerPredefinito: 1Numero di immagini da generare. L’attuale contratto pubblico di gpt-image-2 supporta solo 1. Altri valori restituiscono 400 prima della prenotazione.
sizestringPredefinito: autoProporzioni o dimensioni in pixel dell’output.
Valori comuni:
1:14:316:99:161024x10241536x10241024x15362048x20482048x11523840x21602160x3840auto
qualitystringPredefinito: autoQualità dell’output. Sono supportati low, medium, high e auto.
resolutionstringPredefinito: 1kFascia di risoluzione dell’output. Sono supportati 1k, 2k e 4k.
Può essere combinata con size, per esempio size: "16:9" e resolution: "2k".
image_urlsarray<string>Immagini di riferimento per modifiche basate su istruzioni o fusione di più immagini.
- Fino a 16 immagini.
- Ogni immagine può raggiungere 20 MB, con un limite totale di input di 256 MB.
- Sono supportati URL di immagini pubblicamente accessibili.
- Sono supportati URI dati Base64 come
data:image/...;base64,.... - URL e URI dati Base64 possono essere mescolati nello stesso array.
output_formatstringPredefinito: pngFormato dell’output. Sono supportati png, jpeg e webp.
streambooleanPredefinito: falseIndica se restituire Server-Sent Events.
Immagini di riferimento e modifica
La modifica di immagini di riferimento usa lo stesso endpoint JSON. Aggiungi image_urls e descrivi in prompt cosa mantenere e cambiare:
{
"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"
}Più riferimenti possono fornire soggetto, composizione o stile visivo:
{
"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"
}Limiti attuali del contratto pubblico:
- Modifica dell’intera immagine, trasferimento di stile e fusione di più riferimenti sono supportati tramite
image_urls. - Non esiste una route separata
POST https://api.apihop.ai/openai/v1/images/edits. - I caricamenti
multipart/form-datanon sono accettati. Converti prima le immagini locali in URI dati Base64 o caricale su URL accessibili. - L’inpainting con maschera non è supportato. Inviare
mask,mask_urlomaskUrlrestituisce400prima della prenotazione.
Esempi di richiesta
Immagine di prodotto 1:1
{
"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"
}Poster in formato 16:9
{
"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"
}Come vengono restituiti i risultati
Questo endpoint compatibile con OpenAI non restituisce inizialmente una risposta di invio attività contenente data.jobId per un polling successivo:
- Con
stream: false, la richiesta HTTP corrente attende il completamento e restituisce URL delle immagini nella risposta JSON. - Con
stream: true, la connessione SSE corrente resta aperta fino aimage_generation.completede[DONE].
Non usare GET https://api.apihop.ai/v1/jobs/{id} per recuperare i risultati di questo endpoint. Usa Recuperare un processo asincrono solo quando un endpoint di creazione asincrona restituisce esplicitamente un jobId.
Risposta senza streaming
La risposta contiene URL delle immagini. usage è incluso quando la route del fornitore fornisce informazioni di misurazione.
{
"created": 1777270000,
"data": [
{
"url": "https://image.example.com/generated/123456789012345678/0.png"
}
],
"usage": {
"input_tokens": 20,
"output_tokens": 1234,
"total_tokens": 1254
}
}Risposta in streaming
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]Riferimento delle dimensioni
| Proporzione di destinazione | Consigliato per 1K | Consigliato per 2K | Consigliato per 4K |
|---|---|---|---|
1:1 | 1024x1024 | 2048x2048 | Non consigliato |
3:2 | 1536x1024 | 2048x1360 | Non consigliato |
2:3 | 1024x1536 | 1360x2048 | Non consigliato |
4:3 | 1024x768 | 2048x1536 | Non consigliato |
3:4 | 768x1024 | 1536x2048 | Non consigliato |
16:9 | 1536x864 | 2048x1152 | 3840x2160 |
9:16 | 864x1536 | 1152x2048 | 2160x3840 |
21:9 | 2016x864 | 2688x1152 | 3840x1648 |
9:21 | 864x2016 | 1152x2688 | 1648x3840 |
Risposta di errore
Consulta Codici di errore e risoluzione dei problemi per il riferimento completo, le differenze tra protocolli e i passaggi diagnostici.
{
"code": 10000,
"message": "prompt is required",
"type": "api_error"
}Errori comuni:
400: parametri obbligatori mancanti o combinazione non supportata401: autenticazione fallita o chiave API errata402: credito insufficiente404: modello inesistente o non abilitato429: limite di frequenza superato5xx: servizio temporaneamente non disponibile o generazione di immagini fallita