OneProvider

Zużycie i rozliczenia

Zrozum swój rachunek: zużycie w każdej odpowiedzi, endpoint salda dla każdego klucza, efektywne stawki, limity 429 i co się dzieje przy pustym saldzie.

Zużycie dla każdego żądania wraca w każdej odpowiedzi — rozliczaj się na jego podstawie bez obaw. Stan salda dostępny przez GET /v1/dashboard/balance.

Wszystkie modele, możliwości i ceny Indeks dokumentacji dla agentów AI: https://oneprovider.dev/docs/llms.txt

Zużycie w każdym żądaniu

Każda odpowiedź /v1/messages zawiera obiekt usage z liczbą tokenów:

json
{
"usage": {
"input_tokens": 48,
"output_tokens": 92,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}

W chat-completions te same liczby występują jako prompt_tokens, completion_tokens i total_tokens.

Saldo klucza: GET /v1/dashboard/balance

Zwraca aktualne saldo klucza. Odpowiada natychmiast i przyjmuje ten sam klucz co API.

Tylko Authorization: Bearer Ten endpoint przyjmuje twój klucz wyłącznie w nagłówku Authorization: Bearer sk-... (w przeciwieństwie do /v1/messages, który akceptuje też x-api-key). bash
curl -H "Authorization: Bearer sk-YOUR_KEY_HERE" \
https://api.oneprovider.dev/v1/dashboard/balance

Odpowiedź 200 OK:

json
{
"object": "balance",
"balance_usd": 54.77,
"expires_at": "2026-07-29T19:00:00Z",
"is_active": true,
"last_synced_at": "2026-06-29T19:52:00Z"
}
  • balance_usd: dostępne saldo klucza w USD.
  • expires_at: termin ważności klucza (ISO 8601 UTC, null, jeśli go nie ma).
  • is_active: false, jeśli klucz jest wstrzymany lub wyłączony.
  • last_synced_at: kiedy saldo było ostatnio aktualizowane.

Endpointy salda zgodne z OpenAI

Aplikacje takie jak NextChat i LobeChat odczytują saldo ze ścieżek w stylu OpenAI. Działają z tym samym kluczem w Authorization: Bearer:

Dane referencyjne
EndpointCo zwraca
GET /v1/dashboard/billing/subscriptionhard_limit_usd: pozostałe saldo
GET /v1/dashboard/billing/usagetotal_usage: zawsze 0 (pole jest w centach)
GET /v1/dashboard/billing/credit_grantstotal_available: pozostałe saldo

Błędy: 401 przy braku lub nieprawidłowym nagłówku Authorization: Bearer; 429 po przekroczeniu limitu żądań (endpointy salda mają limit na adres IP). Saldo i wydatki z każdego żądania znajdziesz też w Panelu (strona „Zużycie” w bocie @oneprovider_robot i na app.oneprovider.dev ).

Obowiązujące stawki

Rozliczamy według stałej stawki za 1 mln tokenów, opublikowanej na /pricing . Bez mnożnika, bez minimum, bez zaokrągleń. Wzór:

text
cost = (input_tokens / 1_000_000) * rate_in
+ (output_tokens / 1_000_000) * rate_out
+ (cache_read_input_tokens / 1_000_000) * (rate_in * 0.10)
+ (cache_creation_input_tokens / 1_000_000) * (rate_in * 1.25)
  • Odczyty z cache są rozliczane po 10% stawki za wejście w większości modeli.
  • Tworzenie cache (pierwszy zapis punktu cache) jest rozliczane po 125% stawki za wejście w większości modeli.
  • Mnożniki 0,10 i 1,25 we wzorze są typowe: dokładne stawki odczytu i zapisu cache dla każdego modelu znajdziesz w tabeli modeli .

Gdy saldo się wyczerpie

Gdy saldo klucza spadnie do zera, żądania z nim zwracają 429 z error.type insufficient_balance, error.code insufficient_quota i nagłówkiem x-should-retry: false:

http
HTTP/1.1 429 Too Many Requests
x-should-retry: false
Content-Type: application/json
{
"type": "error",
"error": {
"type": "insufficient_balance",
"code": "insufficient_quota",
"message": "Insufficient balance on this API key. Top up: dashboard.oneprovider.dev"
}
}

Nie ponawiaj: sprawdź saldo w Panelu i limit klucza (strona „Klucze”), w razie potrzeby doładuj saldo i wyślij żądanie ponownie (jak to zrobić ). Pozostałe kody opisano w Kodach błędów .

Termin klucza ustalasz sam; saldo nie wygasa Termin ważności klucza ustawiasz w Panelu (do 90 dni, z możliwością przedłużenia). Saldo nie jest pobierane według zegara: nie ma miesięcznego resetu, zobowiązania ani subskrypcji; środki pozostają dostępne, dopóki ich nie wydasz.

Limit żądań (429)

Zbyt wiele żądań w krótkim czasie zwraca 429 rate_limit_error. Odpowiedź może zawierać nagłówek Retry-After w sekundach:

http
HTTP/1.1 429 Too Many Requests
Retry-After: 2
Content-Type: application/json
{
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Rate limit exceeded; retry later"
}
}

Gdy jest Retry-After, odczekaj co najmniej tyle czasu; w przeciwnym razie ponawiaj z rosnącą przerwą. Jeśli 429 wciąż wracają, zmniejsz współbieżność po stronie klienta. Żądania odrzucone z powodu limitu nie zużywają salda.

Dokładność zużycia w każdym żądaniu

Obiekty usage z poszczególnych żądań sumują się dokładnie do rzeczywistych wydatków klucza. Sprawdzono 2026-05-08 na 24-godzinnej próbie 25 845 żądań: maksymalna różnica wyniosła <$0.001 (zaokrąglenie na 6. miejscu po przecinku). Rozliczaj się na podstawie usage z każdego żądania bez obaw.

Ostatnia aktualizacja: 2026-11-08 Widzisz błąd? @Oneproviderhelpbot