Katalog & Akun
Saldo & batas akun
Cek kredit, status paket Unlimited, job aktif, dan sisa kuota video harian satu akun.
GET
/
api
/
v1
/
user
/
credits
curl https://vidgen.id/api/v1/user/credits \
-H "Authorization: Bearer vg_4b1a82f3c9d0e1f2a3b4c5d6e7f80912"
const info = await (
await fetch("https://vidgen.id/api/v1/user/credits", {
headers: { Authorization: `Bearer ${process.env.VIDGEN_API_KEY}` },
})
).json();
if (info.user.credits < 10 || info.limits.dailyVideosRemaining === 0) {
console.warn("tidak layak mengirim batch");
}
info = requests.get(
"https://vidgen.id/api/v1/user/credits",
headers={"Authorization": f"Bearer {api_key}"},
).json()
print(info["user"]["credits"], info["unlimited"], info["limits"])
{
"success": true,
"user": {
"uid": "0f7c9a1e-42b3-4c9a-9d0f-8a3e2b1c5d64",
"email": "saya@tokokamu.com",
"credits": 128
},
"unlimited": {
"active": true,
"daysLeft": 1,
"expiresAt": "2026-11-05T03:41:12.000Z"
},
"limits": {
"maxConcurrentJobs": 2,
"currentActiveJobs": 1,
"dailyVideoLimit": 50,
"dailyVideosGenerated": 12,
"dailyVideosRemaining": 38,
"resetsAt": "00:00 WIB"
}
}
{ "error": "API Key tidak valid atau telah dicabut." }
{ "error": "Vidgen sedang dalam pemeliharaan. Penggunaan API key dinonaktifkan sementara." }
Satu panggilan ringan untuk mengetahui apakah akunmu siap mengirim permintaan berikutnya. Cocok dipakai sebagai gerbang sebelum batch.
Authorizations
string
wajib
API key berformat
Bearer vg_....curl https://vidgen.id/api/v1/user/credits \
-H "Authorization: Bearer vg_4b1a82f3c9d0e1f2a3b4c5d6e7f80912"
const info = await (
await fetch("https://vidgen.id/api/v1/user/credits", {
headers: { Authorization: `Bearer ${process.env.VIDGEN_API_KEY}` },
})
).json();
if (info.user.credits < 10 || info.limits.dailyVideosRemaining === 0) {
console.warn("tidak layak mengirim batch");
}
info = requests.get(
"https://vidgen.id/api/v1/user/credits",
headers={"Authorization": f"Bearer {api_key}"},
).json()
print(info["user"]["credits"], info["unlimited"], info["limits"])
Responses
boolean
wajib
true saat data terbaca.object
wajib
object
wajib
Status paket Unlimited. Tidak ada kredit yang dipotong untuk model yang memenuhi syarat selama
active bernilai true.object
wajib
Batas yang akan menentukan apakah permintaan berikutnya diterima.
Sembunyikan isi limits
Sembunyikan isi limits
number
wajib
Proses bersamaan yang diizinkan untuk pemakaian kuota Unlimited. Saat ini
2.number
wajib
Job milik akunmu yang masih
queued, dispatching, atau processing.number
wajib
Batas video sukses per hari. Saat ini
50.number
wajib
Sudah terpakai hari ini. Job gagal tidak dihitung.
number
wajib
Sisa hari ini, minimal
0.string
wajib
"00:00 WIB" — reset memakai waktu Indonesia Barat, bukan UTC.{
"success": true,
"user": {
"uid": "0f7c9a1e-42b3-4c9a-9d0f-8a3e2b1c5d64",
"email": "saya@tokokamu.com",
"credits": 128
},
"unlimited": {
"active": true,
"daysLeft": 1,
"expiresAt": "2026-11-05T03:41:12.000Z"
},
"limits": {
"maxConcurrentJobs": 2,
"currentActiveJobs": 1,
"dailyVideoLimit": 50,
"dailyVideosGenerated": 12,
"dailyVideosRemaining": 38,
"resetsAt": "00:00 WIB"
}
}
{ "error": "API Key tidak valid atau telah dicabut." }
{ "error": "Vidgen sedang dalam pemeliharaan. Penggunaan API key dinonaktifkan sementara." }
Pola pakai yang lazim
- Gerbang sebelum batch
- Alert saldo menipis
- Pantau kuota harian
async function canSubmit(model, parameters) {
const [{ limits }, models] = await Promise.all([vidgen.credits(), vidgen.models()]);
const m = models.video.find((x) => x.id === model);
const harga = perkirakanHarga(m, parameters);
return (
limits.dailyVideosRemaining > 0 &&
limits.currentActiveJobs < limits.maxConcurrentJobs &&
(await vidgen.credits()).user.credits >= harga
);
}
// jalankan tiap jam dari cron
const { user, unlimited } = await vidgen.credits();
if (!unlimited.active && user.credits < 20) {
await notifyOwner(`Sisa kredit ${user.credits}. Beli lagi di https://vidgen.id/billing`);
}
const { limits } = await vidgen.credits();
if (limits.dailyVideosRemaining <= 5) {
scheduler.pauseNewVideoJobsUntil(nextWibMidnight());
}
Angka
maxConcurrentJobs hanya menentukan penolakan ketika permintaanmu dibiayai kuota Unlimited. Pemakaian per kredit bisa memiliki lebih dari dua job aktif, tetapi akan mengantre lebih lama.⌘I
curl https://vidgen.id/api/v1/user/credits \
-H "Authorization: Bearer vg_4b1a82f3c9d0e1f2a3b4c5d6e7f80912"
const info = await (
await fetch("https://vidgen.id/api/v1/user/credits", {
headers: { Authorization: `Bearer ${process.env.VIDGEN_API_KEY}` },
})
).json();
if (info.user.credits < 10 || info.limits.dailyVideosRemaining === 0) {
console.warn("tidak layak mengirim batch");
}
info = requests.get(
"https://vidgen.id/api/v1/user/credits",
headers={"Authorization": f"Bearer {api_key}"},
).json()
print(info["user"]["credits"], info["unlimited"], info["limits"])
{
"success": true,
"user": {
"uid": "0f7c9a1e-42b3-4c9a-9d0f-8a3e2b1c5d64",
"email": "saya@tokokamu.com",
"credits": 128
},
"unlimited": {
"active": true,
"daysLeft": 1,
"expiresAt": "2026-11-05T03:41:12.000Z"
},
"limits": {
"maxConcurrentJobs": 2,
"currentActiveJobs": 1,
"dailyVideoLimit": 50,
"dailyVideosGenerated": 12,
"dailyVideosRemaining": 38,
"resetsAt": "00:00 WIB"
}
}
{ "error": "API Key tidak valid atau telah dicabut." }
{ "error": "Vidgen sedang dalam pemeliharaan. Penggunaan API key dinonaktifkan sementara." }