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

# Daftar model

> Katalog model aktif beserta harga kredit, durasi, rasio, resolusi, dan batas referensi tiap model.

Mengembalikan model yang sedang bisa dipakai, dikelompokkan ke `video`, `image`, dan `audio`. Model yang dinonaktifkan tidak muncul.

> [!NOTE]
>
> Endpoint ini **tidak memerlukan API key** karena isinya katalog publik. Halaman-halaman lain di tab ini tetap butuh key.

```bash cURL theme={null} theme={null}
curl https://vigen.id/api/v1/models
```

```js Node.js theme={null} theme={null}
const models = await (await fetch("https://vigen.id/api/v1/models")).json();

const video = models.models.video.find((m) => m.capabilities.durations.includes("30"));
console.log(video?.id, video?.creditsDefault, video?.priceMatrix);
```

```python Python theme={null} theme={null}
models = requests.get("https://vigen.id/api/v1/models").json()["models"]

for m in models["video"]:
    print(m["id"], m["capabilities"]["durations"], m["creditsDefault"])
```

### Responses

**success** `boolean` *required*

`true` saat katalog berhasil dimuat.

**models** `object` *required*

Tiga keranjang: `video`, `image`, `audio`. Tiap-tiapnya array objek model.

**satu entri model**

**id** `string` *required*

Nilai untuk field `model` saat generate.

**label** `string`

Nama tampilan. Bisa berubah; jangan dijadikan kunci logika.

**category** `string`

`"Video"`, `"Image"`, atau `"Audio"`.

**mode** `string`

`video`, `image`, atau `audio`.

**creditsDefault** `number` *required*

Harga dasar dalam kredit bila tidak ada override yang cocok. Bisa pecahan.

**priceMatrix** `object`

Override harga. Kunci yang mungkin: durasi (`"15"`), resolusi (`"720p"`), kombinasi (`"720p:15"`), atau kualitas:resolusi (`"low:2K"`).

**capabilities** `object`

Aturan validasi parameter untuk model ini.

**isi capabilities**

**durations** `array\<string\>`

Nilai valid untuk `parameters.duration`.

**ratios** `array\<string\>`

Nilai valid untuk `parameters.ratio`.

**resolutions** `array\<string\>`

Nilai valid untuk `parameters.resolution`.

**maxReferenceImages** `number`

Batas gambar referensi.

**maxReferenceVideos** `number`

Batas video referensi.

**maxReferenceAudios** `number`

Batas audio referensi.

Sebagian model menambahkan `qualities`, `backgrounds`, `outputFormats`, `supportsNegativePrompt`, atau `supportsSeed`. Kunci yang tidak ada berarti parameter itu diabaikan.

```json 200 theme={null} theme={null}
{
  "success": true,
  "models": {
    "video": [
      {
        "id": "seedance-2-5-flash",
        "label": "Seedance 2.5 Flash",
        "category": "Video",
        "mode": "video",
        "creditsDefault": 3,
        "priceMatrix": { "20": 3 },
        "capabilities": {
          "durations": ["20"],
          "ratios": ["16:9", "9:16", "1:1", "4:3", "3:4"],
          "resolutions": ["720p"],
          "maxReferenceImages": 9,
          "maxReferenceVideos": 1,
          "maxReferenceAudios": 1
        }
      }
    ],
    "image": [
      {
        "id": "nano-banana-2.1",
        "label": "Nano Banana 2.1",
        "category": "Image",
        "mode": "image",
        "creditsDefault": 1,
        "priceMatrix": { "1K": 1, "2K": 1.5, "4K": 2 },
        "capabilities": {
          "durations": [],
          "ratios": ["16:9", "9:16", "1:1", "4:3", "3:4"],
          "resolutions": ["1K", "2K", "4K"],
          "maxReferenceImages": 10,
          "maxReferenceVideos": 0,
          "maxReferenceAudios": 0
        }
      }
    ],
    "audio": []
  }
}
```

```json 500 theme={null} theme={null}
{ "error": "Gagal memuat katalog model." }
```

## Cara memakainya di produk

> [accordion] Cache, jangan hardcode
>
> Ambil katalog sekali saat layananmu start, simpan 5–15 menit, dan segarkan saat menerima `409` (`model ... sedang tidak tersedia`). Daftar model berubah tanpa pengumuman.

> [accordion] Bangun UI dari capabilities
>
> Sembunyikan pilihan durasi yang tidak ada di `capabilities.durations` model terpilih. Validasi di sisi kamu sebelum mengirim menghemat kredit pengguna dan memanggang permintaan yang pasti ditolak server.

> [accordion] Hitung perkiraan biaya
>
> Tirukan urutan pencarian harga server: `quality:resolution` → `resolution:duration` → `duration` → `resolution` → `creditsDefault`. Lalu tambahkan 0 untuk referensi (belum ada surcharge saat ini).

> [accordion] Audio muncul di katalog, tapi belum bisa digenerate
>
> Keranjang `audio` diisi model musik. Pengirimannya melalui API key belum dibuka, jadi tampilkan sebagai "hanya di dashboard".


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.