Adres bazowy i uwierzytelnienie
Wszystkie endpointy są pod https://ugesi.com/api/. Klucz wysyłasz tak: Authorization: Bearer ugsk_twoj_klucz. Brak klucza albo klucz wycofany zwraca 401.
MCP i Actions w ChatGPT
Claude i Cursor: uruchom mcp/server.js z kluczem. ChatGPT: wskaż Action na /.well-known/openapi.json. Cztery operacje: lista modeli, generacja, status zadania, przepis.
Uruchomienie generacji
POST /api/generate/ z ciałem JSON zawierającym narzędzie, model, prompt i wymagane adresy plików. Odpowiedź to 202 z identyfikatorem zadania i liczbą zablokowanych kredytów.
Sprawdzenie zadania
GET /api/jobs/?id=ID_ZADANIA zwraca status: w kolejce, w trakcie, gotowe albo nieudane. Nieudane zadanie zwalnia kredyty samo, więc nie ma czego rozliczać.
Odbiór wyniku
Gotowe zadanie niesie podpisany adres pliku. Link wygasa, więc pobierz plik, zamiast linkować go w swoim produkcie.
Webhook zamiast odpytywania
Wyślij webhook_url razem z żądaniem, a wywołamy go po zakończeniu zadania. To zalecany wzorzec powyżej kilku żądań na minutę.
Modele i stawki
GET /api/models/ zwraca każdy model z jego identyfikatorem, jednostką i aktualną stawką. Czytaj to przy wdrożeniu, zamiast wpisywać stawki na sztywno.
Błędy
400 przy złym ciele żądania. 401 przy złym kluczu. 402 przy braku kredytów. 403 poza planem Enterprise. 404 przy nieznanym narzędziu. 422 przy braku pliku. 429 po przekroczeniu limitu.
Limity
Sześćdziesiąt żądań na minutę na klucz domyślnie. Odpowiedź 429 zawiera Retry-After w sekundach. Odczekaj, zamiast ponawiać natychmiast.