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.
申请流程
Aby korzystać z OpenAI Images Generations API, najpierw przejdź do Ace Data Cloud 控制台, 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. Przy pierwszym wniosku przyznawana jest darmowa kwota, aby można było skorzystać z doświadczenia; w przypadku niewystarczającej kwoty można doładować saldo ogólne w kontrolerze.
📘 Pełna dokumentacja: OpenAI Images Generations API →
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 scenariuszach 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 portrety filmowe, 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.
线路变体(:official / :reverse)
gpt-image-2 domyślnie korzysta z standardowej trasy. Można jawnie wybrać trasę, dodając sufiks do nazwy modelu:
gpt-image-2:official: oficjalny kanał, stabilny i zgodny. Koszty są określane przez tokeny wejściowe tekstu i tokeny wyjściowe obrazu, a ostateczne rozliczenie odbywa się na podstawie rzeczywistego zużycia w odpowiedzi; ceny jakości/rozmiaru wyświetlane na stronie służą tylko do oszacowania; według maksymalnego pakietu Usage, cena dla klienta wynosi około 80% oficjalnej ceny OpenAI. Usługa automatycznie przełącza się między dostępnymi kanałami, a zdolności i koszty są określane na podstawie rzeczywistych wyników.gpt-image-2:reverse: całkowicie równoważne z domyślnymgpt-image-2, oferujące lepszy stosunek jakości do ceny, cena pozostaje bez zmian.
:official计费公式 Ostateczny koszt = token wejściowy tekstu + token wejściowy obrazu (tylko edycja) + token wyjściowy obrazu. Cena wyświetlana na stroniequality × sizejest oszacowaniem przed żądaniem, rzeczywiste opłaty są zgodne zusagew odpowiedzi. Na przykład,low,1024x1024zazwyczaj kosztuje około 0.0505 Credits za wyjście obrazu, plus niewielka ilość tokenów wejściowych; przy użyciuautomodel może wybrać wyższą jakość, a kwota wstępna będzie sprawdzana według wyższej stawki.
支持的 size 取值
gpt-image-2 sprawdza tylko format size, o ile nie jest to auto lub pusty ciąg, musi pasować do formatu WIDTHxHEIGHT (na przykład 1024x1024, 2048x1152, 800x600); wszelkie inne formy zwrócą 400. Domyślnie gpt-image-2 i :reverse obciążają za pojedynczy obraz; wymiary i jakość :official wpłyną na token wyjściowy obrazu, a ostateczne rozliczenie odbywa się na podstawie rzeczywistego zużycia tokenów.
Ograniczenia rozmiaru: niestandardowe wymiary muszą spełniać warunki, że zarówno szerokość, jak i wysokość są wielokrotnościami 16, dłuższy bok ≤ 3840, całkowita liczba pikseli ≤ 8,294,400, przekroczenie tych wartości zwróci 4xx.
Gdy jawnie przekazujeszPoniżej przedstawiono kilka różnych rzeczywistych przykładów, aby bezpośrednio poczuć możliwościsize: "auto", platforma zaplanuje płótno w ciągłej przestrzeni proporcji i oceni według następujących priorytetów: wyraźne piksele lub proporcje w podpowiedziach, standardy nazewnictwa (papier / druk / miejsca platformy / reklama / urządzenie / fotografia / film), konwencje mediów, a na końcu wnioskowanie kompozycyjne. Dlatego oprócz powszechnych1:1,4:5,9:16,21:9, można również zachować proporcje takie jak1.91:1,1.85:1,2.39:1, ISO papier1:√2itp.; ostateczny rozmiar zostanie automatycznie dostosowany do wspieranych przez usługę wielokrotności 16 i budżetu pikseli. Gdy automatyczne określenie nie jest dostępne, nastąpi powrót do domyślnego formatu modelu, co nie przerwie generacji. Pominięcie polasizespowoduje użycie domyślnego formatu modelu; w przypadku ścisłych wymagań dotyczących pikseli nadal zaleca się bezpośrednie przekazanieWIDTHxHEIGHT. Wyjście w zakresie 1K 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. Wywołanie 4K zazwyczaj wymaga 4–8 minut, zaleca się użycie asynchronicznego wywołaniacallback_urlw połączeniu z poniższymi informacjami. O parametrzengpt-image-2obsługujen > 1(wartości 1–10): w jednym żądaniu można uzyskać odpowiadającą liczbę obrazów. Domyślniegpt-image-2i:reversesą rozliczane na podstawie liczby udanych obrazów; odpowiedź:officialw poluusagepodsumowuje tokeny całego żądania, nie będzie ponownie mnożona przezn. Aby uzyskać różnorodność w wielu wynikach, zaleca się jednoczesne przesyłanie różnychpromptlubseed. To samo dotyczygpt-image-1/gpt-image-1.5, a także seriinano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-pro;dall-e-3obsługuje tylkon = 1. Uwaga:response_format=b64_jsonobsługuje tylkon=1, w przypadkun>1proszę użyć domyślnego zwrotu URL. Jeśli niektóre obrazy nie zostaną wygenerowane, zwrócone i rozliczone zostaną tylko te udane.
gpt-image-2.
Scena 1: Filmowy portret
W podpowiedziach można używać terminów filmowych (film 35mm, płytka głębi, neonowe światła 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 w zwróconych wynikach wygląda następująco:

AMALFI i ITALIA 1958 zostały wyraźnie i poprawnie wyrenderowane.
Scena 3: Złożona kompozycja i liczba
Poniższa podpowiedź służy do przetestowania zdolności modelu do przestrzegania strukturalnych instrukcji dotyczących „ilości” i „położenia”.
dall-e-3.
Scena 4: Styl ilustracji (poziomo)
Poprzez określenie medium artystycznego i słów kluczowych 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.
Modele serii Nano Banana
Serianano-banana to modele generowania obrazów oparte na Gemini, które są dostępne przez ten sam interfejs /openai/images/generations, nie ma 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ę adaptera, w porównaniu dogpt-image-*obsługuje tylko następujące parametry:model,prompt,size,n.
sizebędzie mapowane na wewnętrznyaspect_ratiowedług poniższej tabeli, a nie wymienione rozmiary będą degradujące do1:1:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- Nie obsługiwane są parametry
quality,style,response_format,background,output_formatitp.; wypełnione będą ignorowane.n > 1jest obsługiwane (1–10), zwróci i obciąży za odpowiadającą liczbę obrazów.- Struktura zwrotna przestrzega formatu OpenAI (
data[].url), alecreatedjest stałe jako0, ab64_jsonnie będzie zwracane,revised_promptzawsze równa się oryginalnemuprompt.
Podstawowe wywołanie
url:

Ulepszony model 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 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 bezpośrednio wybrać z rozwijanej listy. Kolejny parametr to model, model to kategoria modelu, którą wybieramy do użycia w OpenAI DALL-E, tutaj mamy głównie 1 model, szczegóły można znaleźć w dostarczonym modelu. Ostatni parametr to prompt, prompt to nasze wprowadzenie do generowania obrazu.
Można również zauważyć, że po prawej stronie generowany jest odpowiedni kod wywołania, który można skopiować i uruchomić, lub można bezpośrednio kliknąć przycisk „Wypróbuj”, aby przetestować.

created, identyfikator generacji tego obrazu, używany do unikalnego oznaczenia tego zadania.data, zawiera informacje o wynikach generacji obrazu.
data zawiera szczegółowe informacje o wygenerowanym obrazie, a jego url to szczegółowy link do 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, 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ółowe ustawienia przedstawione na poniższym obrazku:


standard jest przedstawiona na poniższym obrazku:

hd, aby uzyskać poniższy obrazek:

hd ma bardziej szczegółowe detale i większą spójność niż standard.
Parametr rozmiaru obrazu size
Możemy również ustawić rozmiar generowanego obrazu, możemy dokonać poniższych ustawień.
Poniżej ustawiamy rozmiar obrazu na 1024 * 1024, konkretne ustawienie przedstawione jest na poniższym obrazku:


1024 * 1024, a wygenerowany obrazek przedstawiony jest na poniższym obrazku:

1792 * 1024, aby uzyskać poniższy obrazek:
Można zauważyć, że rozmiar obrazu jest wyraźnie inny, a także można 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.
Poniżej ustawiamy parametr stylu obrazu na vivid, konkretne ustawienie przedstawione jest na poniższym obrazku:


vivid jest przedstawiony poniżej:

natural, można uzyskać obrazek przedstawiony poniżej:

vivid jest bardziej żywy i realistyczny niż natural.
Format parametru linku do obrazu response_format
Ostatni parametr formatu linku do obrazu response_format ma również dwie opcje, pierwsza to b64_json, która koduje link do obrazu w Base64, a druga to url, czyli zwykły link do obrazu, który można bezpośrednio zobaczyć.
Poniżej ustawiono parametr formatu linku do obrazu na url, szczegóły ustawienia przedstawione są na poniższym obrazku:


url to URL obrazu, który można bezpośrednio odwiedzić, a zawartość obrazu przedstawiona jest poniżej:

b64_json, można uzyskać wynik z linkiem do obrazu zakodowanym w Base64, szczegóły wyniku przedstawione są poniżej:
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 aktualne ID zadania. Po zakończeniu zadania, wynik generowania obrazu zostanie wysłany do określonego przez klienta callback_url w formie POST JSON, w tym również pole task_id, dzięki czemu wynik zadania można powiązać z ID.
Poniżej przyjrzymy się, jak dokładnie przeprowadzić tę operację na przykładzie.
Najpierw, Webhook to usługa, która może odbierać żądania HTTP, a deweloperzy powinni zastąpić ją adresem URL własnego serwera HTTP. W tym celu, dla wygody demonstracji, użyjemy publicznej strony przykładowej Webhook https://webhook.site/, otwierając tę stronę, otrzymamy adres URL Webhook, jak pokazano na obrazku:
Skopiuj ten adres URL, aby móc go używać jako Webhook, a przykładowy adres to https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab.
Następnie możemy ustawić pole callback_url na powyższy adres URL Webhook, a także wprowadzić odpowiednie parametry, jak pokazano w poniższym kodzie:
task_id, a pole data zawiera te same wyniki generowania obrazów, co w przypadku wywołania synchronicznego, a poprzez pole task_id można zrealizować powiązanie z zadaniem.
Obsługa błędów
Podczas wywoływania API, jeśli napotkasz błąd, API zwróci odpowiedni kod błędu i informacje. Na przykład:400 token_mismatched: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.400 api_not_implemented: Złe żądanie, 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ń, przekroczono limit szybkości.500 api_error: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

