OpenAI bildredigeringstjänst låter dig skicka in valfritt antal bilder och instruktioner för att få redigerade bilder som resultat. För närvarande stöder API:et samtidigtDocumentation Index
Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
Use this file to discover all available pages before exploring further.
dall-e-2, gpt-image-1, den senaste gpt-image-2, samt modellerna i nano-banana / nano-banana-2 / nano-banana-pro serien som är anslutna via samma gränssnitt.
Det här dokumentet beskriver huvudsakligen användningsflödet för OpenAI Images Edits API, med vilket du enkelt kan använda den officiella OpenAI bildredigeringsfunktionen.
Ansökningsprocess
För att använda OpenAI Images Edits API kan du först gå till OpenAI Images Edits API sidan 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 och logga in, och efter inloggning å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 modellen
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 skinn, färgschema eller bakgrund förstörs nästan aldrig originalbildens layout och komposition.
- Mer exakt textbevarande: Text i informationsgrafik, affischer, menyer etc. förblir tydlig och läsbar efter redigering.
- Stöd för direkt URL-inmatning: Utöver traditionell filuppladdning med
multipart/form-datastödergpt-image-2även inmatning av bild-URL i JSON-format, vilket eliminerar behovet av att ladda ner bilder lokalt och är mycket lämpligt för server-side pipelines. - Stöd för högupplöst omritning: Du kan skicka in en 1K originalbild och via
size-parametern begära 2K / 4K-utdata, modellen förstorar samtidigt som den redigerar.
Stödda size-värden och prisnivåer
Redigeringsgränssnittet har samma begränsningar för size som genereringsgränssnittet — gpt-image-2 accepterar endast size som auto, tomt, eller i formatet WIDTHxHEIGHT. Andra format ger 400-fel. Prissättningen delas in i två nivåer och baseras endast på det begärda size-värdet, oberoende av originalbildens upplösning:
- 1K standardpris: Någon av de rekommenderade 1K-storlekarna i tabellen nedan, eller vanliga 1K-alias från upstream (
1254x1254,1672x941,941x1672). - Andra nivåer (1,5×): Inkluderar rekommenderade 2K / 4K förinställningar i tabellen samt valfri egen
WIDTHxHEIGHT.
| Proportion | 1K (standardpris) | 2K rekommenderat (×1.5) | 4K rekommenderat (×1.5) |
|---|---|---|---|
| 1:1 | 1024x1024 | 2048x2048 | 2880x2880 |
| 4:3 | 1536x1024 | 2048x1536 | 3264x2448 |
| 3:4 | 1024x1536 | 1536x2048 | 2448x3264 |
| 16:9 | 1792x1024 | 2048x1152 | 3840x2160 |
| 9:16 | 1024x1792 | 1152x2048 | 2160x3840 |
Exempel: Om originalbilden är1024x1024ochsizesätts till2048x2048, kommer modellen att rita om bilden enligt redigeringsinstruktionen och ge ut en 2K-bild med “andra” prisnivån; omsizesätts till3840x2160blir utdata en 4K liggande bild, också med “andra” prisnivån; omautoeller tomt skickas används 1K standardpris.
OmNedan följer två verkliga exempel som visarn-parameterngpt-image-2redigerings-API stöder för närvarande inten > 1: parametern ignoreras tyst, oavsett om du skickarn=1ellern=10returneras endast en bild per förfrågan och endast en bild debiteras. Om du behöver flera redigeringsförslag samtidigt, skicka 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-proserierna.dall-e-2är för närvarande den enda redigeringsmodellen som stödjern > 1nativt.
gpt-image-2 redigeringsförmåga från olika perspektiv.
Anropsmetod 1: JSON + bild-URL (rekommenderat)
Skicka direkt en förfrågan medapplication/json där image-fältet innehåller en bild-URL. Modellen hämtar bilden och redigerar enligt prompt.
Till exempel, originalbilden nedan är en vetenskaplig illustration genererad med gpt-image-2:


Tips:image-fältet kan också vara en lista, t.ex."image": ["url1", "url2", "url3"], upp till 16 bilder samtidigt, så att modellen kan referera till flera bilder för redigering.
Anropsmetod 2: JSON + flera referensbilder
gpt-image-2 stöder att referera till flera bilder samtidigt för att generera slutresultatet, till exempel att kombinera flera produktbilder till en presentkorg:
Scenarieexempel: Byt stil + behåll struktur
Här är ett annat exempel där en träbokhylla byts ut mot en modern flytande hylla, men där antalet och arrangemanget av böcker på varje hyllplan bevaras exakt. Originalbild (träbokhylla genererad medgpt-image-2):

task_id: e9544dba-727e-44a2-81e1-223d49869380):

Anropsmetod 3: multipart/form-data (kompatibel med OpenAI SDK)
Om du redan använder den officiella OpenAI Python SDK fungerar den traditionellamultipart/form-data-uppladdningen också, bara byt model till gpt-image-2:
OPENAI_BASE_URL sätts till https://api.xhuoapi.ai/v1/openai och OPENAI_API_KEY till den token du fått:
Nano Banana serien
nano-banana serien är också ansluten till /openai/images/edits för redigeringsscenarier, byt bara model till någon av nedanstående:
| Modell | Kostnad (Credits / gång) | Användningsområde |
|---|---|---|
nano-banana | 0.14 | Vanlig bildredigering, snabbast och billigast |
nano-banana-2 | 0.28 | Märkbart bättre kvalitet och detaljer |
nano-banana-pro | 0.35 | Flaggskeppet i serien, bäst bevarande av struktur, text och stil |
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 en URL-sträng i formulärfältet.- Parametrar som
mask,n,size,response_formatstöds inte och ignoreras.- Svar följer OpenAI-formatet (
data[].url), mencreatedär alltid0, ochb64_jsonreturneras inte;revised_promptär alltid samma som originalprompt.
Anrop via formulär + bild-URL

Anrop via formulär + lokal fil
Asynkron callback
callback_url-asynkron callback-mekanism fungerar även för nano-banana, anropsflödet är 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 direkt i dropdown-menyn; en model som är den modellkategori vi vill använda från OpenAI:s officiella modeller (här finns huvudsakligen en modell, se vår modellöversikt); en prompt som är textinstruktionen för bildgenerering; och slutligen image som är sökvägen till den bild som ska redigeras, exempelbilden visas nedan:

OPENAI_BASE_URL som kan sättas till https://api.xhuoapi.ai/v1/openai och OPENAI_API_KEY som är den token vi fått från authorization. På Mac OS kan du sätta miljövariablerna så här:
gift-basket.png i aktuell katalog, resultatet ser ut så här:

dall-e-2, gpt-image-1 och gpt-image-2, där gpt-image-2 är den rekommenderade modellen, se avsnittet GPT-Image-2 modellen ovan.
Asynkron callback
Eftersom OpenAI Images Edits API kan ta relativt lång tid att redigera bilder, och om API:et inte svarar under lång tid hålls HTTP-anslutningen öppen vilket kan orsaka extra systemresursförbrukning, erbjuder detta API även stöd för asynkron callback. Flödet är: klienten skickar med ett extra fältcallback_url vid förfrågan. 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 klientens angivna callback_url, där även task_id finns med så att resultatet kan kopplas till uppgiften.
Nedan följer ett exempel på hur detta fungerar.
Först är webhook-callback en tjänst som kan ta emot HTTP-förfrågningar. Utvecklare bör ersätta med sin egen HTTP-server-URL. För demonstration används en offentlig webhook-tjänst https://webhook.site/, där du kan få en webhook-URL, som visas nedan:
Kopiera denna URL och använd som webhook, i exemplet är det https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab.
Sedan kan vi ange fältet callback_url till ovanstående webhook-URL och fylla i övriga parametrar, som i följande kod:
task_id och data med samma bildredigeringsresultat som vid synkront anrop, så att du kan koppla ihop uppgiften via task_id.
Felhantering
Vid anrop av API:et, om ett fel uppstår, 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 hastighetsbegränsningen.500 api_error: Intern serverfel, något gick fel på servern.

