# Harga

Setiap model memiliki biaya persis seperti yang ditetapkan pembuatnya, dalam dolar AS. Anda membayar dari **saldo API**,
yang dihitung dalam **kredit API**: **1.000 kredit API = $1**. Saldo API berdiri sendiri, terpisah dari kredit aplikasi Doitong.
Tidak ada paket, minimum, atau biaya per model: panggilan dikenai harganya, yang dipotong dari saldo API saat permintaan diterima.

Di Rusia (doitong.ru, api.doitong.ru, atau `?currency=rub`) harga juga ditampilkan dalam rubel: harga USD ×
kurs USD/RUB × 1,3.

## Satuan

Setiap model memiliki satu satuan penagihan, yang ditampilkan di halamannya dan di `GET https://api.doitong.com/v1/models/{model_id}`:

| Satuan | Jumlah |
|---|---|
| `second` | Detik video atau audio output (`duration`) |
| `image` | Gambar yang dihasilkan (`num_images`) |
| `megapixel` | Lebar × tinggi output, dalam megapiksel (1 MP = 1024 × 1024 piksel) |
| `video` | Satu video yang dihasilkan |
| `request` | Satu panggilan |
| `1000_characters` | Karakter teks input, per 1000 |
| `step` | Langkah pelatihan |

Harga = jumlah × kredit API per satuan, dibulatkan ke atas menjadi kredit API bulat ($0,001), dan tidak pernah kurang dari 1.
Satuan yang sangat murah dapat memiliki harga pecahan per satuan (`0.4` kredit API per detik); hanya total panggilan yang dibulatkan.

Beberapa model mengenakan tarif berbeda bergantung pada input: video dengan suara lebih mahal daripada tanpa suara, 4K lebih mahal
daripada 1K, dan seterusnya. **Aturan** ini tercantum di setiap halaman model. Parameter yang tidak Anda isi dihitung sebagai nilai
bawaannya, sehingga harga yang Anda lihat untuk suatu input adalah harga yang Anda bayar.

## Harga pasti, terukur, estimasi, dan berdasarkan penggunaan

Setiap harga memiliki `mode`:

- `exact`: harga dihitung dari input Anda (detik, gambar, megapiksel, karakter, langkah, atau satu harga tetap per video atau panggilan).
- `measured`: harga mengikuti file yang Anda kirim: durasi video atau audio input, ukuran gambar input, laju bingkai atau jumlah bingkai video.
  Upscaler, sinkronisasi bibir, video-ke-video, transkripsi, dan tool audio dihargai dengan cara ini. Sebelum dijalankan, API membaca durasi,
  resolusi, dan laju bingkai file (kuotasi juga melakukan hal yang sama), sehingga kuotasi persis sama dengan biaya proses. Halaman model
  menjelaskan biaya yang berlaku ("Harga per detik video input Anda") dan kalkulatornya menggunakan angka dari file Anda. File yang tidak dapat
  dibaca ditolak dengan `unmeasurable_input` dan tidak ada biaya.
- `estimate`: biaya model bergantung pada sesuatu yang tidak dapat diketahui input sebelumnya (token, waktu komputasi). Model tersebut mengenakan
  **harga estimasi tetap per proses** (per gambar output jika memiliki jumlah gambar), yang ditetapkan berdasarkan biaya rata-rata proses nyata model
  tersebut. Anda tetap mengetahui harganya sebelum menjalankan: kuotasi adalah harga yang Anda bayar.
- `metered`: model **ditagih berdasarkan penggunaan aktual**, yang hanya diketahui oleh proses itu sendiri: token yang dibaca dan ditulis model bahasa
  atau visi, detik ucapan yang dihasilkan model suara, atau waktu pemrosesan model. Lihat [Ditagih berdasarkan penggunaan](#metered) di bawah.

Halaman model menampilkan "Harga per proses", "Harga per detik video input Anda" (dan sejenisnya), "Harga estimasi per proses", atau "Ditagih berdasarkan penggunaan";
`GET https://api.doitong.com/v1/models?mode=measured`, `?mode=estimate` dan `?mode=metered` menampilkannya.

## Ditagih berdasarkan penggunaan

Model `metered` memiliki harga penggunaan ("$0.01 per 1000 token", "$0.002 per detik audio yang dihasilkan", "$0.00111 per
detik waktu pemrosesan") dan **maksimum per proses**: biaya terbesar yang mungkin dikenakan proses, berdasarkan isi permintaan Anda
(`max_tokens`, panjang teks, resolusi, jumlah output) dan batas model yang dipublikasikan. Biaya ini tidak pernah bergantung pada isi file di balik URL.
Untuk model yang ditagih berdasarkan waktu pemrosesan atau durasi sesi suara, maksimum adalah durasi terlama permintaan dapat berjalan (15 menit untuk gambar,
30 untuk audio, 60 untuk video), sehingga jauh di atas proses biasa. Input yang maksimum biayanya melebihi batas per proses model (teks yang sangat panjang)
ditolak dengan `422 invalid_input`:

1. Kuotasi mengembalikan maksimum tersebut sebagai `credits` (dengan `hold` dan `typical`, yaitu proses biasa). Saat proses dimulai, maksimum dipotong dari saldo API,
   dan saldo serta anggaran kunci Anda harus mencukupinya.
2. Saat proses berhasil, permintaan diselesaikan sesuai penggunaan yang dilaporkan model: penggunaan × harga penggunaan, dibulatkan ke atas menjadi kredit API bulat.
   **Sisa maksimum otomatis dikembalikan**, satu kali, sebagai baris `refund` pada saldo API.
3. Proses tidak pernah berbiaya lebih dari maksimumnya. Proses yang gagal atau dibatalkan selalu menerima pengembalian dana penuh.

Sebagian besar proses berbiaya jauh lebih rendah daripada maksimum; halaman model menampilkan "Hingga $X per proses" untuk input builder dan proses biasa ("dari" dalam katalog).
Untuk beberapa model yang ditagih berdasarkan waktu pemrosesan, penggunaan adalah waktu pemrosesan model (ditandai `approximate`).

```json 200 OK · kuotasi model 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"
}
```

Setelah proses, `cost` pada permintaan menunjukkan jumlah yang ditahan dan penggunaan aktual:

```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` adalah biaya proses. `settled.status` bernilai `pending` selama jeda antara hasil dan penyelesaian, dan `no_usage` dalam kasus jarang ketika model tidak melaporkan penggunaan sama sekali (saat itu maksimum menjadi harga).

## Kuotasi sebelum menjalankan

`POST https://api.doitong.com/v1/quote/{model_id}` menerima body yang sama persis dengan yang akan Anda kirim ke `run` dan mengembalikan harga input tersebut: harga pasti,
kecuali untuk model yang [ditagih berdasarkan penggunaan](#metered), yang mengembalikan biaya maksimum proses. Endpoint ini tidak memerlukan kunci dan tidak berbiaya:

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

Dengan kunci, kuotasi juga mengembalikan `balance_credits` dan `balance_usd` (saldo API Anda), `affordable` dan `key_budget_remaining`. Tambahkan `?currency=rub` untuk jumlah `rub`.

> [!TIP]
> **Kuotasi adalah biaya.** Fungsi yang sama menghitung keduanya, sehingga proses dengan input ini berbiaya persis `credits`.
> Satu-satunya pengecualian adalah model yang [ditagih berdasarkan penggunaan](#metered) (`mode: metered`): di sana `credits` adalah biaya maksimum proses,
> yang dipotong saat dimulai, dan bagian yang tidak digunakan dikembalikan setelah proses.

## Objek harga

Setiap harga di API memiliki bentuk yang sama:

- 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" }` — ditambah `rub`,
  `rub_display` dan `from_rub` di Rusia atau dengan `?currency=rub`;
- requests: `cost: { "credits": 560, "usd": "0.56", "charged": 560, "refunded": 0 }` (kredit API; permintaan metered
  menambahkan `mode`, `held`, `typical` dan `settled`, lihat [Ditagih berdasarkan penggunaan](#metered));
- account: `GET https://api.doitong.com/v1/account` mengembalikan `credits` (saldo API), `balance: { "credits", "usd" }` dan
  `storage` (harga penyimpanan file, penggunaan, dan estimasi bulanan).

## Pengembalian dana

- Permintaan tidak valid (setiap `4xx` sebelum proses dimulai) tidak pernah dikenai biaya.
- Permintaan yang berakhir `failed` (termasuk `timeout`) menerima pengembalian dana penuh ke saldo API secara otomatis.
- Permintaan yang Anda batalkan sebelum dimulai menerima pengembalian dana penuh. Setelah model mulai menghasilkan, pembatalan hanya menjadi
  permintaan: jika model selesai, hasil dikirim dan dikenai biaya.
- Permintaan `metered` yang berhasil mendapatkan kembali bagian maksimum yang tidak digunakan.

Objek permintaan menampilkan semuanya: `cost.credits`, `cost.charged` dan `cost.refunded`.

## Penyimpanan file

File output disimpan di penyimpanan kami. Anda dapat memilihnya di akun atau per proses (`?storage=`):

| | Disimpan | Harga |
|---|---|---|
| Selamanya (`permanent`, bawaan) | Sampai Anda menghapusnya | 100 kredit API ($0,10) per GB per bulan |
| 7 hari (`temporary`) | 7 hari | Gratis |

Penyimpanan permanen dikenai biaya sekali sehari dari saldo API: GB yang disimpan × harga bulanan ÷ jumlah hari dalam bulan, sebagai baris ledger dengan jenis `storage`.
Pecahan kredit API dibawa ke hari berikutnya, sehingga total sebulan tepat sebesar GB × 100 kredit API (1 GB = 1024³ byte; 10 GB yang disimpan selama sebulan berbiaya
1.000 kredit API). Saldo tidak pernah kurang dari nol: jika tidak dapat membayar, hari tersebut tidak dikenai biaya, Anda menerima email, dan memiliki 30 hari untuk isi ulang sebelum file yang disimpan menjadi sementara dan dihapus 7 hari kemudian. Detail: [File](https://doitong.com/developers/docs/files#storage).

## Harga saat ini

| Model | ID | Harga | Mulai dari |
|---|---|---|---|
| [FLUX.1 \[dev\]](https://doitong.com/developers/models/flux/dev) | `flux/dev` | $0,025 / megapiksel | $0,025 (25 kredit API) |
| [FLUX.1 \[schnell\]](https://doitong.com/developers/models/flux/schnell) | `flux/schnell` | $0,003 / megapiksel | $0,003 (3 kredit API) |
| [FLUX.2 \[dev\]](https://doitong.com/developers/models/flux-2) | `flux-2` | $0,012 / megapiksel | $0,012 (12 kredit API) |
| [FLUX.2 \[pro\]](https://doitong.com/developers/models/flux-2-pro) | `flux-2-pro` | $0,015 / megapiksel gambar output | $0,015 (15 kredit 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` | mulai dari $0,008 / gambar | $0,008 (8 kredit API) |
| [Ideogram V4.5](https://doitong.com/developers/models/ideogram/v4.5) | `ideogram/v4.5` | mulai dari $0,03 / gambar | $0,03 (30 kredit API) |
| [Nano Banana 2](https://doitong.com/developers/models/nano-banana-2) | `nano-banana-2` | mulai dari $0,06 / gambar | $0,06 (60 kredit API) |
| [Nano Banana Pro](https://doitong.com/developers/models/nano-banana-pro) | `nano-banana-pro` | mulai dari $0,15 / gambar | $0,15 (150 kredit 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` | mulai dari $0,04 / gambar | $0,04 (40 kredit 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 / gambar | $0,035 (35 kredit 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` | mulai dari $0,068 | $0,068 (68 kredit API) |
| [FLUX.1 Kontext \[pro\]](https://doitong.com/developers/models/flux-pro/kontext) | `flux-pro/kontext` | $0,04 / gambar | $0,04 (40 kredit API) |
| [Nano Banana 2 Edit](https://doitong.com/developers/models/nano-banana-2/edit) | `nano-banana-2/edit` | mulai dari $0,06 / gambar | $0,06 (60 kredit API) |
| [Nano Banana Pro Edit](https://doitong.com/developers/models/nano-banana-pro/edit) | `nano-banana-pro/edit` | mulai dari $0,15 / gambar | $0,15 (150 kredit API) |
| [Qwen Image 3 Edit](https://doitong.com/developers/models/alibaba/qwen-image-3/edit) | `alibaba/qwen-image-3/edit` | mulai dari $0,04 / gambar | $0,04 (40 kredit 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` | mulai dari $0,0425 / detik video output | $0,043 (43 kredit 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` | mulai dari $0,08 / detik | $0,48 (480 kredit 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` | mulai dari $0,112 / detik | $0,56 (560 kredit 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` | mulai dari $0,12 / detik | $0,72 (720 kredit API) |
| [MiniMax H3 Text to Video](https://doitong.com/developers/models/minimax/h3/text-to-video) | `minimax/h3/text-to-video` | mulai dari $0,05 / detik | $0,25 (250 kredit 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` | mulai dari $0,113 / detik | $0,452 (452 kredit 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` | mulai dari $0,141 / detik | $0,564 (564 kredit API) |
| [Veo 3.1](https://doitong.com/developers/models/veo3.1) | `veo3.1` | mulai dari $0,20 / detik | $1,60 (1.600 kredit API) |
| [Veo 3.1 Fast](https://doitong.com/developers/models/veo3.1/fast) | `veo3.1/fast` | mulai dari $0,10 / detik | $0,80 (800 kredit 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` | mulai dari $0,05 / detik | $0,25 (250 kredit 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` | mulai dari $0,0425 / detik video output | $0,043 (43 kredit 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` | mulai dari $0,082 / detik | $0,492 (492 kredit 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` | mulai dari $0,112 / detik | $0,56 (560 kredit 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` | mulai dari $0,12 / detik | $0,72 (720 kredit API) |
| [MiniMax H3 Image to Video](https://doitong.com/developers/models/minimax/h3/image-to-video) | `minimax/h3/image-to-video` | mulai dari $0,05 / detik | $0,25 (250 kredit 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` | mulai dari $0,113 / detik | $0,452 (452 kredit 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` | mulai dari $0,141 / detik | $0,564 (564 kredit 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` | mulai dari $0,10 / detik | $0,80 (800 kredit API) |
| [Veo 3.1 Image to Video](https://doitong.com/developers/models/veo3.1/image-to-video) | `veo3.1/image-to-video` | mulai dari $0,20 / detik | $1,60 (1.600 kredit 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` | mulai dari $0,05 / detik | $0,25 (250 kredit 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` | mulai dari $0,113 / detik | $0,452 (452 kredit 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` | mulai dari $0,141 / detik | $0,564 (564 kredit 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 / detik audio input | $0,115 (115 kredit API) |
| [Sync Lipsync 3](https://doitong.com/developers/models/sync-lipsync/v3) | `sync-lipsync/v3` | $8,00 / menit video output | $8,00 (8.000 kredit API) |
| [VEED Fabric 1.0](https://doitong.com/developers/models/veed/fabric-1.0) | `veed/fabric-1.0` | mulai dari $0,08 / detik audio input | $0,08 (80 kredit API) |
| [Topaz Image Upscale](https://doitong.com/developers/models/topaz/upscale/image/precision) | `topaz/upscale/image/precision` | $0,08 / 24 megapiksel gambar output | $0,08 (80 kredit API) |
| [Topaz Video Upscale](https://doitong.com/developers/models/topaz/upscale/video/precision) | `topaz/upscale/video/precision` | mulai dari $0,00667 / detik video input | $0,10 (100 kredit API) |
| [Bria RMBG 2.0](https://doitong.com/developers/models/bria/background/remove) | `bria/background/remove` | mulai dari $0,018 | $0,018 (18 kredit API) |
| [Eleven v4 Text to Speech](https://doitong.com/developers/models/elevenlabs/tts/eleven-v4) | `elevenlabs/tts/eleven-v4` | $0,08 / 1000 karakter | $0,08 (80 kredit API) |
| [MiniMax Speech 2.8 HD](https://doitong.com/developers/models/minimax/speech-2.8-hd) | `minimax/speech-2.8-hd` | $0,10 / 1000 karakter | $0,10 (100 kredit API) |
| [MiniMax Music 3](https://doitong.com/developers/models/minimax/music-3) | `minimax/music-3` | $0,002 / detik | $0,12 (120 kredit API) |
| [MMAudio V2](https://doitong.com/developers/models/mmaudio-v2) | `mmaudio-v2` | $0,001 / detik | $0,008 (8 kredit API) |

Ini adalah model unggulan. Semua 1.496 model dan harganya tersedia di [katalog model](https://doitong.com/developers/models) dan di `GET /models` (tidak memerlukan kunci).

## Isi ulang

Tambahkan dana ke saldo API di [https://doitong.com/developers/dashboard#balance](https://doitong.com/developers/dashboard#balance). Jika saldo terlalu rendah, proses mengembalikan
`402 insufficient_credits` dengan `top_up_url`. Setiap kunci API juga dapat dibatasi dengan anggarannya sendiri dalam kredit API
(lihat [Autentikasi](https://doitong.com/developers/docs/authentication#credit-budgets)).
