Skip to main content
OpenAI Images Generations API stöder för närvarande flera bildgenereringsmodeller, inklusive den klassiska 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).
Anropsmetoden är helt identisk med andra modeller, du behöver bara ställa in 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 standard gpt-image-2. Om linjen inte är tillgänglig returneras ett fel direkt, ingen automatisk nedgradering.
  • gpt-image-2:reverse: Helt ekvivalent med standard gpt-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är size: "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 vanliga 1:1, 4:5, 9:16, 21:9, även 1.91:1, 1.85:1, 2.39:1, ISO-papper 1:√2 och 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. Om size-fältet utelämnas används modellens standardformat direkt; om det finns strikta krav på pixlar rekommenderas det fortfarande att direkt ange WIDTHxHEIGHT. Utdata under 1K garanterar inte strikt pixeljustering - du kan få 1254x1254 när du skickar 1024x1024, proportionen förblir densamma. Om du skickar det igen som size, förblir debiteringen densamma. 4K-anrop tar vanligtvis 4–8 minuter, det rekommenderas att använda det med den efterföljande callback_url för asynkron återkoppling.
Om n-parametern gpt-image-2 stöder n > 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 olika prompt eller seed. Detta gäller också för gpt-image-1 / gpt-image-1.5, samt serierna nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro; dall-e-3 stöder endast n = 1. Observera att response_format=b64_json endast stöder n=1, använd standard URL-retur för n>1. Om några av bilderna misslyckas med att genereras, kommer endast de framgångsrika delarna att returneras och debiteras.
Nedan följer några olika verkliga exempel för att intuitivt uppleva 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:
Resultatet ser ut som följer:
Den genererade bilden visas nedan:

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.
Resultatet i url-fältet motsvarar bilden nedan:

Det kan ses att modellen inte bara exakt återgav den visuella stilen av Art Deco-affischen, utan även att titlarna 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”.
Den genererade bilden ser ut som följer:

Det kan ses att antalet böcker på de tre hyllorna (1 / 3 / 7) är helt i linje med prompten, vilket var svårt att stabilt uppnå under 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.
Den genererade landskapsillustrationen ser ut som följer:

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 med gpt-image-*: model, prompt, size, n.
  • size kommer att mappas till intern aspect_ratio enligt tabellen nedan, icke-listade storlekar kommer att degraderas till 1:1:
    • 1024x1024 / 512x512 / 256x2561:1
    • 1792x102416:9
    • 1024x17929:16
  • Stöder inte parametrar som quality, style, response_format, background, output_format etc.; om de anges kommer de att ignoreras. n > 1 stöds (1–10), kommer att returnera och debiteras för motsvarande antal bilder.
  • Returneringsstrukturen följer OpenAI-formatet (data[].url), men created är alltid 0, och b64_json kommer inte att returneras, revised_prompt är alltid lika med den ursprungliga prompt.

Grundläggande anrop

Resultatet ser ut som följer:
Den genererade bilden kan nås direkt via det returnerade url fältet:

Uppgradera till flaggskeppsmodellen nano-banana-pro

Ändra bara model till nano-banana-pro, övriga parametrar förblir helt oförändrade:
Exempel på svar:

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:

Vid första användningen av detta API behöver vi fylla i minst tre fält, ett är 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.

Python exempel på anropskod:
Efter anropet ser vi att svaret ser ut som följer:
Det returnerade resultatet har flera fält, som beskrivs nedan:
  • created , ID för den här bildgenereringen, används för att unikt identifiera denna uppgift.
  • data, innehåller information om bildgenereringen.
Där 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:

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.

Python exempel på anropskod:
Efter anropet ser vi att svaret ser ut som följer:
返回resultatet är i linje med det grundläggande användningsinnehållet, och vi kan se att bildkvalitetsparametern är standard, den genererade bilden visas nedan:

Genom att utföra samma operation som ovan, behöver vi bara ställa in bildkvalitetsparametern till hd, så kan vi få bilden som visas nedan:

Vi kan se att 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:

Samtidigt kan du notera att det finns motsvarande anropskod till höger, du kan kopiera koden och köra den direkt, eller så kan du klicka på “Try” knappen för att testa.

Python exempel på anropskod:
Efter anropet upptäckte vi att resultatet är som följer:
Resultatet är i linje med det grundläggande användningsinnehållet, och vi kan se att bildens storlek är 1024 * 1024, den genererade bilden visas nedan:

Genom att utföra samma operation som ovan, behöver vi bara ställa in bildens storlek till 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:

Samtidigt kan du notera att det finns motsvarande anropskod till höger, du kan kopiera koden och köra den direkt, eller så kan du klicka på “Try” knappen för att testa.

Python exempel på anropskod:
Efter anropet upptäckte vi att resultatet är som följer:
Resultatet är i linje med det grundläggande användningsinnehållet, och vi kan se att bildstilparametern är vivid, den genererade bilden visas nedan:

Genom att utföra samma operation som ovan, behöver vi bara ställa in bildstilparametern till natural, så kan vi få bilden som visas nedan:

Vi kan se att 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:

Samtidigt kan du notera att det finns motsvarande anropskod till höger, du kan kopiera koden och köra den direkt, eller så kan du klicka på “Try” knappen för att testa.

Python exempel på anrop:
Efter anropet upptäckte vi att resultatet var som följer:
Det returnerade resultatet överensstämmer med det grundläggande användningsinnehållet, och vi kan se att bildlänkens formatparameter för url är den genererade bildens länk Bild URL detta kan nås direkt, bildinnehållet visas nedan:

Genom att utföra samma operation som ovan, behöver vi bara ställa in bildlänkens formatparameter till 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 ett callback_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:
Klicka på kör, så kan vi omedelbart få ett resultat, som följer:
Vänta en stund, så kan vi observera resultatet av den genererade bilden på Webhook-URL:en, innehållet är som följer:
Vi kan se att resultatet innehåller ett 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.

Felrespons exempel

Slutsats

Genom detta dokument har du fått en förståelse för hur du använder OpenAI Images Generations API för att enkelt använda den officiella OpenAI DALL-E:s bildgenereringsfunktion. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda API:t. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.