dall-e-3, model o silniejszych zdolnościach renderowania tekstu gpt-image-1, najnowszą generację gpt-image-2, a także serię modeli nano-banana / nano-banana-2 / nano-banana-pro dostępnych przez ten sam interfejs. Wszystkie potrafią generować wysokiej jakości obrazy na podstawie opisu tekstowego.
Niniejsza dokumentacja opisuje głównie proces korzystania z OpenAI Images Generations API, dzięki któremu możemy łatwo korzystać z funkcji generowania obrazów z serii OpenAI.
Proces wnioskowania
Aby korzystać z OpenAI Images Generations API, najpierw można przejść na stronę OpenAI Images Generations API i kliknąć przycisk „Acquire”, aby uzyskać niezbędne poświadczenia do żądań: Jeśli nie jesteś zalogowany lub zarejestrowany, zostaniesz automatycznie przekierowany na stronę logowania, gdzie możesz się zarejestrować i zalogować. Po zalogowaniu zostaniesz automatycznie przeniesiony z powrotem na tę stronę. Przy pierwszym wniosku otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z API.Model GPT-Image-2
gpt-image-2 to nowa generacja modelu generowania obrazów od OpenAI, która w porównaniu do dall-e-3 i gpt-image-1 oferuje wyraźne ulepszenia w następujących aspektach:
- Lepsze przestrzeganie instrukcji: potrafi dokładnie zrozumieć złożone instrukcje dotyczące kompozycji, liczenia, relacji przestrzennych i innych struktur.
- Czystsze renderowanie tekstu: w scenariuszach takich jak plakaty, menu, infografiki, znaki tekst i cyfry w języku angielskim są niemal bezbłędne.
- Bogatsze wyrażanie stylu: natywne wsparcie dla wielu stylów, takich jak portrety filmowe, plakaty retro, ilustracje dla dzieci, fotografia produktowa, infografiki itp.
- Natywne wsparcie wielu proporcji i wysokiej rozdzielczości: obsługuje 5 proporcji (1:1, 4:3, 3:4, 16:9, 9:16) oraz 3 poziomy rozdzielczości (1K / 2K / 4K).
model na gpt-image-2. Pole url w zwracanym wyniku to trwały link do obrazu hostowany na platform.cdn.acedata.cloud, który można otworzyć bezpośrednio w przeglądarce lub osadzić na stronie.
Obsługiwane wartości size
gpt-image-2 sprawdza tylko format size — jeśli nie jest auto ani pustym ciągiem, musi odpowiadać wzorcowi WIDTHxHEIGHT (np. 1024x1024, 2048x1152, 800x600); inne formaty zwrócą błąd 400. Wszystkie rozmiary (1K / 2K / 4K / niestandardowe) są rozliczane jednolicie za pojedynczy obraz, bez dodatkowych opłat za rozmiar.
Ograniczenia nałożone przez backend dotyczące niestandardowych rozmiarów: szerokość i wysokość muszą być wielokrotnością 16, dłuższy bok ≤ 3840, całkowita liczba pikseli ≤ 8 294 400. Przekroczenie tych limitów spowoduje odrzucenie przez backend i zwrócenie błędu 4xx.
Możesz także przekazaćsize: "auto"lub pominąć polesize, wtedy model wybierze domyślny rozmiar. Przy rozdzielczości 1K backend nie gwarantuje ścisłego dopasowania pikseli — np. podając1024x1024możesz otrzymać obraz1254x1254, proporcje będą zachowane. Jeśli ponownie przekażesz taki rozmiar jakosize, opłata pozostanie bez zmian. Pojedyncze wywołanie 4K zwykle zajmuje 4–8 minut, zaleca się użycie mechanizmu asynchronicznegocallback_urlopisanym dalej.
O parametrzePoniżej przedstawiamy kilka rzeczywistych przykładów, które pokazują możliwościngpt-image-2obecnie nie obsługujen > 1— parametr jest ignorowany, niezależnie czy podaszn=1czyn=10, zwrócony zostanie tylko jeden obraz i naliczona opłata za jeden obraz. Jeśli potrzebujesz wielu obrazów, wykonaj wiele równoległych żądań (zalecane jest podanie różnychpromptlubseed, aby uniknąć bardzo podobnych obrazów). To ograniczenie dotyczy takżegpt-image-1/gpt-image-1.5oraz seriinano-banana. Modeldall-e-2jest jedynym natywnie obsługującymn > 1;dall-e-3obsługuje tylkon = 1.
gpt-image-2.
Scenariusz 1: Portret filmowy
W promptach można używać terminologii filmowej (35mm film, płytka głębia ostrości, neony itp.) do precyzyjnej kontroli atmosfery i tekstury. Przykład wywołania w Pythonie:Scenariusz 2: Plakat podróżniczy w stylu retro (z renderowaniem tekstu)
gpt-image-2 jest stabilny w kwestii typografii i układu, idealny do generowania plakatów, menu, kartek z tekstem.
url w odpowiedzi:
Model dokładnie odwzorował styl Art Deco, a tekst AMALFI i ITALIA 1958 jest wyraźny i poprawny.
Scenariusz 3: Złożona kompozycja i liczenie
Prompt testujący przestrzeganie instrukcji dotyczących liczby i położenia elementów:dall-e-3.
Scenariusz 4: Styl ilustracji (orientacja pozioma)
Poprzez określenie medium artystycznego i słów kluczowych nastroju, można uzyskać stylizowane ilustracje.Asynchroniczność i callback
Pojedyncze wywołaniegpt-image-2 zwykle trwa 60–90 sekund. Jeśli nie chcesz utrzymywać długiego połączenia, możesz użyć mechanizmu asynchronicznego callback opisanego dalej. Proces wywołania jest identyczny jak w przypadku innych modeli.
Modele serii Nano Banana
Serianano-banana to modele generowania obrazów oparte na Gemini, dostępne przez ten sam endpoint /openai/images/generations. Wystarczy zmienić model na dowolny z poniższej tabeli.
Zakres obsługiwanych parametrów Nano Banana korzysta z warstwy adaptacyjnej do protokołu OpenAI i w porównaniu dogpt-image-*obsługuje tylko:model,prompt,size.
sizejest mapowane na wewnętrznyaspect_ratiowedług tabeli:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- Nie obsługuje parametrów
n,quality,style,response_format,background,output_format— są ignorowane.- Struktura odpowiedzi jest zgodna z formatem OpenAI (
data[].url), alecreatedzawsze 0, nie zwracab64_json, arevised_promptzawsze równe oryginalnemuprompt.
Podstawowe wywołanie
url:
Aktualizacja do flagowego modelu nano-banana-pro
Wystarczy zmienić model na nano-banana-pro, pozostałe parametry pozostają bez zmian:
Asynchroniczny callback
Mechanizmcallback_url działa również dla nano-banana, proces wywołania jest taki sam jak dla innych modeli, opisany w sekcji Asynchroniczny callback.
Podstawowe użycie
Następnie możesz wypełnić odpowiednie pola w interfejsie, jak pokazano na obrazku: Przy pierwszym użyciu tego interfejsu musisz podać co najmniej trzy wartości:authorization — wybierz z listy rozwijanej, model — wybierz model OpenAI DALL-E (tutaj dostępny jest jeden model, szczegóły w dokumentacji modeli) oraz prompt — tekstowy opis obrazu do wygenerowania.
Po prawej stronie zobaczysz wygenerowany kod wywołania, który możesz skopiować i uruchomić lub kliknąć przycisk „Try” aby przetestować.
Przykład wywołania w Pythonie:
created— ID wygenerowanego obrazu, unikalny identyfikator zadania.data— zawiera informacje o wygenerowanym obrazie.
data znajduje się szczegółowy link do wygenerowanego obrazu w url, jak pokazano na obrazku:
Parametr jakości obrazu quality
Możesz ustawić szczegółowe parametry generowania obrazu, w tym parametr jakości quality, który ma dwie wartości: standard — generuje obraz standardowej jakości, oraz hd — generuje obraz z większą ilością detali i spójnością.
Poniżej ustawiamy quality na standard:
Po prawej stronie pojawi się wygenerowany kod, który możesz skopiować lub kliknąć „Try” aby przetestować.
Przykład wywołania w Pythonie:
quality ustawionym na standard wygląda tak:
Analogicznie, ustawiając quality na hd, otrzymasz obraz z większą ilością detali i spójnością:
Parametr rozmiaru obrazu size
Możesz także ustawić rozmiar generowanego obrazu.
Przykład ustawienia rozmiaru na 1024x1024:
Po prawej stronie pojawi się kod do wywołania, który można skopiować lub przetestować:
Przykład wywołania w Pythonie:
1024x1024 wygląda tak:
Analogicznie, ustawiając rozmiar na 1792x1024, otrzymasz obraz o innym rozmiarze:
Możesz ustawić także inne rozmiary, szczegóły znajdziesz w dokumentacji na stronie.
Parametr stylu obrazu style
Parametr stylu style ma dwie wartości: vivid — generuje bardziej żywe obrazy, oraz natural — generuje obrazy bardziej naturalne.
Przykład ustawienia style na vivid:
Po prawej stronie pojawi się kod do wywołania, który można skopiować lub przetestować:
Przykład wywołania w Pythonie:
style ustawionym na vivid:
Analogicznie, ustawiając style na natural, otrzymasz obraz bardziej naturalny:
vivid generuje obrazy bardziej żywe i realistyczne niż natural.
Parametr formatu odpowiedzi response_format
Parametr response_format ma dwie wartości: b64_json — kodowanie linku do obrazu w Base64, oraz url — zwykły link do obrazu, który można bezpośrednio otworzyć.
Przykład ustawienia response_format na url:
Po prawej stronie pojawi się kod do wywołania, który można skopiować lub przetestować:
Przykład wywołania w Pythonie:
response_format na b64_json, otrzymasz obraz zakodowany w Base64:
Asynchroniczny callback
Ponieważ generowanie obrazów przez OpenAI Images Generations API może zająć stosunkowo dużo czasu, długie oczekiwanie na odpowiedź HTTP powoduje utrzymywanie połączenia, co zwiększa zużycie zasobów systemowych. Dlatego API oferuje wsparcie dla asynchronicznego callback. Proces jest następujący: klient wysyła żądanie z dodatkowym polemcallback_url. API natychmiast zwraca wynik zawierający task_id — identyfikator zadania. Po ukończeniu generowania obraz zostanie przesłany metodą POST w formacie JSON na wskazany callback_url, zawierający również task_id, co pozwala powiązać wynik z zadaniem.
Poniżej przykład, jak to zrobić.
Webhook callback to usługa HTTP, która odbiera żądania. Programista powinien podać adres własnego serwera HTTP. Dla demonstracji można użyć publicznej strony https://webhook.site/, która generuje unikalny URL webhooka, jak na obrazku:
Skopiuj ten URL, np. https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab.
Następnie ustaw pole callback_url na ten adres i wywołaj API, np.:
task_id i pole data z tymi samymi danymi co wywołanie synchroniczne, co pozwala powiązać zadania.
Obsługa błędów
W przypadku błędów API zwraca odpowiedni kod i komunikat. Przykładowe kody:400 token_mismatched: Niepoprawne żądanie, np. brak lub błędne parametry.400 api_not_implemented: Niepoprawne żądanie, np. brak lub błędne parametry.401 invalid_token: Brak autoryzacji, nieprawidłowy lub brakujący token.429 too_many_requests: Zbyt wiele żądań, przekroczono limit.500 api_error: Błąd serwera.

