API Console

Wywołuj generator Fellowi Images z własnego kodu. Te same modele, te same ceny, ten sam portfel monet - tylko klucz API zamiast formularza w przeglądarce.

Uwierzytelnianie

Każde żądanie potrzebuje klucza API w nagłówku Authorization: Authorization: Bearer fk_live_.... Klucze tworzysz poniżej i widzisz tylko raz, przy tworzeniu - zapisz swój w bezpiecznym miejscu.

Twój klucz API

Wklej klucz, a trafi do każdego przykładu na tej stronie i wypróbujesz API stąd. Klucz zostaje w tej karcie przeglądarki i trafia tylko do API tej strony.

Modele

Model wybierasz polem model. Ceny są za obraz, w monetach Fellowi, i dokładnie takie same jak w webowym Image Studio. Pusta lista images oznacza text-to-image; przesłanie referencji kieruje zapytanie do modelu edycji, który może kosztować inaczej.

Bez pola model dostajesz fellowi-text-to-image - ten sam model i tę samą cenę, którą integracja napisana przed pojawieniem się wyboru miała od zawsze.

curl https://fellowi.com/api/v1/api/models

Utwórz obraz

POST /v1/api/images od razu zwraca 202 z generacją w kolejce; sam obraz powstaje do kilku minut. Wysyłaj nagłówek Idempotency-Key, żeby ponowienie nigdy nie zapłaciło dwa razy.

images jest opcjonalne: do 10 publicznych adresów URL obrazów, od których model wychodzi (zdjęcie towarzysza, własna referencja). Każdy dodaje 10 monet do ceny, a niepusta lista przełącza generację na model edycji zamiast text-to-image.

curl -X POST https://fellowi.com/api/v1/api/images \
  -H "Authorization: Bearer fk_live_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "prompt": "a neon-lit cyberpunk portrait",
    "model": "fellowi-text-to-image",
    "quality": "standard",
    "format": "png",
    "aspectRatio": "1:1",
    "enhancePrompt": false,
    "enhanceStyle": "default",
    "images": []
  }'

Opcje zapytania

Wszystko poniżej jest opcjonalne. Każda wartość domyślna odtwarza zachowanie API sprzed istnienia danej opcji, więc starsza integracja działa bez zmian.

quality
standard albo high. Ustala rozdzielczość i cenę - zobacz tabelę powyżej.
format
png albo jpeg. Domyślnie png.
aspectRatio
auto (domyślnie) albo jedno z 1:1, 3:4, 4:3, 2:3, 3:2, 4:5, 5:4, 16:9, 9:16, 2:1, 1:2, 3:1, 1:3, 21:9, 9:21.
enhancePrompt / enhanceStyle
Ustaw enhancePrompt na true, aby prompt został przepisany przed renderowaniem, za dodatkowe 10 monet. enhanceStyle nadaje kierunek temu przepisaniu: default, artistic, photographic, technical, anime lub realistic. Przy wyłączonym enhancePrompt pole jest ignorowane.
images
Do 10 publicznie dostępnych adresów URL obrazów jako punkt wyjścia. Każdy z nich przełącza zapytanie na model edycji. Każdy obraz referencyjny w images dodaje 10 monet.

Odpytuj o wynik

Odpytuj GET /v1/api/images/{id}, aż status będzie succeeded, a potem pobierz imageUrl. Nieudane generacje są zwracane w monetach automatycznie.

curl https://fellowi.com/api/v1/api/images/{id} \
  -H "Authorization: Bearer fk_live_..."

Gdy generacja się nie uda

Nieudana generacja zwraca monety i podaje jeden z czterech kodów w failureCode: TIMEOUT, MODERATION_REJECTED, VENDOR_ERROR lub UNKNOWN. Nic bardziej szczegółowego nie publikujemy - wewnętrzny kod mówiłby o naszym potoku, a nie o twoim zapytaniu.

Limity i koszt

Każdy klucz ma własny limit zapytań na minutę (widoczny w panelu poniżej) i może mieć dzienny limit monet. To zabezpieczenia przed nadużyciami, a nie prawdziwy sufit - naprawdę ogranicza cię saldo monet Fellowi. 403 ze stroną HTML: żądanie zatrzymano, zanim dotarło do API, zwykle z powodu User-Agent. Domyślny Python-urllib jest blokowany, wyślij własny, na przykład User-Agent: my-app/1.0.