guides

2026-10-26: 7 skarg na API, które usłyszeliśmy dzisiaj

PoYo Team
8 min read
Share:

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 z end_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:

Koderror.typeCo zaleca dokumentacja
402insufficient_credits_errorDoładuj kredyty. Ponawianie nie pomoże.
429rate_limit_errorPoczekaj przed ponowieniem albo ustaw żądania w kolejce.
500 / 502 / 503internal_error / upstream_error / service_errorPonó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:

Koderror.typeZnaczenie
402insufficient_credits_errorSaldo się skończyło. Doładuj kredyty, ponawianie nie pomoże.
429rate_limit_errorPrzekroczono 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:

  1. Jeden klucz, jedno saldo. Czat i multimedia korzystają z jednego konta PoYo. Odpytuj GET /api/user/balance o credits_amount (saldo użytkownika).
  2. 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).
  3. 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.txt każ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:


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 ustaw callback_url (Pierwsze kroki). Gdy kredytów brakuje, dostajesz 402 insufficient_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

SkargaGdzie opisuje to PoYo
Masowe wycieki z SaaS / kluczy AIStrona kluczy API · Pierwsze kroki · X-End-User-ID
Konkurencja z dostawcą → najpierw rate limitsKody błędów · Pierwsze kroki: rate limits · llms.txt
Limity wydatków przebrane za 429Kody błędów: 402 vs 429 · Strona główna: kredyty · API salda
Nie widać, który model zjadł budżetAPI salda · Limity kluczy API · Cennik · llms.txt
Klucze w funkcjach serwerowych / interfejsach czatuPierwsze kroki: nigdy nie ujawniaj klucza · Strona kluczy API · X-End-User-ID
Spalanie kredytów wideo / nieprzejrzyste rozliczanie wideoAPI wideo AI · Sora 2 Official · llms.txt: nieudane nie są rozliczane · Kody błędów: 402
Pętle agentów / rate limits jako PMPierwsze kroki: async + 429 · Przegląd API · Kody błędów
Share: