# Cijene

Svaki model košta točno onoliko koliko njegov proizvođač naplaćuje za njega, u američkim dolarima. Plaćate iz svog **API stanja**,
koje se računa u **API kreditima**: **1.000 API kredita = 1 $**. API stanje zasebno je stanje, odvojeno od kredita aplikacija Doitong. Nema planova, minimalnih iznosa ni naknada po modelu: poziv košta svoju cijenu, koja se tereti iz API stanja kad se zahtjev prihvati.

U Rusiji (doitong.ru, api.doitong.ru ili `?currency=rub`) cijene se prikazuju i u rubljima: cijena u USD ×
tečaj USD/RUB × 1,3.

## Jedinice

Svaki model ima jednu obračunsku jedinicu, prikazanu na njegovoj stranici i u `GET https://api.doitong.com/v1/models/{model_id}`:

| Jedinica | Količina |
|---|---|
| `second` | Sekunde izlaznog videa ili audija (`duration`) |
| `image` | Generirane slike (`num_images`) |
| `megapixel` | Širina × visina izlaza u megapikselima (1 MP = 1024 × 1024 piksela) |
| `video` | Jedan generirani video |
| `request` | Jedan poziv |
| `1000_characters` | Znakovi ulaznog teksta, po 1000 |
| `step` | Koraci treniranja |

Cijena = količina × API krediti po jedinici, zaokruženo naviše na cijeli API kredit (0,001 $), nikad manje od 1. Vrlo jeftine
jedinice mogu imati razlomljenu cijenu po jedinici (`0.4` API kredita po sekundi); zaokružuje se samo ukupni iznos poziva.

Neki modeli naplaćuju različitu cijenu ovisno o ulazu: video sa zvukom košta više nego onaj bez zvuka, 4K košta više
nego 1K i tako dalje. Ta su **pravila** navedena na stranici svakog modela. Parametar koji izostavite računa se kao njegova zadana
vrijednost, pa je cijena koju vidite za ulaz ujedno cijena koju plaćate.

## Točne, izmjerene, procijenjene cijene i cijene prema potrošnji

Svaka cijena ima `mode`:

- `exact`: cijena se računa iz vašeg ulaza (sekunde, slike, megapikseli, znakovi, koraci ili jedna fiksna
  cijena po videu ili pozivu).
- `measured`: cijena ovisi o datotekama koje šaljete: duljini ulaznog videa ili audija, veličini ulazne
  slike, brzini sličica ili broju sličica videa. Povećavanje razlučivosti, sinkronizacija usana, video-u-video, transkripcija i audioalati
  naplaćuju se na ovaj način. Prije pokretanja API očitava duljinu, razlučivost i brzinu sličica datoteke (isto čini i ponuda),
  pa je ponuda točno ono što pokretanje naplaćuje. Stranica modela navodi za što plaćate ("Cijena po sekundi vašeg
  ulaznog videa"), a kalkulator upotrebljava brojeve vaše datoteke. Datoteka koja se ne može pročitati odbija se uz
  `unmeasurable_input` i ništa se ne naplaćuje.
- `estimate`: vlastiti trošak modela ovisi o nečemu što se iz ulaza ne može unaprijed saznati (tokeni, vrijeme izračuna).
  Takav model naplaćuje fiksnu **procijenjenu cijenu po pokretanju** (po izlaznoj slici kada ima broj slika), određenu na temelju
  prosječnog troška stvarnih pokretanja tog modela. Cijenu i dalje znate prije pokretanja: ponuda je ono što plaćate.
- `metered`: model se **naplaćuje prema stvarnoj potrošnji**, koju zna samo samo pokretanje: tokeni koje jezični ili
  vizijski model čita i zapisuje, sekunde govora koje glasovni model generira ili vrijeme obrade modela.
  Pogledajte [Naplaćivanje prema potrošnji](#metered) u nastavku.

Stranice modela navode "Cijena po pokretanju", "Cijena po sekundi vašeg ulaznog videa" (i slično), "Procijenjena cijena po pokretanju" ili
"Naplaćivanje prema potrošnji"; `GET https://api.doitong.com/v1/models?mode=measured`, `?mode=estimate` i `?mode=metered` navode ih.

## Naplaćivanje prema potrošnji

Model `metered` ima cijenu prema potrošnji ("$0.01 po 1000 tokena", "$0.002 po sekundi generiranog audija", "$0.00111 po
sekundi vremena obrade") i **maksimum po pokretanju**: najviše što pokretanje može koštati, na temelju onoga što vaš zahtjev navodi
(`max_tokens`, duljina vašeg teksta, razlučivost, broj izlaza) i objavljenih ograničenja modela. To nikad ne ovisi o sadržaju datoteke iza URL-a. Za model koji se naplaćuje prema vremenu obrade ili duljini glasovne
sesije, maksimum je najdulje trajanje zahtjeva (15 minuta za slike, 30 za audio, 60 za video), pa je daleko veći od tipičnog pokretanja. Ulaz čiji bi maksimum bio iznad ograničenja modela po pokretanju (vrlo dug tekst) odbija se uz
`422 invalid_input`:

1. Ponuda vraća taj maksimum kao `credits` (s vrijednostima `hold` i `typical`, uobičajenim pokretanjem). Kad pokretanje započne, maksimum se tereti iz API stanja i to je iznos koji moraju pokriti stanje i proračun vašeg ključa.
2. Kad pokretanje uspije, zahtjev se poravnava prema potrošnji koju model za njega prijavi: potrošnja × cijena prema potrošnji,
   zaokruženo naviše na cijeli API kredit. **Ostatak maksimuma automatski se vraća**, jednom, kao redak `refund` u vašem API stanju.
3. Pokretanje nikad ne košta više od svog maksimuma, čak i ako bi njegova potrošnja bila veća. Neuspjelo ili otkazano pokretanje vraća se u cijelosti, kao i uvijek.

Većina pokretanja košta znatno manje od maksimuma; stranica modela prikazuje "Do $X po pokretanju" za ulaz alata za izradu i tipično pokretanje ("from" u katalogu). Za nekoliko modela koji se naplaćuju prema vremenu obrade, potrošnja je vrijeme obrade modela (označeno kao
`approximate`).

```json 200 OK · ponuda modela s naplatom prema potrošnji
{
  "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"
}
```

Nakon pokretanja, `cost` zahtjeva prikazuje koliko je zadržano i kolika je bila potrošnja:

```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` iznos je koji je pokretanje koštalo. `settled.status` je `pending` u razdoblju između rezultata i
poravnanja, a `no_usage` u rijetkom slučaju kada model uopće nije prijavio potrošnju (tada maksimum ostaje cijena).

## Ponuda prije pokretanja

`POST https://api.doitong.com/v1/quote/{model_id}` prihvaća točno tijelo koje biste poslali u `run` i vraća cijenu tog
ulaza: točnu cijenu, osim za model [koji se naplaćuje prema potrošnji](#metered), za koji je to najveći iznos koji pokretanje može koštati. Ne treba ključ i ništa ne košta:

```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 · ponuda
{
  "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": []
}
```

S ključem ponuda vraća i `balance_credits` i `balance_usd` (vaše API stanje), `affordable` i
`key_budget_remaining`. Dodajte `?currency=rub` za iznos u `rub`.

> [!TIP]
> **Ponuda je naplata.** Ista funkcija računa oboje, pa pokretanje s ovim ulazom košta točno `credits`.
> Jedina je iznimka model [koji se naplaćuje prema potrošnji](#metered) (`mode: metered`): ondje je `credits` najveći iznos koji pokretanje može
> koštati, tereti se pri početku, a neiskorišteni dio vraća se nakon pokretanja.

## Objekti cijena

Svaka cijena u API-ju ima isti oblik:

- 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" }` — uz `rub`,
  `rub_display` i `from_rub` u Rusiji ili uz `?currency=rub`;
- requests: `cost: { "credits": 560, "usd": "0.56", "charged": 560, "refunded": 0 }` (API krediti; zahtjev s naplatom prema potrošnji
  dodaje `mode`, `held`, `typical` i `settled`, pogledajte [Naplaćivanje prema potrošnji](#metered));
- account: `GET https://api.doitong.com/v1/account` vraća `credits` (API stanje), `balance: { "credits", "usd" }` i
  `storage` (cijenu pohrane datoteka, potrošnju i mjesečnu procjenu).

## Povrati

- Nevaljani zahtjev (bilo koji `4xx` prije početka pokretanja) nikad se ne naplaćuje.
- Zahtjev koji završi u stanju `failed` (uključujući `timeout`) automatski se u cijelosti vraća u API stanje.
- Zahtjev koji otkažete prije početka vraća se u cijelosti. Kad model počne generirati, otkazivanje je samo zahtjev: ako model završi, rezultat se isporučuje i naplaćuje.
- Uspješan zahtjev `metered` vraća dio maksimuma koji nije iskorišten.

Objekt zahtjeva prikazuje sve: `cost.credits`, `cost.charged` i `cost.refunded`.

## Pohrana datoteka

Izlazne datoteke čuvaju se u našoj pohrani. Odabirete u računu ili po pokretanju (`?storage=`):

| | Čuva se | Cijena |
|---|---|---|
| Zauvijek (`permanent`, zadano) | Dok ih ne izbrišete | 100 API kredita (0,10 $) po GB mjesečno |
| 7 dana (`temporary`) | 7 dana | Besplatno |

Trajna pohrana naplaćuje se jednom dnevno iz API stanja: spremljeni GB × mjesečna cijena ÷ broj dana u mjesecu, kao
retci knjige vrste `storage`. Razlomci API kredita prenose se u sljedeći dan, pa mjesec ukupno iznosi točno
GB × 100 API kredita (1 GB = 1024³ bajtova; 10 GB pohranjenih mjesec dana košta
1.000 API kredita). Stanje nikad ne pada ispod nule: kada se ne može naplatiti, taj se dan ne naplaćuje,
dobivate e-poruku i imate 30 dana za nadoplatu prije nego što spremljene datoteke postanu privremene i
budu izbrisane 7 dana kasnije. Pojedinosti: [Datoteke](https://doitong.com/developers/docs/files#storage).

## Trenutačne cijene

| Model | ID | Cijena | Od |
|---|---|---|---|
| [FLUX.1 \[dev\]](https://doitong.com/developers/models/flux/dev) | `flux/dev` | 0,025 $ / megapiksel | 0,025 $ (25 API kredita) |
| [FLUX.1 \[schnell\]](https://doitong.com/developers/models/flux/schnell) | `flux/schnell` | 0,003 $ / megapiksel | 0,003 $ (3 API kredita) |
| [FLUX.2 \[dev\]](https://doitong.com/developers/models/flux-2) | `flux-2` | 0,012 $ / megapiksel | 0,012 $ (12 API kredita) |
| [FLUX.2 \[pro\]](https://doitong.com/developers/models/flux-2-pro) | `flux-2-pro` | 0,015 $ / megapiksel izlazne slike | 0,015 $ (15 API kredita) |
| [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 $ / slika | 0,008 $ (8 API kredita) |
| [Ideogram V4.5](https://doitong.com/developers/models/ideogram/v4.5) | `ideogram/v4.5` | od 0,03 $ / slika | 0,03 $ (30 API kredita) |
| [Nano Banana 2](https://doitong.com/developers/models/nano-banana-2) | `nano-banana-2` | od 0,06 $ / slika | 0,06 $ (60 API kredita) |
| [Nano Banana Pro](https://doitong.com/developers/models/nano-banana-pro) | `nano-banana-pro` | od 0,15 $ / slika | 0,15 $ (150 API kredita) |
| [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 $ / slika | 0,04 $ (40 API kredita) |
| [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 $ / slika | 0,035 $ (35 API kredita) |
| [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 API kredita) |
| [FLUX.1 Kontext \[pro\]](https://doitong.com/developers/models/flux-pro/kontext) | `flux-pro/kontext` | 0,04 $ / slika | 0,04 $ (40 API kredita) |
| [Nano Banana 2 Edit](https://doitong.com/developers/models/nano-banana-2/edit) | `nano-banana-2/edit` | od 0,06 $ / slika | 0,06 $ (60 API kredita) |
| [Nano Banana Pro Edit](https://doitong.com/developers/models/nano-banana-pro/edit) | `nano-banana-pro/edit` | od 0,15 $ / slika | 0,15 $ (150 API kredita) |
| [Qwen Image 3 Edit](https://doitong.com/developers/models/alibaba/qwen-image-3/edit) | `alibaba/qwen-image-3/edit` | od 0,04 $ / slika | 0,04 $ (40 API kredita) |
| [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 $ / sekunda izlaznog videa | 0,043 $ (43 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [Veo 3.1](https://doitong.com/developers/models/veo3.1) | `veo3.1` | od 0,20 $ / sekunda | 1,60 $ (1.600 API kredita) |
| [Veo 3.1 Fast](https://doitong.com/developers/models/veo3.1/fast) | `veo3.1/fast` | od 0,10 $ / sekunda | 0,80 $ (800 API kredita) |
| [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 API kredita) |
| [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 $ / sekunda izlaznog videa | 0,043 $ (43 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 $ (1.600 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 API kredita) |
| [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 $ / sekunda ulaznog audija | 0,115 $ (115 API kredita) |
| [Sync Lipsync 3](https://doitong.com/developers/models/sync-lipsync/v3) | `sync-lipsync/v3` | 8,00 $ / minuta izlaznog videa | 8,00 $ (8.000 API kredita) |
| [VEED Fabric 1.0](https://doitong.com/developers/models/veed/fabric-1.0) | `veed/fabric-1.0` | od 0,08 $ / sekunda ulaznog audija | 0,08 $ (80 API kredita) |
| [Topaz Image Upscale](https://doitong.com/developers/models/topaz/upscale/image/precision) | `topaz/upscale/image/precision` | 0,08 $ / 24 megapiksela izlazne slike | 0,08 $ (80 API kredita) |
| [Topaz Video Upscale](https://doitong.com/developers/models/topaz/upscale/video/precision) | `topaz/upscale/video/precision` | od 0,00667 $ / sekunda ulaznog videa | 0,10 $ (100 API kredita) |
| [Bria RMBG 2.0](https://doitong.com/developers/models/bria/background/remove) | `bria/background/remove` | od 0,018 $ | 0,018 $ (18 API kredita) |
| [Eleven v4 Text to Speech](https://doitong.com/developers/models/elevenlabs/tts/eleven-v4) | `elevenlabs/tts/eleven-v4` | 0,08 $ / 1000 znakova | 0,08 $ (80 API kredita) |
| [MiniMax Speech 2.8 HD](https://doitong.com/developers/models/minimax/speech-2.8-hd) | `minimax/speech-2.8-hd` | 0,10 $ / 1000 znakova | 0,10 $ (100 API kredita) |
| [MiniMax Music 3](https://doitong.com/developers/models/minimax/music-3) | `minimax/music-3` | 0,002 $ / sekunda | 0,12 $ (120 API kredita) |
| [MMAudio V2](https://doitong.com/developers/models/mmaudio-v2) | `mmaudio-v2` | 0,001 $ / sekunda | 0,008 $ (8 API kredita) |

Ovo su istaknuti modeli. Svih 1.496 modela i njihove cijene nalaze se u [katalogu modela](https://doitong.com/developers/models) i u `GET /models` (ključ nije potreban).

## Nadoplata

Dodajte novac u API stanje na [https://doitong.com/developers/dashboard#balance](https://doitong.com/developers/dashboard#balance). Kad je stanje prenisko, pokretanje odgovara
`402 insufficient_credits` s vrijednošću `top_up_url`. Svaki API ključ može imati i vlastiti proračun u API kreditima
(pogledajte [Autentifikacija](https://doitong.com/developers/docs/authentication#credit-budgets)).
