dall-e-3, textrenderingskapaciteten hos gpt-image-1, den senaste generationen gpt-image-2, samt modellerna i serien nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro som ansluts via samma gränssnitt. De kan alla generera högkvalitativa bilder baserat på textbeskrivningar.
Detta dokument beskriver huvudsakligen användningsflödet för OpenAI Images Generations API, vilket gör att vi enkelt kan använda OpenAI:s bildgenereringsfunktioner.
Ansökningsprocess
För att använda OpenAI Images Generations API, börja med att gå till Ace Data Cloud-konsolen för att hämta din API-token, som du kan spara för framtida bruk.
Om du inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan för att registrera dig och logga in, och efter att ha slutfört detta kommer du automatiskt att återvända till den aktuella sidan.
En API-token kan användas för att anropa alla tjänster på plattformen, utan att behöva ansöka separat för varje tjänst. Första ansökan ger en gratis kvot för att prova; när kvoten är slut kan du ladda på allmänna saldot i konsolen.
📘 Fullständig dokumentation: OpenAI Images Generations API →
GPT-Image-2 Modell
gpt-image-2 är OpenAI:s nya generation av bildgenereringsmodeller, som har tydliga förbättringar jämfört med dall-e-3 och gpt-image-1 i följande aspekter:
- Bättre följsamhet av instruktioner: Kan exakt förstå komplexa kompositioner, räkning, positionsrelationer och andra strukturerade instruktioner.
- Tydligare textrendering: Engelska och siffror i scenarier som affischer, menyer, informationsgrafik och logotyper kommer nästan aldrig att bli förvrängda.
- Rikare stiluttryck: Inbyggt stöd för olika stilar som filmiska porträtt, retroaffischer, barnillustrationer, produktfotografi, informationsgrafik och mer.
- Inbyggt stöd för flera proportioner + högupplösning: Täcker 5 proportioner (1:1, 4:3, 3:4, 16:9, 9:16) med totalt 3 upplösningar (1K / 2K / 4K).
model-fältet till gpt-image-2. url i returresultatet är en permanent länk till en bild som är värd på platform.cdn.acedata.cloud, som kan öppnas direkt i webbläsaren eller bäddas in på en webbsida.
Linjevarianter (:official / :reverse)
gpt-image-2 använder standardlinjen som standard. Genom att använda suffixet på modellnamnet kan du uttryckligen välja linje:
gpt-image-2:official: Officiell kanal, stabil och regelrätt. Stöder verklig 2K / 4K upplösning, debiteras per bild, enhetspriset är 2 gånger standardgpt-image-2. Om linjen inte är tillgänglig returneras ett fel direkt, ingen automatisk nedgradering.gpt-image-2:reverse: Helt ekvivalent med standardgpt-image-2, mer kostnadseffektiv, priset förblir detsamma.
Stödda size värden
gpt-image-2 kontrollerar endast formatet på size, så länge det inte är auto eller en tom sträng, måste det matcha WIDTHxHEIGHT (till exempel 1024x1024, 2048x1152, 800x600); alla andra former kommer att returnera 400. Alla storlekar (1K / 2K / 4K / anpassade) debiteras enhetligt per bild, ingen prishöjning baserat på storlek.
Storleksbegränsningar: Anpassade storlekar måste uppfylla att både bredd och höjd är multiplar av 16, långsidan ≤ 3840, totalt antal pixlar ≤ 8,294,400, överskridande av gränserna kommer att returnera 4xx.
Närsize: "auto"anges, kommer plattformen att planera duken i det kontinuerliga proportionella rummet och bedöma enligt följande prioritet: tydliga pixlar eller proportioner i prompten, namngivningsstandarder (papper / trycksaker / plattformspositioner / annonser / enheter / fotografi / film), medievanor, och sist kompositionsinferens. Därför kan förutom vanliga1:1,4:5,9:16,21:9, även1.91:1,1.85:1,2.39:1, ISO-papper1:√2och andra icke-förinställda proportioner bevaras; den slutliga storleken justeras automatiskt till 16-multiplar och pixelbudget som stöds av tjänsten. Om automatisk bedömning inte är tillgänglig kommer den att återgå till modellens standardformat, utan att blockera genereringen. Omsize-fältet utelämnas används modellens standardformat direkt; om det finns strikta krav på pixlar rekommenderas det fortfarande att direkt angeWIDTHxHEIGHT. Utdata under 1K garanterar inte strikt pixeljustering - du kan få1254x1254när du skickar1024x1024, proportionen förblir densamma. Om du skickar det igen somsize, förblir debiteringen densamma. 4K-anrop tar vanligtvis 4–8 minuter, det rekommenderas att använda det med den efterföljandecallback_urlför asynkron återkoppling.
OmNedan följer några olika verkliga exempel för att intuitivt upplevan-parameterngpt-image-2stödern > 1(värden 1–10): en begäran kan returnera och debiteras för motsvarande antal bilder. För att få variation mellan flera resultat rekommenderas det att samtidigt skicka olikapromptellerseed. Detta gäller också förgpt-image-1/gpt-image-1.5, samt seriernanano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-pro;dall-e-3stöder endastn = 1. Observera attresponse_format=b64_jsonendast stödern=1, använd standard URL-retur förn>1. Om några av bilderna misslyckas med att genereras, kommer endast de framgångsrika delarna att returneras och debiteras.
gpt-image-2 kapabiliteter.
Scen ett: Filmisk porträtt
I prompten kan filmtermer (35mm film, grunt skärpedjup, neonskott etc.) användas för att exakt kontrollera atmosfären och känslan. Python exempel på anrop:
Scen två: Retro reseaffisch (med textur)
gpt-image-2 presterar stabilt när det gäller typografi och texturering, vilket gör det mycket lämpligt för att generera affischer, menyer, gratulationskort och andra designarbeten med text.
url-fältet motsvarar bilden nedan:

AMALFI och ITALIA 1958 tydligt och korrekt renderades.
Scen tre: Komplex komposition och räkning
Nedan är denna prompt avsedd att testa modellens förmåga att följa strukturerade instruktioner om “antal” och “position”.
dall-e-3-eran.
Scen fyra: Illustrationsstil (landskap)
Genom att specificera konstnärliga medier och känslomässiga nyckelord kan modellen vägledas att producera stiliserade illustrationer.
Asynkron och callback
gpt-image-2 kräver vanligtvis 60–90 sekunder för ett enstaka anrop. Om du inte vill upprätthålla en lång anslutning kan du använda den asynkrona callback-mekanismen som beskrivs senare i denna artikel, anropsflödet är helt identiskt med andra modeller.
Nano Banana serie modeller
nano-banana serien är baserad på Gemini och är en bildgenereringsmodell som har integrerats via samma /openai/images/generations-gränssnitt, utan att behöva byta endpoint, bara ändra model till något av alternativen i tabellen nedan.
Viktigt: Parameterstöd Nano Banana ansluter via en adapter till OpenAI-protokollet och stöder endast följande parametrar jämfört medgpt-image-*:model,prompt,size,n.
sizekommer att mappas till internaspect_ratioenligt tabellen nedan, icke-listade storlekar kommer att degraderas till1:1:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- Stöder inte parametrar som
quality,style,response_format,background,output_formatetc.; om de anges kommer de att ignoreras.n > 1stöds (1–10), kommer att returnera och debiteras för motsvarande antal bilder.- Returneringsstrukturen följer OpenAI-formatet (
data[].url), mencreatedär alltid0, ochb64_jsonkommer inte att returneras,revised_promptär alltid lika med den ursprungligaprompt.
Grundläggande anrop
url fältet:

Uppgradera till flaggskeppsmodellen nano-banana-pro
Ändra bara model till nano-banana-pro, övriga parametrar förblir helt oförändrade:

Asynkron återkoppling
callback_url asynkron återkopplingsmekanism fungerar också för nano-banana, anropsflödet är helt identiskt med andra modeller, se avsnittet asynkron återkoppling för mer information.
Grundläggande användning
Nu kan du fylla i motsvarande innehåll i gränssnittet, som visas i bilden:
authorization, som du direkt väljer i rullgardinsmenyn. Den andra parametern är model, model är den vi väljer att använda från OpenAI DALL-E officiella modellkategori, här har vi huvudsakligen 1 typ av modell, detaljer kan ses i de modeller vi tillhandahåller. Den sista parametern är prompt, prompt är den vi skriver in för att generera bildens ledtråd.
Samtidigt kan du notera att det finns motsvarande anropskod som genereras till höger, du kan kopiera koden och köra den direkt, eller klicka på “Try” knappen för att testa.

created, ID för den här bildgenereringen, används för att unikt identifiera denna uppgift.data, innehåller information om bildgenereringen.
data innehåller den specifika informationen om den bild som modellen har genererat, där url är detaljlänken till den genererade bilden, som visas i bilden.

Bildkvalitetsparameter quality
Nu kommer vi att introducera hur man ställer in några detaljerade parametrar för bildgenereringsresultatet, där bildkvalitetsparametern quality innehåller två typer, den första standard innebär att en standardbild genereras, den andra hd innebär att den skapade bilden har mer detaljer och större konsekvens.
Nedan ställer vi in bildkvalitetsparametern till standard, specifik inställning visas i bilden:


standard, den genererade bilden visas nedan:

hd, så kan vi få bilden som visas nedan:

hd-bilderna har mer detaljer och större konsekvens än de som genererats med standard.
Bildstorleksparameter size
Vi kan också ställa in storleken på den genererade bilden, och vi kan göra följande inställningar.
Nedan ställer vi in bildens storlek till 1024 * 1024, specifika inställningar visas nedan:


1024 * 1024, den genererade bilden visas nedan:

1792 * 1024, så kan vi få bilden som visas nedan:
Vi kan se att bildens storlek är tydligt annorlunda, och vi kan också ställa in fler storlekar, mer information finns i vår officiella dokumentation.
Bildstilparameter style
Bildstilparametern style innehåller två parametrar, den första vivid innebär att den genererade bilden är mer livfull, den andra natural innebär att den genererade bilden är mer naturlig.
Nedan ställer vi in bildstilparametern till vivid, specifika inställningar visas nedan:


vivid, den genererade bilden visas nedan:

natural, så kan vi få bilden som visas nedan:

vivid genererar bilder som är mer livfulla och verklighetstrogna.
Bildlänkens formatparameter response_format
Den sista bildlänkens formatparameter response_format har också två alternativ, den första b64_json är en Base64-kodning av bildlänken, den andra url är en vanlig bildlänk som kan ses direkt.
Nedan ställer vi in bildlänkens formatparameter till url, specifika inställningar visas nedan:


url är den genererade bildens länk Bild URL detta kan nås direkt, bildinnehållet visas nedan:

b64_json, så kan vi få resultatet av den Base64-kodade bildlänken, det specifika resultatet visas nedan:
Asynkron callback
Eftersom OpenAI Images Generations API:s bildgenerering kan ta relativt lång tid, om API:t inte svarar under en längre tid, kommer HTTP-förfrågan att hålla anslutningen öppen, vilket leder till extra systemresursförbrukning, så detta API erbjuder också stöd för asynkron callback. Den övergripande processen är: när klienten initierar en begäran, specificerar den dessutom ettcallback_url-fält, efter att klienten har initierat API-förfrågan, kommer API:t omedelbart att returnera ett resultat som innehåller ett task_id-fält, vilket representerar det aktuella uppdragets ID. När uppdraget är slutfört kommer resultatet av den genererade bilden att skickas till klientens angivna callback_url i POST JSON-format, vilket också inkluderar task_id-fältet, så att uppdragets resultat kan kopplas ihop med ID:t.
Låt oss förstå hur man gör detta genom ett exempel.
Först är Webhook-callback en tjänst som kan ta emot HTTP-förfrågningar, utvecklaren bör ersätta med URL:en till sin egen byggda HTTP-server. Här för att underlätta demonstration använder vi en offentlig Webhook-exempelsida https://webhook.site/, öppna denna webbplats för att få en Webhook-URL, som visas nedan:
Kopiera denna URL, så kan den användas som Webhook, detta exempel är https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab.
Därefter kan vi ställa in fältet callback_url till ovanstående Webhook-URL, samtidigt som vi fyller i motsvarande parametrar, som visas i följande kod:
task_id-fält, data-fältet innehåller samma bildgenereringsresultat som vid synkront anrop, genom task_id-fältet kan uppdraget kopplas ihop.
Felhantering
Vid anrop av API:t, om ett fel uppstår, kommer API:t att returnera motsvarande felkod och information. Till exempel:400 token_mismatched:Dålig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.400 api_not_implemented:Dålig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.401 invalid_token:Obehörig, ogiltig eller saknad auktoriseringstoken.429 too_many_requests:För många begärningar, du har överskridit hastighetsgränsen.500 api_error:Intern serverfel, något gick fel på servern.

