{ "error": "..." }. Field diagnostik tambahan hanya muncul di beberapa kode.
400 — permintaan ditolak
400 — permintaan ditolak
Tubuh permintaan tidak bisa dibaca atau tidak lolos validasi. Job tidak dibuat, kredit tidak terpotong.
401 — autentikasi gagal
401 — autentikasi gagal
Jangan pernah mengulang request
401. Perbaiki kredensialnya lebih dulu.402 — kredit tidak cukup
402 — kredit tidak cukup
requiredCredits dengan harga perkiraan dari katalog sebelum mengirim batch.403 — bukan job-mu
403 — bukan job-mu
GET /api/v1/jobs/{id} memakai id milik akun lain — biasanya karena id dihardcode atau key yang dipakai berganti. Job milik sendiri tidak pernah kena kode ini.409 — model tidak tersedia
409 — model tidak tersedia
413 — berkas terlalu besar
413 — berkas terlalu besar
429 — kapasitas
429 — kapasitas
Tiga sebab berbeda, bentuk body berbeda:Konkurensi penuh (akun Unlimited)Kuota video harian habisAntrean server penuh / unggahan terlalu seringPada
POST /api/v1/upload, respons membawa header Retry-After dalam detik. Hormati nilainya.500 — kegagalan di sisi Vidgen
500 — kegagalan di sisi Vidgen
503 — tidak bisa diproses sekarang
503 — tidak bisa diproses sekarang
Gunakan backoff eksponensial dan pertahankan
idempotencyKey yang sama.Kesalahan yang muncul sebagai failed, bukan status HTTP
Kasus ini datang belakangan, dari errorMessage di GET /api/v1/jobs/{id}. Kredit sudah dipotong lalu dikembalikan, jadi periksa creditsCharged yang tersisa 0.
Pesan
errorMessage sengaja berbahasa Inggris di respons API. Silakan diterjemahkan ke bahasa UI kamu, tapi jangan diubah artinya saat ditampilkan ke pengguna akhir.