Kredyty, nieznane wyniki i wykorzystanie
Udany wynik z płcią null jest płatny według stawki wybranego trybu. Walidacja numeru telefonu kosztuje 1 kredyt, nawet gdy valid: false. Błędy walidacji zgłoszone przed rozliczeniem oraz nieudane prognozy po potwierdzonym zwrocie nie zużywają kredytów.
Do rozpoczęcia pojedynczej operacji lub partii wystarczy dodatnie saldo początkowe. Końcowa opłata może sprawić, że saldo będzie ujemne: 1 kredyt na start minus operacja AI za 2 kredyty daje -1. Saldo zerowe lub ujemne blokuje nowe płatne operacje. Zwroty są nadal możliwe.
Sprawdź meta.usage.billing_status: not_charged oznacza brak obciążenia (charged_credits: 0); confirmed oznacza, że opłata netto jest znana; unconfirmed oznacza, że charged_credits ma wartość null, a wynik wymaga sprawdzenia. remaining_credits może być ujemne lub mieć wartość null, jeśli jest niedostępne. To stan z chwili zakończenia operacji, który może się zmienić przy równoczesnych zapytaniach.
GET /usage jest bezpłatne. Zwraca remaining_credits i expires_at, a w przypadku próby dla adresu IP także resets_at, limit i period_seconds. W próbie limit wynosi 10, a period_seconds 86400; dla kont z kluczem API te pola mają wartość null. resets_at nie oznacza wygaśnięcia subskrypcji.
V1 i V2 korzystają z tego samego salda. Istniejące mechanizmy aktualizacji salda w V1 mogą konkurować z V2; nie polegaj na gwarancji rozliczenia dokładnie raz między wersjami.
{
"data": {
"remaining_credits": 9,
"expires_at": "2026-09-26T12:00:00.000Z",
"resets_at": "2026-09-26T12:00:00.000Z",
"limit": 10,
"period_seconds": 86400
},
"meta": {
"request_id": "11111111-1111-4111-8111-111111111111",
"duration_ms": 12,
"access": {
"mode": "ip_trial",
"reason": "api_key_missing"
},
"usage": {
"charged_credits": 0,
"remaining_credits": 9,
"billing_status": "not_charged",
"resets_at": "2026-09-26T12:00:00.000Z",
"limit": 10,
"period_seconds": 86400
}
}
}Sprawdź aktualne saldo
GET /api/v2/usage jest bezpłatne, przyjmuje uwierzytelnianie Bearer i nie ma parametrów zapytania. Bez klucza odczytuje bieżący limit próby dla adresu IP.
Wybierz język programowania. Skonfiguruj klucz API, następnie uruchom przykład na swoim serwerze.
Odczyt salda nie zużywa kredytów, ale nadal wlicza się do limitów częstotliwości zapytań.
Zanim uruchomisz: dostęp i obsługa błędów
Uruchamiaj te przykłady na swoim serwerze. Ustaw w środowisku procesu zmienną GENDERAPI_API_KEY na swój istniejący klucz API. Upewnij się, że meta.access.mode ma wartość api_key: nierozpoznany klucz może spowodować przejście na próbę dla adresu IP.
W przypadku odpowiedzi JSON z kodem HTTP 4xx i 5xx przykłady zachowują treść błędu i zwracają niezerowy kod wyjścia. Przed ponowną próbą sprawdź code, action i meta.usage.billing_status.
Przewodnik po błędach i ponawianiu zapytań →cURL 7.76+ w powłoce POSIX. Uruchom w terminalu. Dokumentacja środowiska uruchomieniowego
Node.js 22+; wbudowany fetch. Zapisz jako example.mjs i uruchom node example.mjs. Dokumentacja środowiska uruchomieniowego
Python 3.10+; biblioteka standardowa. Zapisz jako example.py i uruchom python3 example.py. Dokumentacja środowiska uruchomieniowego
PHP 8+ z rozszerzeniem cURL. Zapisz jako example.php i uruchom php example.php. Dokumentacja środowiska uruchomieniowego
Java 17+; standardowy klient HTTP. Zapisz jako GenderApiExample.java i uruchom java GenderApiExample.java. Dokumentacja środowiska uruchomieniowego
Aplikacja konsolowa .NET 8+. Użyj jako Program.cs w projekcie konsolowym, a następnie uruchom dotnet run. Dokumentacja środowiska uruchomieniowego
Go 1.22+; biblioteka standardowa. Zapisz jako main.go i uruchom go run main.go. Dokumentacja środowiska uruchomieniowego
Pola odpowiedzi z saldem
| Pole | Typ | Dopuszcza null | Przykład | Opis |
|---|---|---|---|---|
data.remaining_credits | integer | Nie | 99 | Bieżące saldo konta lub próby dla adresu IP; może być ujemne. |
data.expires_at | string | Tak | null | Data wygaśnięcia konta lub próby w UTC (ISO 8601), jeśli jest dostępna. |
data.resets_at | string | Tak | "2026-09-27T12:00:00.000Z" | Czas odnowienia próby dla adresu IP w UTC (ISO 8601); null dla kont z kluczem API lub gdy nie jest znany. |
data.limit | integer | Tak | 10 | Limit kredytów próby dla adresu IP; null dla kont z kluczem API. |
data.period_seconds | integer | Tak | 86400 | Okres próby dla adresu IP w sekundach; null dla kont z kluczem API. |
Metadane dostępu, rozliczenia i zapytania
| Pole | Typ | Dopuszcza null | Przykład | Opis |
|---|---|---|---|---|
meta.request_id | string | Nie | "550e8400-e29b-41d4-a716-446655440000" | Unikalny identyfikator tej próby HTTP; wysyłany także w X-Request-ID. |
meta.duration_ms | integer | Nie | 42 | Czas przetwarzania zapytania w milisekundach. |
meta.access.mode | string | Nie | "api_key" | api_key, ip_trial lub unauthenticated. Korzystając z płatnego konta, sprawdź api_key. |
meta.access.reason | string | Tak | null | Powód przejścia na próbę: api_key_missing, api_key_invalid lub api_key_not_found; w pozostałych przypadkach null. |
meta.usage.charged_credits | integer | Tak | 1 | Liczba pobranych kredytów netto. Zero przed pobraniem lub po potwierdzonym pełnym zwrocie; null, gdy rozliczenie jest niepotwierdzone. |
meta.usage.remaining_credits | integer | Tak | 99 | Saldo po zakończeniu operacji. Może być ujemne; null, gdy saldo jest niedostępne lub rozliczenie jest niepotwierdzone. |
meta.usage.billing_status | string | Nie | "confirmed" | not_charged, confirmed lub unconfirmed. Sprawdź to pole przed ponowieniem nieudanej prognozy. |
meta.usage.resets_at | string | Tak | "2026-09-27T12:00:00.000Z" | Czas odnowienia próby dla adresu IP w UTC (ISO 8601); null dla kont z kluczem API lub gdy nie jest znany. |
meta.usage.limit | integer | Tak | 10 | Limit kredytów próby dla adresu IP; null dla kont z kluczem API. |
meta.usage.period_seconds | integer | Tak | 86400 | Okres próby dla adresu IP w sekundach; null dla kont z kluczem API. |