Skargi, które anglojęzyczni programiści publicznie opublikowali między 24 a 26 października 2026, przytoczone poniżej własnymi słowami, z linkami do oryginalnych postów. Każda odpowiedź opiera się wyłącznie na tym, co dziś mówią publiczna strona i dokumentacja PoYo, i prowadzi do strony, z której pochodzi. Tam, gdzie dokumentacja czegoś nie obejmuje, piszemy o tym wprost.
Q1. Kolejny SaaS został zhakowany, a razem z nim moje klucze API AI.
Na co narzekają programiści: Głośne włamanie do jednego z serwisów SaaS spowodowało, że klucze API AI wyciekły masowo i zostały użyte do oszukańczego ruchu. Osobno ludzie zgłaszali wyciek klucza API OpenAI powiązany z Railway, a jeden programista dostał e-mail od OpenAI o wycieku klucza, który nawet nie był jego. Błędy we frontendzie jeszcze pogarszają sytuację: ujawnione w przeglądarce klucze API pozostają częstą wadą.
Odpowiedź PoYo: Najpierw zrotuj klucz, bo wyciekły sekret to wciąż wyciekły sekret. Potem nasza dokumentacja wymienia mechanizmy, które ograniczają to, co może zrobić skradziony klucz PoYo:
- IP whitelist. Dopuść do klucza tylko zatwierdzone adresy IP swoich serwerów, żeby klucz skopiowany ze zmiennej środowiskowej nie działał z maszyny atakującego. Zobacz stronę kluczy API i Pierwsze kroki.
- Limity użycia dla klucza (godzinowy, dzienny i łączny), dzięki którym jeden klucz ma twardy pułap, zanim to zauważysz.
- Blokowanie na poziomie użytkownika końcowego. Wyślij nagłówek
X-End-User-ID, a możesz zablokować jednego nadużywającego użytkownika na danym kluczu bez jego rotowania. Zablokowany identyfikator zwraca HTTP 403 zend_user_blocked. Zobacz Identyfikację użytkownika końcowego.
Nasza publiczna dokumentacja nie obiecuje zwrotów za użycie wykonane za pomocą wyciekłego klucza. Jeśli uważasz, że klucz PoYo został użyty niewłaściwie, unieważnij go i skontaktuj się ze wsparciem (support@poyo.ai).
Q2. Gdy dostawca modelu wypuszcza aplikację, z którą konkuruję, mój rate limit jest pierwszą rzeczą, która ustępuje.
Na co narzekają programiści: Jeden twórca ujął to wprost: jeśli dostawca twojego API wypuszcza też produkt, z którym konkurujesz, rate limit jest pierwszą rzeczą, która ustępuje. Wątki na Reddicie wciąż zadają to samo pytanie operacyjne: jak ludzie radzą sobie z rate limits API Claude na produkcji i jakie podejścia sprawdzają się przy rate limits dostawców AI.
Odpowiedź PoYo: Nasza strona kodów błędów przypisuje każdemu statusowi jedno znaczenie i jedno zalecane działanie:
| Kod | error.type | Co zaleca dokumentacja |
|---|---|---|
| 402 | insufficient_credits_error | Doładuj kredyty. Ponawianie nie pomoże. |
| 429 | rate_limit_error | Poczekaj przed ponowieniem albo ustaw żądania w kolejce. |
| 500 / 502 / 503 | internal_error / upstream_error / service_error | Ponów z wykładniczym backoffem. |
Pierwsze kroki podają domyślny limit generowania: do 20 nowych żądań generowania na 10 sekund na konto. Żądania ponad ten limit dostają HTTP 429 i nie trafiają do kolejki. Modele czatu i multimedialne korzystają z jednego klucza PoYo i są wymienione w llms.txt, więc przejście na inny model to zmiana ciągu model, a nie wdrażanie nowego dostawcy. Jeśli regularnie trafiasz na 429, dokumentacja mówi, że możesz skontaktować się ze wsparciem w sprawie wyższego limitu; zgody są wydawane ostrożnie.
Dokumentacja nie opisuje automatycznego failover między dostawcami. Wbuduj rozwiązanie awaryjne w swojego klienta. Pierwsze kroki mówią też, że „ogólna stabilność PoYo może być nieco niższa niż u oficjalnych dostawców”.
Q3. Mój „429” był w rzeczywistości limitem wydatków, czyli błędy rozliczeń przebrane za rate limity.
Na co narzekają programiści: Twarde limity wydatków w OpenAI mogą objawiać się jako 429 z project_spend_limit_exceeded / organization_spend_limit_exceeded, więc zespoły traktują zatrzymanie z powodu rozliczeń jak ograniczanie przepustowości. W przypadku API wideo jeden programista zauważył, że 402 oznacza za mały limit, by zarezerwować opłatę, a 409 to przypadek idempotentności. Kolejne przypomnienie było praktyczne: ustaw limit wydatków, żeby pętla albo obcy z curlem rozliczały cię tak samo.
Odpowiedź PoYo: PoYo wyraźnie rozdziela te dwa przypadki w tabeli kodów błędów:
| Kod | error.type | Znaczenie |
|---|---|---|
| 402 | insufficient_credits_error | Saldo się skończyło. Doładuj kredyty, ponawianie nie pomoże. |
| 429 | rate_limit_error | Przekroczono rate limit. Poczekaj albo ustaw w kolejce. |
Same rozliczenia opierają się na przedpłaconych kredytach: strona główna mówi o zakupach jednorazowych bez cyklicznych subskrypcji, a kredyty nigdy nie wygasają. Gdy potrzebujesz aktualnej liczby, odpytaj GET /api/user/balance o credits_amount (saldo użytkownika).
Q4. Nie widzę, który model zjadł budżet w OpenAI, Anthropic i OpenRouter.
Na co narzekają programiści: Jeden programista zapytał, czy skok wydatków w OpenRouter da się rozbić na poszczególne modele. Inni wskazywali narzędzia takie jak View Spend dla OpenAI / Anthropic / xAI, a branżowe plotki wciąż przypominały, że Replit przeniósł ponad 100 mln USD wydatków na AI z Anthropic do OpenAI dla uzyskania rabatu: różni dostawcy, różne faktury, ta sama ślepa plamka.
Odpowiedź PoYo: Do tej skargi pasują trzy udokumentowane elementy:
- Jeden klucz, jedno saldo. Czat i multimedia korzystają z jednego konta PoYo. Odpytuj
GET /api/user/balanceocredits_amount(saldo użytkownika). - Limity godzinowe, dzienne i łączne dla każdego klucza na stronie kluczy API, żeby jeden agent lub jedno środowisko nie opróżniło całego konta (Pierwsze kroki).
- Historia zadań i opublikowane ceny. Sprawdzaj model, dane wejściowe i status w historii zadań opisanej w Pierwszych krokach. Porównuj ceny czatu i multimediów na stronie cennika, a aktualne ceny poszczególnych modeli odczytasz z llms.txt lub z
llms.txtkażdego modelu.
Q5. Moja „funkcja serwerowa” jest dostępna dla każdego, a klucz leży tam, gdzie znajdzie go curl.
Na co narzekają programiści: Ten sam post o limitach wydatków ostrzegał też, że funkcja serwerowa dostępna dla każdego wymaga rate limitu na użytkownika i limitu wydatków. Inny post był dosadny: nie umieszczaj klucza OpenAI w szablonach czatu w przeglądarce. A klasyk wciąż trafia w punkt: żadnego .env na GitHubie.
Odpowiedź PoYo: Pierwsze kroki są jednoznaczne: nigdy nie ujawniaj swojego klucza API w kodzie frontendu (przeglądarka, aplikacje mobilne, publiczne repozytoria). Traktuj klucz jak sekret, trzymaj go na swoim serwerze i korzystaj z mechanizmów kontroli udokumentowanych już dla kluczy produkcyjnych:
- IP whitelist oraz limity godzinowe / dzienne / łączne dla klucza na stronie kluczy API.
- Wymagaj
X-End-User-ID, a potem zablokuj nadużywającego użytkownika kodem HTTP 403end_user_blockedbez rotowania całego klucza (Identyfikacja użytkownika końcowego).
Q6. API wideo spalają kredyty co do sekundy, a interfejs użycia nadal wygląda jak dla tokenów.
Na co narzekają programiści: Rozliczanie wideo wciąż myli osoby, które wyrosły na licznikach tokenów. Starsze, ale wciąż cytowane wątki dotyczą interfejsów użycia API, które nie pasują do sposobu rozliczania wideo, oraz aktualizacji rozszerzenia API Sora z mylącym ponownym naliczaniem. Temat jest aktualny: wideo zwraca 402, gdy nie ma wystarczającego limitu, by zarezerwować opłatę.
Odpowiedź PoYo: Sora 2 Official (i powiązane modele wideo) znajdują się w katalogu PoYo, który opisują llms.txt i strona API wideo AI. Zasady rozliczeń, które faktycznie podają strony publiczne:
- Kredyty za udany wynik, z wyceną dla każdego modelu (llms.txt).
- Zadania zakończone niepowodzeniem nie są rozliczane (strona główna + llms.txt).
- Aktualne ceny są na stronie każdego modelu /
https://poyo.ai/models/<model-id>/llms.txt; sprawdź je, zanim wyślesz płatną pracę, i nie wyciągaj kwot w dolarach z pamięci. - Generowanie jest asynchroniczne:
POST /api/generate/submit, potem odpytuj o status albo ustawcallback_url(Pierwsze kroki). Gdy kredytów brakuje, dostajesz 402insufficient_credits_error(kody błędów).
Q7. Każdy twórca botów uczy się, że API jest prawdziwym product managerem: rate limits piszą mapę drogową.
Na co narzekają programiści: Jeden post podsumował to tak: każdy twórca botów uczy się, że API jest prawdziwym product managerem; rate limit pisze mapę drogową. Startupy agentowe wciąż modlą się, żeby API nie zastosowało rate limitu w środku dema. Inni otwarcie szukają failover przy 429 / 5xx.
Odpowiedź PoYo: Generowanie w PoYo jest zaprojektowane jako asynchroniczne, więc długie zadania nie są związane z jednym timeoutem bramy. Pierwsze kroki i przegląd API mówią: wyślij zadanie, zapisz task_id, a potem odpytuj o status albo odbierz webhook. Przy obciążeniach produkcyjnych dokumentacja woli podpisane webhooki od częstego odpytywania. Przy 429 poczekaj albo ustaw żądania w kolejce (kody błędów); domyślny limit generowania pozostaje 20 nowych żądań / 10 s na konto, a nadwyżka jest odrzucana i nie trafia do kolejki. Obrazy, wideo, muzyka, czat i 3D są dostępne za jednym jednolitym kluczem API (llms.txt, strona główna). Jeśli potrzebujesz wyższych limitów, skontaktuj się ze wsparciem; zgody są wydawane ostrożnie.
Dokumentacja nie opisuje automatycznego failover między dostawcami. Twój klient musi obsłużyć 429 / 5xx i wybrać następny model lub ścieżkę ponowienia.
Szybka mapa
| Skarga | Gdzie opisuje to PoYo |
|---|---|
| Masowe wycieki z SaaS / kluczy AI | Strona kluczy API · Pierwsze kroki · X-End-User-ID |
| Konkurencja z dostawcą → najpierw rate limits | Kody błędów · Pierwsze kroki: rate limits · llms.txt |
| Limity wydatków przebrane za 429 | Kody błędów: 402 vs 429 · Strona główna: kredyty · API salda |
| Nie widać, który model zjadł budżet | API salda · Limity kluczy API · Cennik · llms.txt |
| Klucze w funkcjach serwerowych / interfejsach czatu | Pierwsze kroki: nigdy nie ujawniaj klucza · Strona kluczy API · X-End-User-ID |
| Spalanie kredytów wideo / nieprzejrzyste rozliczanie wideo | API wideo AI · Sora 2 Official · llms.txt: nieudane nie są rozliczane · Kody błędów: 402 |
| Pętle agentów / rate limits jako PM | Pierwsze kroki: async + 429 · Przegląd API · Kody błędów |