Krótka odpowiedź
Fraza image gen api openai może oznaczać dwie różne rzeczy, co warto rozdzielić. Pierwsza to własna usługa generowania obrazów OpenAI, należąca do OpenAI, do której docierasz za pomocą konta OpenAI. Druga to dowolna usługa kopiująca format żądań OpenAI, dzięki czemu istniejące SDK i narzędzia nadal działają. Ta strona to drugi rodzaj, i tylko dla tekstu.
Otrzymujesz tutaj hostowane API LLM do tekstu bez cenzury. Ustawiasz klienta OpenAI na poniższy Base URL, ustawiasz model na uncensored i otrzymujesz uzupełnienia czatu. Nie wracają żadne piksele. Nie ma generowania obrazów, audio ani wideo, nie ma embeddingów ani fine-tuningu, a żadna z tych funkcji nie jest planowana w ramach tego, co opisano na tych stronach.
Co jest kompatybilne, a co nie
Słowo "kompatybilny" jest nadużywane w marketingu, więc oto dokładny opis. Base URL to https://api.imagegenapi.com/v1, uwierzytelnianie to Authorization: Bearer <key>, a dostępne są dwie metody.
| Endpoint | Dostępne tutaj | Uwagi |
|---|---|---|
POST /v1/chat/completions | Tak | Strumieniowanie, wywoływanie funkcji, tryb JSON |
GET /v1/models | Tak | Wymienia uncensored |
| Endpointy generowania obrazów | Nie | Usługa tylko do tekstu |
| Embeddingi, audio, dostrajanie | Nie | Nie oferowane |
Jeśli Twój kod wywoła ścieżkę obrazu na tym Base URL, oczekuj błędu, a nie obrazu. Dotyczy to również każdej funkcji OpenAI spoza dwóch powyższych metod. Znajome Ci parametry próbkowania działają: temperature, top_p, stop, seed oraz kary są przekazywane dalej, a odpowiedź może wykorzystać pełne okno kontekstu 100 000 tokenów dzielone między prompt a uzupełnienie.
Warto też jasno określić tożsamość. Modelem za uncensored jest pojedynczy model o otwartych wagach, uruchamiany przez niezależnego dostawcę. To nie jest API OpenAI, nie proxyfikuje modeli OpenAI i nie jest powiązane z OpenAI. Dopasowana strona na tej witrynie, GPT image API and uncensored text, omawia tę samą różnicę z perspektywy nazw modeli graficznych.
Dlaczego pojawia się to pytanie
Użytkownicy trafiają na strony takie jak ta z uzasadnionych powodów. Narzędzia graficzne są napędzane promptami tekstowymi, a prompty tekstowe są pisane przez modele językowe, a wiele bramek modeli językowych udostępnia jeden format żądań. Naturalnym założeniem jest, że jedno API robi obie rzeczy.
W praktyce te dwa zadania to osobne systemy z osobnymi kluczami, cenami i zasadami. Usługa graficzna pobiera prompt i zwraca obraz. Usługa tekstowa pobiera wiadomości i zwraca więcej tekstu. Łącznikiem między nimi jesteś Ty lub skrypt, który napiszesz, przenoszący tekst z jednego do drugiego. Gdy tak na to spojrzysz, użyteczne pytanie zmienia się z "czy to API tworzy obrazy" na "czy to API może pisać lepsze prompty dla modelu graficznego, którego już używam".
To jest prawdziwy przypadek użycia i miejsce, w którym model tekstowy bez cenzury może mieć znaczenie. Asystenci ogólnego przeznaczenia często przepisują, zmiękczają lub odmawiają żądań promptów dotyczących dojrzałych wątków fabularnych, przemocy w realiach opowieści lub ciemnej estetyki. Model dostosowany do odpowiadania na legalne żądania dorosłych bez odmów zwykle wykona zadanie pisarskie zgodnie z prośbą. Twarde ograniczenie pozostaje w mocy: brak treści seksualnych z udziałem nieletnich, w żadnym ujęciu.
Używanie API tekstowego do pisania promptów graficznych
Oto mały, działający przykład. Pyta model o szczegółowy prompt, który następnie wklejasz do dowolnego generatora obrazów, którego używasz. Kod używa oficjalnego SDK Pythona OpenAI przeciwko temu base URL.
from openai import OpenAI
client = OpenAI(base_url="https://api.imagegenapi.com/v1", api_key="YOUR_KEY")
reply = client.chat.completions.create(
model="uncensored",
temperature=0.8,
messages=[
{"role": "system", "content": "You write prompts for text-to-image models. Reply with one paragraph: subject, composition, lighting, palette, lens or style. No preamble."},
{"role": "user", "content": "A ruined lighthouse at dusk for a dark fantasy book cover."},
],
)
print(reply.choices[0].message.content)
To samo wywołanie z linii poleceń:
curl https://api.imagegenapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Write a one-paragraph image prompt: a ruined lighthouse at dusk, dark fantasy cover art."}]}'
Uczynienie wyniku użytecznym
Generatory obrazów różnią się tym, co akceptują, więc kształtuj wynik za pomocą wiadomości systemowej. Poproś o stałą strukturę, limit słów i listę rzeczy do uniknięcia. Jeśli potrzebujesz promptu w potoku, poproś o JSON z response_format ustawionym na typ json_object i poproś o klucze takie jak prompt i negative. Następnie przeanalizuj go i przekaż pola do swojego klienta obrazu. Ustawienie seed i niskiego temperature daje bardziej powtarzalne wyniki przy iterowaniu nad sformułowaniem.
Przepływ wsadowy z rzeczywistymi liczbami
Załóżmy, że generujesz prompty do 1 000 scen. Każde zapytanie wysyła około 300 tokenów (instrukcje plus krótka notatka o scenie) i otrzymuje prompt o długości około 200 tokenów. Cennik to $0,15 za 1M tokenów wejściowych i $0,50 za 1M tokenów wyjściowych.
- Jedno zapytanie, wejście: 300 / 1 000 000 x $0,15 = $0,000045.
- Jedno zapytanie, wyjście: 200 / 1 000 000 x $0,50 = $0,0001.
- Jedno zapytanie łącznie: $0,000145.
- 1 000 zapytań: 1 000 x $0,000145 = $0,145.
Dlatego tysiąc promptów kosztuje około 14,5 centa, a etap generowania tekstu to zwykle mała część rachunku w porównaniu z samym generowaniem obrazów, którego cenę powinieneś sprawdzić u tego dostawcy. Pełny klucz pozwala na 8 równoległych zapytań i 300 zapytań na minutę, więc 1 000 zapytań zmieści się w kilka minut przy niewielkiej puli workerów. Obsługuj HTTP 429 przez czekanie; nagłówek Retry-After: 5 mówi Ci, jak długo czekać przy tymczasowym przeciążeniu.
Możesz wypróbować wszystko bez płacenia. Po rejestracji na stronie klucza API znajduje się kredyt próbny $0,50 aktywowany jednym kliknięciem, ważny przez 7 dni. W dłuższej perspektywie doładowania wynoszą od $20 do $500 i są opłacane w kryptowalutach (USDT na TRC20 lub USDC na Base); zobacz cennik, aby poznać poziomy bonusów.
Błędy, których należy unikać
Kilka błędów pojawia się wielokrotnie, gdy ktoś próbuje użyć endpointu w kształcie OpenAI do pracy z obrazami.
- Wywoływanie ścieżki obrazu i oczekiwanie obrazu. Tylko dwie udokumentowane metody istnieją tutaj. Sprawdź treść błędu zamiast ponawiania prób, ponieważ ponowienia nie zmienią wyniku.
- Prośba o "narysowanie" czegoś przez model tekstowy. Może odpowiedzieć sztuką ASCII, opisem lub przeprosinami. Jeśli chcesz obraz, wyślij prompt, który napisze, do prawdziwego generatora obrazów.
- Pominięcie listy modeli. Szybkie wywołanie
GET /v1/modelspotwierdza, że klucz działa i że jedynym modelem jestuncensored. Nic nie kosztuje. - Ignorowanie odpowiedzi 429. Klucz próbny pozwala na 2 równoległe zapytania, więc pętla z dziesięcioma workerami zawali się szybko. Ogranicz liczbę workerów lub dodaj krótkie oczekiwanie.
- Wysyłanie bardzo dużych treści żądań. Limit to 8 MB na zapytanie. Wywołania pisania promptów są znikome, więc rzadko ma to znaczenie, ale wklejone dokumenty mogą go przekroczyć.
Żaden z tych problemów nie jest trudny do naprawienia, a najszybszym lekarstwem jest skrypt testowy o dziesięciu liniach uruchomiony przed podłączeniem czegokolwiek do większego narzędzia.
Kiedy lepszym rozwiązaniem jest inna usługa
Bądź praktyczny w wyborze. Jeśli potrzebujesz samego obrazu, potrzebujesz dostawcy obrazów, a OpenAI jest jednym z kilku; sprawdź jego aktualną dokumentację i ceny, aby poznać szczegóły tego, co oferuje. Jeśli Twoim jedynym celem jest czysty prompt w popularnym stylu, standardowy asystent może wystarczyć i w ogóle nie będziesz potrzebować tej usługi.
To API lepiej pasuje, gdy etap tekstu jest wąskim gardłem: asystent, którego używasz, odmawia lub zmiękcza Twoje zapytania promptów, potrzebujesz dużej liczby promptów po przewidywalnej cenie za token, albo chcesz endpoint kompatybilny z OpenAI do fikcji, roleplay i narzędzi typu companion do legalnego użytku przez osoby dorosłe bez przepisywania kodu klienta. Pełne szczegóły parametrów znajdziesz w dokumentacji, która zawiera format zapytania i kody błędów.
Jeszcze jedna uwaga praktyczna: prompty wysłane do tego API nie są używane do trenowania. Traktuj jednak każdą usługę hostowaną jako spoza Twojej maszyny i unikaj wysyłania sekretów, których nie wkleiłbyś do formularza internetowego.
