> ## Documentation Index
> Fetch the complete documentation index at: https://www.krea.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# API Keys & Billing

> Buat dan kelola API key, isi ulang saldo API Anda, dan pahami harga per model agar Anda dapat mengirimkan integrasi Krea dengan biaya yang dapat diprediksi.

## Membuat API Key

Hanya **pemilik** (owner) dan **admin** workspace yang dapat membuat token API. Jika Anda tidak melihat opsi untuk membuat token, hubungi pemilik workspace Anda untuk meminta akses atau peran yang lebih tinggi.

Untuk membuat API key:

1. Buka [krea.ai/settings/api-tokens](https://www.krea.ai/settings/api-tokens)
2. Pastikan Anda berada di workspace yang benar (menggunakan tombol pengalih workspace di kiri atas)
3. Klik "New Token"
4. Beri token Anda nama yang deskriptif
5. Simpan token dengan aman—Anda hanya akan melihatnya sekali!

<Info>
  API beroperasi sebagai identitas pengguna tersendiri di dalam workspace Anda. Style yang dilatih di aplikasi tidak akan dapat diakses melalui API, dan style yang dilatih melalui API tidak akan muncul di aplikasi, kecuali jika dibagikan ke workspace. Lihat [Latih Style Kustom](/developers/tutorials/train-image-style#use-your-trained-style) untuk detailnya.
</Info>

<Warning>
  **Panduan Keamanan**

  * Simpan token di environment variable, jangan di dalam kode
  * Gunakan token yang berbeda untuk development dan production
  * Cabut token segera jika dikompromikan
  * Jangan pernah commit token ke version control
  * Jangan pernah membagikan token secara publik
</Warning>

## Menggunakan API Key

Sertakan token Anda di header `Authorization` pada semua permintaan:

<CodeGroup>
  ```javascript Node.js theme={null}
  // npm install @krea-ai/sdk
  import { Krea } from "@krea-ai/sdk";

  const krea = new Krea({ apiKey: process.env.KREA_API_KEY });

  const job = await krea.image("bfl/flux-1-dev", {
    prompt: "a serene mountain landscape at sunset",
    width: 1024,
    height: 576
  });

  console.log(`Job ID: ${job.job_id}`);
  ```

  ```bash cURL theme={null}
  curl -X POST https://api.krea.ai/generate/image/bfl/flux-1-dev \
    -H "Authorization: Bearer YOUR_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "prompt": "a serene mountain landscape at sunset",
      "width": 1024,
      "height": 576
    }'
  ```

  ```python Python theme={null}
  import requests

  API_BASE = "https://api.krea.ai"
  API_TOKEN = "your-api-token"

  response = requests.post(
      f"{API_BASE}/generate/image/bfl/flux-1-dev",
      headers={
          "Authorization": f"Bearer {API_TOKEN}",
          "Content-Type": "application/json"
      },
      json={
          "prompt": "a serene mountain landscape at sunset",
          "width": 1024,
          "height": 576
      }
  )

  job = response.json()
  print(f"Job ID: {job['job_id']}")
  ```

  ```go Go theme={null}
  package main

  import (
      "bytes"
      "encoding/json"
      "fmt"
      "net/http"
  )

  func main() {
      apiBase := "https://api.krea.ai"
      apiToken := "your-api-token"

      payload := map[string]interface{}{
          "prompt": "a serene mountain landscape at sunset",
          "width":  1024,
          "height": 576,
      }

      jsonData, _ := json.Marshal(payload)
      req, _ := http.NewRequest("POST", apiBase+"/generate/image/bfl/flux-1-dev", bytes.NewBuffer(jsonData))
      req.Header.Set("Authorization", "Bearer "+apiToken)
      req.Header.Set("Content-Type", "application/json")

      client := &http.Client{}
      resp, _ := client.Do(req)
      defer resp.Body.Close()

      var job map[string]interface{}
      json.NewDecoder(resp.Body).Decode(&job)
      fmt.Printf("Job ID: %s\n", job["job_id"])
  }
  ```
</CodeGroup>

## Harga

Untuk harga per model, lihat [krea.ai/features/api ↗](https://krea.ai/features/api). Setiap model memiliki harga per generasi tetap yang ditentukan oleh parameter permintaan Anda (resolusi, kualitas, audio, durasi, referensi style, dll.).

## Cara Kerja Penagihan API

Panggilan API langsung dan koneksi MCP yang menggunakan token API mengambil dari **saldo USD terpisah** pada workspace Anda — independen dari compute unit yang digunakan oleh aplikasi web Krea. Koneksi MCP yang menggunakan OAuth ditagihkan ke akun Krea yang sedang masuk dalam bentuk compute unit. Akses API harus diaktifkan pada workspace Anda sebelum Anda dapat menggunakan API key; jika belum, hubungi [support@krea.ai ↗](mailto:support@krea.ai).

<Check>
  Job yang gagal dan dibatalkan tidak ditagih. Anda hanya membayar untuk job yang selesai.
</Check>

### Ketika saldo Anda habis

Job yang sedang berjalan akan selesai secara normal. Permintaan API baru akan ditolak dengan **HTTP 402 Payment Required**:

```json theme={null}
{
  "message": "Your API balance is separate from your workspace compute balance. Please top up your API balance to continue using the API."
}
```

Isi ulang di [krea.ai/app/api/](https://krea.ai/app/api/) untuk melanjutkan. Tidak ada endpoint publik untuk memeriksa saldo Anda secara terprogram — pantau saldo melalui aplikasi.

## Menambah Saldo API

Tambahkan dana di [krea.ai/app/api/](https://krea.ai/app/api/). Hanya **pemilik** workspace yang dapat menambah saldo API.

* **Jumlah preset:** \$10, \$25, \$50, \$100
* **Jumlah kustom:** minimum \$5, maksimum \$10.000
* Dibayar melalui Stripe Checkout; saldo berlaku segera setelah berhasil

## Melacak Penggunaan

Pengeluaran terbaru ditampilkan pada kartu saldo API di [krea.ai/app/api/](https://krea.ai/app/api/) di bagian "API cost in the last 7 days."

## Enterprise

<Info>
  Pelanggan dengan volume lebih tinggi dapat ditagih bulanan dengan ketentuan Net 30 alih-alih membayar di muka. Hubungi [sales@krea.ai ↗](mailto:sales@krea.ai) untuk membahas penagihan enterprise.
</Info>

## Langkah Selanjutnya

<CardGroup cols={2}>
  <Card title="Playground Interaktif" icon="rocket" href="/developers/interactiveexample">
    Buat permintaan API pertama Anda
  </Card>

  <Card title="Model APIs" icon="book-open" href="/api-reference/image/flux">
    Jelajahi semua endpoint yang tersedia
  </Card>

  <Card title="Siklus Hidup Job" icon="cube" href="/developers/job-lifecycle">
    Pahami status job dan polling
  </Card>

  <Card title="Batas Laju" icon="gauge" href="/developers/rate-limits">
    Pahami batas API berdasarkan tingkat paket
  </Card>
</CardGroup>
