dall-e-2, gpt-image-1, den senaste gpt-image-2, samt modellerna i nano-banana / nano-banana-2 / nano-banana-pro serien som ansluts via samma gränssnitt.
Detta dokument beskriver huvudsakligen användningsflödet för OpenAI Images Edits API, vilket gör det enkelt att använda den officiella OpenAI bildredigeringsfunktionen.
Ansökningsprocess
För att använda OpenAI Images Edits API kan du först gå till sidan OpenAI Images Edits API och klicka på knappen “Acquire” för att få de autentiseringsuppgifter som krävs för förfrågningar: Om du inte är inloggad eller registrerad kommer du automatiskt att omdirigeras till inloggningssidan för att registrera dig och logga in. Efter inloggning eller registrering återvänder du automatiskt till den aktuella sidan. Vid första ansökan får du en gratis kvot som gör att du kan använda API:et kostnadsfritt.GPT-Image-2 Modell
gpt-image-2 har en mycket tydlig förbättring jämfört med gpt-image-1 i bildredigeringsscenarier:
- Mer stabil struktur: Vid byte av hud, färgschema eller bakgrund förstörs nästan aldrig originalbildens layout eller komposition.
- Mer exakt textbevarande: Bilder med text, som informationsgrafik, affischer och menyer, behåller tydlig och läsbar text efter redigering.
- Stöd för direkt URL-överföring: Förutom traditionell filuppladdning via
multipart/form-datastödergpt-image-2även att skicka bild-URL:er i JSON-format, vilket eliminerar behovet av att först ladda ner bilden lokalt. Detta är mycket lämpligt för serverbaserade pipeline-integrationer. - Stöd för högupplöst omritning: Du kan skicka in en 1K originalbild och med
size-parametern begära 2K eller 4K output, där modellen samtidigt skalar upp bilden under redigeringsprocessen.
Stödda size-värden
Redigeringsgränssnittets begränsningar för size är helt samma som för genereringsgränssnittet — gpt-image-2 accepterar endast size som auto, tomt, eller i formatet WIDTHxHEIGHT. Alla andra format returnerar 400. Alla storlekar (1K / 2K / 4K / anpassade) debiteras per bild oberoende av originalbildens upplösning eller size-värdet.
Upstream har samma hårda begränsningar för anpassade storlekar: bredd och höjd måste vara multiplar av 16, längsta sidan ≤ 3840, och totalt antal pixlar ≤ 8,294,400.
Exempel: Om originalbilden är1024x1024ochsizesätts till2048x2048, kommer modellen att rita om och leverera en 2K-bild enligt redigeringsinstruktionerna;size3840x2160ger en 4K liggande bild;autoeller inget värde låter modellen själv välja. Alla tre debiteras lika.
OmNedan visas två verkliga exempel från olika perspektiv för att visan-parameterngpt-image-2redigerings-API stöder för närvarande inten > 1: denna parameter ignoreras tyst, oavsett om du skickarn=1ellern=10returneras endast en bild per förfrågan och debiteras som en. Om du behöver flera redigeringsresultat samtidigt, vänligen gör flera parallella förfrågningar. Denna begränsning gäller även förgpt-image-1/gpt-image-1.5samtnano-banana/nano-banana-2/nano-banana-promodellerna.dall-e-2är för närvarande den enda redigeringsmodellen som inbyggt stödjern > 1.
gpt-image-2 redigeringsförmåga.
Anropsmetod 1: JSON + Bild-URL (rekommenderas)
Skicka förfrågan direkt somapplication/json och fyll i image-fältet med en bild-URL. Modellen hämtar bilden och redigerar enligt prompt.
Till exempel, denna originalbild är en vetenskaplig infographic genererad med gpt-image-2:
Vi vill ändra den till “nattläge” färgschema. Så här kan du anropa:
Tips:image-fältet kan också ta en array, t.ex."image": ["url1", "url2", "url3"], upp till 16 referensbilder samtidigt för att låta modellen göra en samlad redigering baserat på flera bilder.
Anropsmetod 2: JSON + flera referensbilder
gpt-image-2 kan samtidigt referera till flera bilder för att generera slutresultatet, t.ex. kombinera flera produktbilder till en presentkorg:
Scenarieexempel: Byt stil + behåll struktur
Här är ett annat exempel där en träbokhylla ersätts med en modern flytande hylla, men antalet och arrangemanget av böcker på varje hyllplan bevaras strikt. Originalbild (träbokhylla genererad medgpt-image-2):
Anrop:
task_id: e9544dba-727e-44a2-81e1-223d49869380):
Man kan se att stil och miljö har bytts helt enligt prompten, men antalet böcker på varje hyllplan (1 / 3 / 7) är strikt bevarat och en liten suckulent har lagts till enligt instruktion.
Anropsmetod 3: multipart/form-data (kompatibelt med OpenAI SDK)
Om du redan använder officiella OpenAI Python SDK fungerar den traditionellamultipart/form-data-uppladdningen också, bara ändra model till gpt-image-2:
OPENAI_BASE_URL sätts till https://api.acedata.cloud/openai och OPENAI_API_KEY sätts till den token du fått:
Nano Banana Serie Modeller
nano-banana serien är också ansluten till /openai/images/edits för redigeringsscenarier. Byt bara model till någon av nedanstående för att använda:
Viktigt: Stödda parametrar Nano Banana är ansluten via en adapter till OpenAI-protokollet och stöder endast följande parametrar:model,prompt,image.
imagekan skickas som fil viamultipart/form-data(omvandlas internt tilldata:<mime>;base64,...för upstream) eller som URL-sträng direkt i formulärfältet.- Stöder inte
mask,n,size,response_formatetc.; dessa ignoreras om de skickas.- Returdata följer OpenAI-formatet (
data[].url), mencreatedär alltid0, ochb64_jsonreturneras aldrig.revised_promptär alltid samma som originalprompt.
Anropa via formulär + bild-URL
Anropa via formulär + lokal fil
Asynkron callback
callback_url asynkron callback-mekanism fungerar även för nano-banana, och anropsflödet är helt identiskt med andra modeller. Se avsnittet Asynkron callback nedan.
Grundläggande användning
Härnäst kan du använda kod för att anropa API:et. Nedan är ett exempel med CURL:authorization som väljs från en dropdown, en model som anger vilken OpenAI-modell vi vill använda (här finns huvudsakligen en modell, se våra modellbeskrivningar), en prompt som är textinstruktionen för bildgenerering, och slutligen image som är sökvägen till bilden som ska redigeras. Exempelbilden visas nedan:
Samma anrop i Python:
OPENAI_BASE_URL som kan sättas till https://api.acedata.cloud/openai, samt OPENAI_API_KEY som är din token från authorization. På Mac OS kan du sätta dessa med:
gift-basket.png att genereras i aktuell katalog. Resultatet ser ut så här:
Så har vi slutfört bildredigeringen. För närvarande stöder Edits API tre modeller: dall-e-2, gpt-image-1 och gpt-image-2, där gpt-image-2 är den rekommenderade modellen. Se avsnittet GPT-Image-2 Modell ovan för detaljer.
Asynkron callback
Eftersom redigering med OpenAI Images Edits API kan ta relativt lång tid, och om API:et inte svarar snabbt kan HTTP-anslutningen hållas öppen länge vilket belastar systemresurser, erbjuder API:et även stöd för asynkron callback. Flödet är: klienten skickar en förfrågan och anger ett extra fältcallback_url. API:et svarar omedelbart med ett svar som innehåller ett task_id som identifierar uppgiften. När redigeringen är klar skickas resultatet som en POST med JSON till den angivna callback_url, inklusive task_id, så att resultatet kan kopplas till rätt uppgift.
Nedan visas ett exempel på hur detta fungerar.
Först är webhook-callback en tjänst som kan ta emot HTTP-förfrågningar. Utvecklaren bör ersätta URL:en med sin egen HTTP-server. För demonstration används en offentlig webhook-tjänst https://webhook.site/ där du får en unik URL, som visas nedan:
Kopiera denna URL, t.ex. https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab, och använd som webhook.
Sedan kan vi ange fältet callback_url till denna URL och skicka med övriga parametrar, som i följande kod:
task_id och data med samma bildredigeringsresultat som vid synkront anrop, vilket möjliggör koppling av uppgifter via task_id.
Felhantering
Vid API-anrop som resulterar i fel returnerar API:et motsvarande felkod och meddelande, till exempel:400 token_mismatched: Felaktig förfrågan, troligen saknade eller ogiltiga parametrar.400 api_not_implemented: Felaktig förfrågan, troligen saknade eller ogiltiga parametrar.401 invalid_token: Obefogad, ogiltig eller saknad auktoriseringstoken.429 too_many_requests: För många förfrågningar, du har överskridit hastighetsgränsen.500 api_error: Intern serverfel, något gick fel på servern.

