dall-e-3, model o silniejszych zdolnościach renderowania tekstu gpt-image-1, najnowszą generację gpt-image-2, oraz serię modeli nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro, które są dostępne przez ten sam interfejs. Wszystkie te modele potrafią generować wysokiej jakości obrazy na podstawie opisów tekstowych.
Dokument ten głównie opisuje proces korzystania z OpenAI Images Generations API, dzięki któremu możemy łatwo korzystać z funkcji generacji obrazów serii OpenAI.
Proces aplikacji
Aby korzystać z OpenAI Images Generations API, najpierw przejdź do Ace Data Cloud Console, aby uzyskać swój token API, który należy zachować na przyszłość.
Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę.
Jeden token API wystarczy do korzystania ze wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Pierwszy wniosek daje darmowy limit, który można wykorzystać bezpłatnie; w przypadku niewystarczającego limitu można doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: OpenAI Images Generations API →
Model GPT-Image-2
gpt-image-2 to nowa generacja modelu generacji obrazów wprowadzona przez OpenAI, która w porównaniu do dall-e-3 i gpt-image-1 ma wyraźne ulepszenia w następujących aspektach:
- Silniejsza zdolność do przestrzegania instrukcji: potrafi dokładnie zrozumieć złożone kompozycje, liczenie, relacje przestrzenne i inne złożone instrukcje.
- Wyraźniejsze renderowanie tekstu: w scenach takich jak plakaty, menu, infografiki, logotypy angielski i cyfry prawie nigdy nie są zniekształcone.
- Bogatsze wyrażenie stylu: natywne wsparcie dla różnych stylów, takich jak filmowe portrety, retro plakaty, ilustracje dla dzieci, fotografia produktowa, infografiki itp.
- Natywne wsparcie dla wielu proporcji + wysokiej rozdzielczości: obejmuje 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. W zwróconym wyniku url to link do obrazu, który jest trwale hostowany na platform.cdn.acedata.cloud, można go otworzyć bezpośrednio w przeglądarce lub osadzić na stronie internetowej.
Oficjalny pośrednik / Odwrócona wersja (:official / :reverse)
gpt-image-2 domyślnie korzysta z odwróconej trasy. Można jawnie wybrać trasę za pomocą sufiksu nazwy modelu:
gpt-image-2:official: oficjalna trasa pośrednia. Wspieran > 1(zwraca wiele obrazów jednocześnie) oraz prawdziwe rozdzielczości 2K / 4K, opłata za każdą obrazek, cena jednostkowa to 2-krotność domyślnegogpt-image-2. Obecnie dostępne tylko przez kanał openai-hk, w przypadku braku dostępności trasy zwraca bezpośrednio błąd, nie przechodzi na trasę odwróconą.gpt-image-2:reverse: całkowicie równoważne z domyślnymgpt-image-2(odwrócona trasa), używane do jawnego zadeklarowania korzystania z odwróconej trasy, cena pozostaje bez zmian.
Ograniczenia dotyczące parametrunw dalszej części odnoszą się tylko do domyślnej / odwróconej trasy;gpt-image-2:officialwspieran > 1i rozlicza na podstawie obrazków.
Obsługiwane wartości size
gpt-image-2 sprawdza tylko format size, o ile nie jest auto lub pustym ciągiem, musi pasować do formatu WIDTHxHEIGHT (np. 1024x1024, 2048x1152, 800x600); wszelkie inne formy zwrócą 400. Wszystkie rozmiary (1K / 2K / 4K / niestandardowe) są rozliczane na podstawie pojedynczego obrazka, nie ma dodatkowych opłat za rozmiar.
Górne ograniczenia 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 wartości spowoduje odrzucenie przez górny poziom i zwrócenie 4xx.
Możesz również przekazaćsize: "auto"lub pominąć polesize, w takim przypadku model sam wybierze domyślny rozmiar. W przypadku 1K górny poziom nie gwarantuje ścisłego dopasowania pikseli — możesz przekazać1024x1024, a otrzymać1254x1254, proporcje pozostaną zgodne. Jeśli ponownie przekażesz to jakosize, opłata pozostaje bez zmian. Jedno wywołanie 4K zazwyczaj wymaga 4–8 minut, zaleca się użycie asynchronicznego wywołaniacallback_urlw dalszej części.
O parametrachPoniżej przedstawiamy kilka różnych rzeczywistych przykładów, aby intuicyjnie poczuć możliwościngpt-image-2obecnie nie wspieran > 1: ten parametr będzie cicho ignorowany, niezależnie od tego, czy przekażeszn=1, czyn=10, pojedyncze żądanie zawsze zwróci 1 obrazek i będzie rozliczane tylko za 1 obrazek. Jeśli potrzebujesz uzyskać wiele obrazów kandydatów jednocześnie, proszę samodzielnie uruchomić wiele równoległych żądań (zaleca się jednoczesne przekazywanie różnychpromptlub różnychseed, w przeciwnym razie uzyskane obrazy mogą być bardzo podobne). To ograniczenie dotyczy równieżgpt-image-1/gpt-image-1.5, a także seriinano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-pro.dall-e-2jest obecnie jedynym modelem, który natywnie wspieran > 1;dall-e-3wspiera tylkon = 1.
gpt-image-2.
Scena 1: Filmowy portret
W podpowiedziach można używać terminów filmowych (35mm film, płytka głębia, neonowe światło itp.), aby precyzyjnie kontrolować atmosferę i jakość. Przykładowy kod wywołania w Pythonie:
Scena 2: Retro plakat podróżniczy (z renderowaniem tekstu)
gpt-image-2 wykazuje stabilność w typografii i renderowaniu czcionek, co czyni go idealnym do generowania plakatów, menu, kart okolicznościowych i innych projektów z tekstem.
url odpowiada obrazkowi poniżej:

AMALFI i ITALIA 1958 zostały wyraźnie i poprawnie wyrenderowane.
Scena 3: Złożona kompozycja i liczba
Poniższy prompt służy do testowania zdolności modelu do przestrzegania zorganizowanych instrukcji dotyczących „ilości” i „lokalizacji”.
dall-e-3.
Scena 4: Styl ilustracji (poziomo)
Poprzez określenie medium artystycznego i słów kluczowych dotyczących emocji, można skierować model do produkcji stylizowanej ilustracji.
Asynchroniczność i wywołania zwrotne
gpt-image-2 zazwyczaj wymaga 60-90 sekund na pojedyncze wywołanie. Jeśli nie chcesz utrzymywać długiego połączenia, możesz skorzystać z mechanizmu asynchronicznego wywołania zwrotnego callback_url, którego proces wywołania jest całkowicie zgodny z innymi modelami.
Seria modeli Nano Banana
Serianano-banana to modele generowania obrazów oparte na Gemini, które zostały zintegrowane przez ten sam interfejs /openai/images/generations, bez potrzeby zmiany punktu końcowego, wystarczy zmienić model na dowolny z poniższej tabeli.
Ważne: Zakres obsługiwanych parametrów Nano Banana łączy się z protokołem OpenAI przez warstwę adaptacyjną, w porównaniu dogpt-image-*obsługuje tylko następujące parametry:model,prompt,size.
sizebędzie mapowane na wewnętrznyaspect_ratio, a nie wymienione rozmiary będą degradujące do1:1:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- Nie obsługuje parametrów
n,quality,style,response_format,background,output_formatitp.; wypełnione będą ignorowane.- Struktura zwrotna przestrzega formatu OpenAI (
data[].url), alecreatedjest stałe na0, ab64_jsonnie będzie zwracane,revised_promptzawsze równa się oryginalnemuprompt.
Podstawowe wywołanie
url:

Uaktualnij do modelu flagowego nano-banana-pro
Wystarczy zmienić model na nano-banana-pro, pozostałe parametry pozostają identyczne:

Asynchroniczny callback
Mechanizm asynchronicznego callbackucallback_url działa również w przypadku nano-banana, proces wywołania jest całkowicie zgodny z innymi modelami, szczegóły znajdują się w sekcji Asynchroniczny callback.
Podstawowe użycie
Następnie można wypełnić odpowiednie treści w interfejsie, jak pokazano na obrazku:
authorization, które można wybrać bezpośrednio z rozwijanej listy. Kolejny parametr to model, model to kategoria modelu, którą wybieramy do użycia z oficjalnej strony OpenAI DALL-E, tutaj mamy głównie 1 model, szczegóły można zobaczyć w dostarczonym modelu. Ostatni parametr to prompt, prompt to słowo kluczowe, które wprowadzamy, aby wygenerować obraz.
Można również zauważyć, że po prawej stronie znajduje się odpowiedni kod wywołania, który można skopiować i uruchomić, lub można bezpośrednio kliknąć przycisk „Try”, aby przetestować.

created, ID generacji obrazu, używane do unikalnej identyfikacji tego zadania.data, zawiera informacje o wynikach generacji obrazu.
data zawiera szczegółowe informacje o wygenerowanym obrazie, a url to link do szczegółów wygenerowanego obrazu, co można zobaczyć na obrazku.

Parametr jakości obrazu quality
Następnie przedstawimy, jak ustawić niektóre szczegółowe parametry wyników generacji obrazu, w tym parametr jakości obrazu quality, który zawiera dwa rodzaje: pierwszy standard oznacza generowanie standardowego obrazu, a drugi hd oznacza, że tworzony obraz ma bardziej szczegółowe detale i większą spójność.
Poniżej ustawiamy parametr jakości obrazu na standard, szczegóły ustawienia przedstawione są na poniższym obrazku:


standard wygląda jak na poniższym obrazku:

hd, aby uzyskać obraz przedstawiony na poniższym zdjęciu:

hd generuje obrazy z bardziej szczegółowymi detalami i większą spójnością niż standard.
Parametr rozmiaru obrazu size
Możemy również ustawić rozmiar generowanego obrazu, możemy dokonać poniższych ustawień.
Ustawiamy rozmiar obrazu na 1024 * 1024, konkretne ustawienie przedstawione na poniższym zdjęciu:


1024 * 1024, jak pokazano na poniższym zdjęciu:

1792 * 1024, aby uzyskać obraz przedstawiony na poniższym zdjęciu:
Można zauważyć, że rozmiar obrazu jest wyraźnie inny, można również ustawić więcej rozmiarów, szczegóły można znaleźć w dokumentacji na naszej stronie internetowej.
Parametr stylu obrazu style
Parametr stylu obrazu style zawiera dwa parametry, pierwszy vivid oznacza, że generowany obraz jest bardziej żywy, a drugi natural oznacza, że generowany obraz jest bardziej naturalny.
Ustawiamy parametr stylu obrazu na vivid, konkretne ustawienie przedstawione na poniższym zdjęciu:


vivid generuje obraz przedstawiony na poniższym zdjęciu:

natural, aby uzyskać obraz przedstawiony na poniższym zdjęciu:

vivid generuje obrazy, które są bardziej żywe i realistyczne niż natural.
Parametr formatu linku obrazu response_format
Ostatni parametr formatu linku obrazu response_format ma również dwa rodzaje, pierwszy b64_json to kodowanie linku obrazu w Base64, a drugi url to zwykły link do obrazu, który można bezpośrednio zobaczyć.
Ustawiamy parametr formatu linku obrazu na url, konkretne ustawienie przedstawione na poniższym zdjęciu:


url generuje link do obrazu URL obrazu, który można bezpośrednio odwiedzić, a zawartość obrazu przedstawia się jak na poniższym obrazku:

b64_json, aby uzyskać wynik z linkiem do obrazu zakodowanym w Base64, szczegółowy wynik przedstawia się jak na poniższym obrazku:
Asynchroniczny callback
Ponieważ czas generowania obrazów przez OpenAI Images Generations API może być stosunkowo długi, jeśli API nie odpowiada przez dłuższy czas, żądanie HTTP będzie utrzymywać połączenie, co prowadzi do dodatkowego zużycia zasobów systemowych, dlatego to API oferuje również wsparcie dla asynchronicznych callbacków. Cały proces wygląda następująco: klient inicjuje żądanie, dodatkowo określając polecallback_url, po wysłaniu żądania API natychmiast zwraca wynik, zawierający pole task_id, które reprezentuje aktualny identyfikator zadania. Po zakończeniu zadania, wynik generowania obrazu zostanie wysłany do określonego przez klienta callback_url w formie POST JSON, który również zawiera pole task_id, dzięki czemu wyniki zadania można powiązać za pomocą identyfikatora.
Poniżej przedstawiamy przykład, aby zrozumieć, jak dokładnie to działa.
Najpierw, Webhook callback to usługa, która może odbierać żądania HTTP, deweloperzy powinni zastąpić to URL swojego własnego serwera HTTP. W tym celu, dla wygody demonstracji, użyjemy publicznej strony przykładowej Webhook https://webhook.site/, otwierając tę stronę, można uzyskać URL Webhook, jak pokazano na obrazku:
Skopiuj ten URL, aby użyć go jako Webhook, przykładowy URL to https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab.
Następnie możemy ustawić pole callback_url na powyższy URL Webhook, a także wypełnić odpowiednie parametry, jak pokazano w poniższym kodzie:
task_id, a pole data zawiera wyniki generowania obrazu takie same jak w przypadku wywołania synchronicznego, dzięki polu task_id można powiązać zadanie.
Obsługa błędów
Podczas wywoływania API, jeśli wystąpią błędy, API zwróci odpowiedni kod błędu i informacje. Na przykład:400 token_mismatched:Zły wniosek, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.400 api_not_implemented:Zły wniosek, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.401 invalid_token:Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.429 too_many_requests:Zbyt wiele żądań, przekroczyłeś limit szybkości.500 api_error:Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

