# Cennik

Każdy model kosztuje dokładnie tyle, ile pobiera jego twórca, w dolarach amerykańskich. Płacisz z **salda API**,
które jest wyrażone w **kredytach API**: **1000 kredytów API = 1 $**. Saldo API jest niezależne od kredytów aplikacji Doitong. Nie ma planów, opłat minimalnych ani opłat za poszczególne modele: wywołanie kosztuje podaną cenę, pobieraną z salda API po zaakceptowaniu żądania.

W Rosji (doitong.ru, api.doitong.ru lub `?currency=rub`) ceny są również wyświetlane w rublach: cena USD ×
kurs USD/RUB × 1,3.

## Jednostki

Każdy model ma jedną jednostkę rozliczeniową, widoczną na jego stronie i w `GET https://api.doitong.com/v1/models/{model_id}`:

| Jednostka | Ilość |
|---|---|
| `second` | Sekundy wynikowego wideo lub audio (`duration`) |
| `image` | Wygenerowane obrazy (`num_images`) |
| `megapixel` | Szerokość × wysokość wyniku, w megapikselach (1 MP = 1024 × 1024 pikseli) |
| `video` | Jedno wygenerowane wideo |
| `request` | Jedno wywołanie |
| `1000_characters` | Znaki tekstu wejściowego na 1000 |
| `step` | Kroki trenowania |

Cena = ilość × kredyty API za jednostkę, zaokrąglona w górę do pełnego kredytu API (0,001 $), nigdy mniej niż 1. Bardzo tanie
jednostki mogą mieć ułamkową cenę za jednostkę (`0.4` kredytu API za sekundę); zaokrąglana jest tylko suma wywołania.

Niektóre modele mają inną stawkę zależnie od danych wejściowych: wideo z dźwiękiem kosztuje więcej niż bez dźwięku, 4K więcej
niż 1K itd. Te **zasady** są wymienione na stronie każdego modelu. Pominięty parametr ma wartość domyślną,
więc cena wyświetlona dla danych wejściowych jest ceną, którą zapłacisz.

## Ceny dokładne, mierzone, szacowane i zależne od wykorzystania

Każda cena ma `mode`:

- `exact`: cena jest obliczana na podstawie danych wejściowych (sekund, obrazów, megapikseli, znaków, kroków albo jednej stałej
  ceny za wideo lub wywołanie).
- `measured`: cena zależy od przesłanych plików: długości wejściowego wideo lub audio, rozmiaru wejściowego obrazu,
  liczby klatek lub częstotliwości klatek wideo. Dotyczy to upscalerów, synchronizacji ruchu ust, wideo-do-wideo, transkrypcji i narzędzi audio.
  Przed uruchomieniem API odczytuje długość, rozdzielczość i liczbę klatek pliku (wycena robi to samo), więc wycena dokładnie odpowiada opłacie za uruchomienie. Strona modelu podaje, za co płacisz ("Cena za sekundę wejściowego wideo"), a kalkulator korzysta z danych pliku. Plik, którego nie można odczytać, jest odrzucany z `unmeasurable_input` i opłata nie jest pobierana.
- `estimate`: koszt modelu zależy od czegoś, czego dane wejściowe nie pozwalają z góry określić (tokenów, czasu obliczeń).
  Taki model pobiera stałą **szacowaną cenę za uruchomienie** (za wynikowy obraz, gdy określa liczbę obrazów), ustaloną na podstawie
  średniego kosztu rzeczywistych uruchomień tego modelu. Cenę nadal znasz przed uruchomieniem: wycena jest kwotą do zapłaty.
- `metered`: model jest **rozliczany według rzeczywistego wykorzystania**, znanego dopiero po uruchomieniu: tokenów odczytanych i zapisanych przez model językowy lub wizyjny, sekund mowy wygenerowanych przez model głosowy albo czasu przetwarzania modelu. Zobacz poniżej [Rozliczanie według wykorzystania](#metered).

Strony modeli zawierają „Cena za uruchomienie”, „Cena za sekundę wejściowego wideo” (i podobne), „Szacowana cena za uruchomienie” lub
„Rozliczanie według wykorzystania”; `GET https://api.doitong.com/v1/models?mode=measured`, `?mode=estimate` i `?mode=metered` wyświetlają ich listy.

## Rozliczanie według wykorzystania

Model `metered` ma cenę zależną od wykorzystania („$0.01 za 1000 tokenów”, „$0.002 za sekundę wygenerowanego audio”, „$0.00111 za
sekundę czasu przetwarzania”) oraz **maksimum za uruchomienie**: najwyższą kwotę, jaką może kosztować uruchomienie, wynikającą z treści żądania
(`max_tokens`, długości tekstu, rozdzielczości, liczby wyników) i opublikowanych limitów modelu. Nigdy nie zależy ona od zawartości pliku wskazanego URL-em. W przypadku modelu rozliczanego za czas przetwarzania lub długość sesji głosowej maksimum to najdłuższy czas działania żądania (15 minut dla obrazów, 30 dla audio, 60 dla wideo), więc znacznie przewyższa typowe uruchomienie. Dane wejściowe, dla których maksimum przekroczyłoby limit modelu na uruchomienie (bardzo długi tekst), są odrzucane z `422 invalid_input`:

1. Wycena zwraca to maksimum jako `credits` (wraz z `hold` i `typical`, czyli typowym uruchomieniem). Po rozpoczęciu uruchomienia maksimum jest pobierane z salda API i właśnie tę kwotę musi pokrywać saldo oraz budżet klucza.
2. Po pomyślnym zakończeniu uruchomienia żądanie jest rozliczane według wykorzystania zgłoszonego przez model: wykorzystanie × cena za wykorzystanie, zaokrąglone w górę do pełnego kredytu API. **Pozostała część maksimum jest automatycznie zwracana** jednorazowo jako wiersz `refund` salda API.
3. Uruchomienie nigdy nie kosztuje więcej niż jego maksimum, nawet jeśli wykorzystanie by to uzasadniało. Nieudane lub anulowane uruchomienie zawsze otrzymuje pełny zwrot.

Większość uruchomień kosztuje znacznie mniej niż maksimum; strona modelu pokazuje „Do $X za uruchomienie” dla danych wejściowych kreatora i typowego uruchomienia („od” w katalogu). W przypadku nielicznych modeli rozliczanych za czas przetwarzania wykorzystaniem jest czas przetwarzania modelu (oznaczony jako `approximate`).

```json 200 OK · wycena modelu metered
{
  "object": "quote",
  "credits": 621,
  "usd": "0.621",
  "mode": "metered",
  "label": "Charged by usage",
  "hold": { "credits": 621, "usd": "0.621" },
  "typical": { "credits": 10, "usd": "0.01" },
  "settlement": "usage",
  "display": "$0.01 / 1000 tokens",
  "breakdown": "up to 62.035 × 1000 tokens × $0.01"
}
```

Po uruchomieniu `cost` żądania pokazuje pobraną kwotę i kwotę wynikającą z wykorzystania:

```json
{
  "cost": { "credits": 621, "usd": "0.621", "charged": 621, "refunded": 611, "mode": "metered", "held": 621,
            "typical": 10, "settled": { "status": "settled", "credits": 10, "usd": "0.01", "quantity": 1,
            "unit": "1000_tokens", "unit_usd": "0.01", "source": "billed_usage", "approximate": false } }
}
```

`charged − refunded` to koszt uruchomienia. `settled.status` ma wartość `pending` przez chwilę między wynikiem a rozliczeniem, a `no_usage` w rzadkim przypadku, gdy model nie zgłosił żadnego wykorzystania (wtedy maksimum pozostaje ceną).

## Wycena przed uruchomieniem

`POST https://api.doitong.com/v1/quote/{model_id}` przyjmuje dokładnie treść, którą wysłasz do `run`, i zwraca cenę tych danych wejściowych: cenę dokładną,
z wyjątkiem modelu [rozliczanego według wykorzystania](#metered), dla którego jest to maksymalny koszt uruchomienia. Nie wymaga klucza i nic nie kosztuje:

```bash
curl -X POST "https://api.doitong.com/v1/quote/flux/schnell" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "A lighthouse at dusk", "num_images": 2}'
```

```json 200 OK · wycena
{
  "object": "quote",
  "model": "flux/schnell",
  "credits": 6,
  "usd": "0.006",
  "unit": "megapixel",
  "quantity": 2,
  "unit_credits": 3,
  "mode": "exact",
  "label": "Price per run",
  "display": "$0.003 / megapixel",
  "breakdown": "2 MP (2 images) × 3 API credits",
  "input": { "prompt": "A lighthouse at dusk", "num_images": 2 },
  "warnings": []
}
```

Z kluczem wycena zwraca również `balance_credits` i `balance_usd` (saldo API), `affordable` oraz `key_budget_remaining`. Dodaj `?currency=rub`, aby uzyskać kwotę `rub`.

> [!TIP]
> **Wycena jest opłatą.** Ta sama funkcja oblicza obie wartości, więc uruchomienie z tymi danymi wejściowymi kosztuje dokładnie `credits`.
> Wyjątkiem jest model [rozliczany według wykorzystania](#metered) (`mode: metered`): w tym przypadku `credits` to maksymalny koszt uruchomienia, pobierany przy jego rozpoczęciu, a niewykorzystana część jest zwracana po zakończeniu.

## Obiekty cen

Każda cena w API ma ten sam kształt:

- models: `price: { "credits": 112, "usd": "0.112", "unit": "second", "display": "$0.112 / second",
  "credits_display": "112 API credits / second", "from_credits": 560, "from_usd": "0.56", "mode": "exact" }` — oraz `rub`,
  `rub_display` i `from_rub` w Rosji lub z `?currency=rub`;
- requests: `cost: { "credits": 560, "usd": "0.56", "charged": 560, "refunded": 0 }` (kredyty API; żądanie `metered`
  dodaje `mode`, `held`, `typical` i `settled`, zobacz [Rozliczanie według wykorzystania](#metered));
- account: `GET https://api.doitong.com/v1/account` zwraca `credits` (saldo API), `balance: { "credits", "usd" }` oraz
  `storage` (cenę przestrzeni dyskowej, wykorzystanie i miesięczne oszacowanie).

## Zwroty

- Nieprawidłowe żądanie (dowolne `4xx` przed rozpoczęciem uruchomienia) nigdy nie jest obciążane.
- Żądanie kończące się statusem `failed` (w tym `timeout`) otrzymuje automatyczny pełny zwrot na saldo API.
- Żądanie anulowane przed rozpoczęciem otrzymuje pełny zwrot. Gdy model zacznie generowanie, anulowanie jest tylko żądaniem: jeśli model zakończy pracę, wynik zostanie dostarczony, a opłata pobrana.
- Pomyślne żądanie `metered` otrzymuje zwrot niewykorzystanej części maksimum.

Obiekt żądania pokazuje wszystko: `cost.credits`, `cost.charged` i `cost.refunded`.

## Przestrzeń dyskowa plików

Pliki wynikowe są przechowywane w naszej przestrzeni dyskowej. Wybierasz ją na koncie lub dla każdego uruchomienia (`?storage=`):

| | Przechowywanie | Cena |
|---|---|---|
| Bezterminowo (`permanent`, domyślny) | Do usunięcia przez Ciebie | 100 kredytów API (0,10 $) za GB miesięcznie |
| 7 dni (`temporary`) | 7 dni | Bezpłatnie |

Za przechowywanie bezterminowe opłata jest pobierana raz dziennie z salda API: przechowywane GB × cena miesięczna ÷ liczba dni w miesiącu, jako wiersze księgi rodzaju `storage`. Ułamki kredytu API są przenoszone na kolejny dzień, więc miesiąc daje dokładnie 100 kredytów API × GB (1 GB = 1024³ bajtów; 10 GB przechowywane przez miesiąc kosztuje 1000 kredytów API). Saldo nigdy nie spada poniżej zera: gdy nie można pobrać opłaty, ten dzień nie jest obciążany, otrzymasz wiadomość e-mail i masz 30 dni na doładowanie, zanim przechowywane pliki staną się tymczasowe i zostaną usunięte 7 dni później. Szczegóły: [Pliki](https://doitong.com/developers/docs/files#storage).

## Bieżące ceny

| Model | Identyfikator | Cena | Od |
|---|---|---|---|
| [FLUX.1 \[dev\]](https://doitong.com/developers/models/flux/dev) | `flux/dev` | 0,025 $ / megapiksel | 0,025 $ (25 kredytów API) |
| [FLUX.1 \[schnell\]](https://doitong.com/developers/models/flux/schnell) | `flux/schnell` | 0,003 $ / megapiksel | 0,003 $ (3 kredyty API) |
| [FLUX.2 \[dev\]](https://doitong.com/developers/models/flux-2) | `flux-2` | 0,012 $ / megapiksel | 0,012 $ (12 kredytów API) |
| [FLUX.2 \[pro\]](https://doitong.com/developers/models/flux-2-pro) | `flux-2-pro` | 0,015 $ / megapiksel obrazu wynikowego | 0,015 $ (15 kredytów API) |
| [GPT Image 2.5 Text to Image](https://doitong.com/developers/models/openai/gpt-image-2.5/flare/text-to-image) | `openai/gpt-image-2.5/flare/text-to-image` | od 0,008 $ / obraz | 0,008 $ (8 kredytów API) |
| [Ideogram V4.5](https://doitong.com/developers/models/ideogram/v4.5) | `ideogram/v4.5` | od 0,03 $ / obraz | 0,03 $ (30 kredytów API) |
| [Nano Banana 2](https://doitong.com/developers/models/nano-banana-2) | `nano-banana-2` | od 0,06 $ / obraz | 0,06 $ (60 kredytów API) |
| [Nano Banana Pro](https://doitong.com/developers/models/nano-banana-pro) | `nano-banana-pro` | od 0,15 $ / obraz | 0,15 $ (150 kredytów API) |
| [Qwen Image 3 Text to Image](https://doitong.com/developers/models/alibaba/qwen-image-3/text-to-image) | `alibaba/qwen-image-3/text-to-image` | od 0,04 $ / obraz | 0,04 $ (40 kredytów API) |
| [Recraft V4.1 Text to Image](https://doitong.com/developers/models/recraft/v4.1/text-to-image) | `recraft/v4.1/text-to-image` | 0,035 $ / obraz | 0,035 $ (35 kredytów API) |
| [Seedream 5.0 Pro Text to Image](https://doitong.com/developers/models/bytedance/seedream/v5/pro/text-to-image) | `bytedance/seedream/v5/pro/text-to-image` | od 0,068 $ | 0,068 $ (68 kredytów API) |
| [FLUX.1 Kontext \[pro\]](https://doitong.com/developers/models/flux-pro/kontext) | `flux-pro/kontext` | 0,04 $ / obraz | 0,04 $ (40 kredytów API) |
| [Nano Banana 2 Edit](https://doitong.com/developers/models/nano-banana-2/edit) | `nano-banana-2/edit` | od 0,06 $ / obraz | 0,06 $ (60 kredytów API) |
| [Nano Banana Pro Edit](https://doitong.com/developers/models/nano-banana-pro/edit) | `nano-banana-pro/edit` | od 0,15 $ / obraz | 0,15 $ (150 kredytów API) |
| [Qwen Image 3 Edit](https://doitong.com/developers/models/alibaba/qwen-image-3/edit) | `alibaba/qwen-image-3/edit` | od 0,04 $ / obraz | 0,04 $ (40 kredytów API) |
| [FLUX 3 Max Text to Video](https://doitong.com/developers/models/blackforestlabs/flux-3-max/text-to-video) | `blackforestlabs/flux-3-max/text-to-video` | od 0,0425 $ / sekundę wideo wynikowego | 0,043 $ (43 kredyty API) |
| [Grok Imagine Video 1.5 Text to Video](https://doitong.com/developers/models/xai/grok-imagine-video/v1.5/text-to-video) | `xai/grok-imagine-video/v1.5/text-to-video` | od 0,08 $ / sekunda | 0,48 $ (480 kredytów API) |
| [Kling 3.0 Pro Text to Video](https://doitong.com/developers/models/kling-video/v3/pro/text-to-video) | `kling-video/v3/pro/text-to-video` | od 0,112 $ / sekunda | 0,56 $ (560 kredytów API) |
| [LTX 2.5 Pro Text to Video](https://doitong.com/developers/models/lightricks/ltx-2.5/text-to-video/pro) | `lightricks/ltx-2.5/text-to-video/pro` | od 0,12 $ / sekunda | 0,72 $ (720 kredytów API) |
| [MiniMax H3 Text to Video](https://doitong.com/developers/models/minimax/h3/text-to-video) | `minimax/h3/text-to-video` | od 0,05 $ / sekunda | 0,25 $ (250 kredytów API) |
| [Seedance 2.0 Fast Text to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/fast/text-to-video) | `bytedance/seedance-2.0/fast/text-to-video` | od 0,113 $ / sekunda | 0,452 $ (452 kredyty API) |
| [Seedance 2.0 Text to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/text-to-video) | `bytedance/seedance-2.0/text-to-video` | od 0,141 $ / sekunda | 0,564 $ (564 kredyty API) |
| [Veo 3.1](https://doitong.com/developers/models/veo3.1) | `veo3.1` | od 0,20 $ / sekunda | 1,60 $ (1600 kredytów API) |
| [Veo 3.1 Fast](https://doitong.com/developers/models/veo3.1/fast) | `veo3.1/fast` | od 0,10 $ / sekunda | 0,80 $ (800 kredytów API) |
| [Wan 3.0 Text to Video](https://doitong.com/developers/models/alibaba/wan-3.0/text-to-video) | `alibaba/wan-3.0/text-to-video` | od 0,05 $ / sekunda | 0,25 $ (250 kredytów API) |
| [FLUX 3 Max Image to Video](https://doitong.com/developers/models/blackforestlabs/flux-3-max/image-to-video) | `blackforestlabs/flux-3-max/image-to-video` | od 0,0425 $ / sekundę wideo wynikowego | 0,043 $ (43 kredyty API) |
| [Grok Imagine Video 1.5 Image to Video](https://doitong.com/developers/models/xai/grok-imagine-video/v1.5/image-to-video) | `xai/grok-imagine-video/v1.5/image-to-video` | od 0,082 $ / sekunda | 0,492 $ (492 kredyty API) |
| [Kling 3.0 Pro Image to Video](https://doitong.com/developers/models/kling-video/v3/pro/image-to-video) | `kling-video/v3/pro/image-to-video` | od 0,112 $ / sekunda | 0,56 $ (560 kredytów API) |
| [LTX 2.5 Pro Image to Video](https://doitong.com/developers/models/lightricks/ltx-2.5/image-to-video/pro) | `lightricks/ltx-2.5/image-to-video/pro` | od 0,12 $ / sekunda | 0,72 $ (720 kredytów API) |
| [MiniMax H3 Image to Video](https://doitong.com/developers/models/minimax/h3/image-to-video) | `minimax/h3/image-to-video` | od 0,05 $ / sekunda | 0,25 $ (250 kredytów API) |
| [Seedance 2.0 Fast Image to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/fast/image-to-video) | `bytedance/seedance-2.0/fast/image-to-video` | od 0,113 $ / sekunda | 0,452 $ (452 kredyty API) |
| [Seedance 2.0 Image to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/image-to-video) | `bytedance/seedance-2.0/image-to-video` | od 0,141 $ / sekunda | 0,564 $ (564 kredyty API) |
| [Veo 3.1 Fast Image to Video](https://doitong.com/developers/models/veo3.1/fast/image-to-video) | `veo3.1/fast/image-to-video` | od 0,10 $ / sekunda | 0,80 $ (800 kredytów API) |
| [Veo 3.1 Image to Video](https://doitong.com/developers/models/veo3.1/image-to-video) | `veo3.1/image-to-video` | od 0,20 $ / sekunda | 1,60 $ (1600 kredytów API) |
| [Wan 3.0 Image to Video](https://doitong.com/developers/models/alibaba/wan-3.0/image-to-video) | `alibaba/wan-3.0/image-to-video` | od 0,05 $ / sekunda | 0,25 $ (250 kredytów API) |
| [Seedance 2.0 Fast Reference to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/fast/reference-to-video) | `bytedance/seedance-2.0/fast/reference-to-video` | od 0,113 $ / sekunda | 0,452 $ (452 kredyty API) |
| [Seedance 2.0 Reference to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/reference-to-video) | `bytedance/seedance-2.0/reference-to-video` | od 0,141 $ / sekunda | 0,564 $ (564 kredyty API) |
| [Kling AI Avatar 2.0 Pro](https://doitong.com/developers/models/kling-video/ai-avatar/v2/pro) | `kling-video/ai-avatar/v2/pro` | 0,115 $ / sekundę audio wejściowego | 0,115 $ (115 kredytów API) |
| [Sync Lipsync 3](https://doitong.com/developers/models/sync-lipsync/v3) | `sync-lipsync/v3` | 8,00 $ / minutę wideo wynikowego | 8,00 $ (8000 kredytów API) |
| [VEED Fabric 1.0](https://doitong.com/developers/models/veed/fabric-1.0) | `veed/fabric-1.0` | od 0,08 $ / sekundę audio wejściowego | 0,08 $ (80 kredytów API) |
| [Topaz Image Upscale](https://doitong.com/developers/models/topaz/upscale/image/precision) | `topaz/upscale/image/precision` | 0,08 $ / 24 megapiksele obrazu wynikowego | 0,08 $ (80 kredytów API) |
| [Topaz Video Upscale](https://doitong.com/developers/models/topaz/upscale/video/precision) | `topaz/upscale/video/precision` | od 0,00667 $ / sekundę wideo wejściowego | 0,10 $ (100 kredytów API) |
| [Bria RMBG 2.0](https://doitong.com/developers/models/bria/background/remove) | `bria/background/remove` | od 0,018 $ | 0,018 $ (18 kredytów API) |
| [Eleven v4 Text to Speech](https://doitong.com/developers/models/elevenlabs/tts/eleven-v4) | `elevenlabs/tts/eleven-v4` | 0,08 $ / 1000 znaków | 0,08 $ (80 kredytów API) |
| [MiniMax Speech 2.8 HD](https://doitong.com/developers/models/minimax/speech-2.8-hd) | `minimax/speech-2.8-hd` | 0,10 $ / 1000 znaków | 0,10 $ (100 kredytów API) |
| [MiniMax Music 3](https://doitong.com/developers/models/minimax/music-3) | `minimax/music-3` | 0,002 $ / sekunda | 0,12 $ (120 kredytów API) |
| [MMAudio V2](https://doitong.com/developers/models/mmaudio-v2) | `mmaudio-v2` | 0,001 $ / sekunda | 0,008 $ (8 kredytów API) |

To wyróżnione modele. Wszystkie 1496 modeli i ich ceny znajdują się w [katalogu modeli](https://doitong.com/developers/models) oraz w `GET /models` (klucz nie jest wymagany).

## Doładowanie

Dodaj środki do salda API pod adresem [https://doitong.com/developers/dashboard#balance](https://doitong.com/developers/dashboard#balance). Gdy saldo jest zbyt niskie, uruchomienie zwraca
`402 insufficient_credits` z `top_up_url`. Każdy klucz API można również ograniczyć własnym budżetem w kredytach API
(zobacz [Uwierzytelnianie](https://doitong.com/developers/docs/authentication#credit-budgets)).
