SultanAI · Control Panel

Sign in to open the panel

SultanAI Partner · Control Panel Control Plane · VPS 2
checking…
🔁 A new panel version is available — your browser was showing a cached copy.

Test a generation job

Build a payload, submit it to POST /v1-generate, then watch the job live. Image models return inline; video/music run async and are polled automatically.

Request

Video is generated on the shot itself: the panel sends POST /shots/:id/generate-video. Image regen sends POST /shots/:id/regenerate-image. Leave blank for non-shot tasks (the backend will fail fast with missing_shot_id if needed).
ready

Job monitor

Poll GET /v1-job?id=. Start a job from the Generate tab, or paste an existing id below. Active jobs refresh every ~5s.

Live jobs

Tip: jobs that reach succeeded / completed / failed stop polling automatically. Use “Stop all” to clear the list.

Job history

Persistent 7-day log of every generation submitted via POST /api/generate / POST /api/vv-generate. Entries are finalized at terminal state; stale in-progress jobs auto-close after 24h.

Last 7 days

Up to 5 result media per job are kept for 7 days; thumbnails above cover the first 50 entries. Clearing is immediate and cannot be undone.

Account & balance

Fetches GET /v1-balance. This also validates that the selected API key is live.

Balance

Model catalog

Live GET /v1-models response, with a built-in fallback so the Generate dropdown is always populated.

Catalog

API keys

Stored server-side in keys.json so you can switch environments from the UI. Only a masked preview is shown.

Add / update key

Stored keys

NamePreview

WanHub API v2 — sk_live_ keys

Production keys untuk API publik v2 (/v2/models, /v2/generate, /v2/jobs/:id). Disimpan sebagai SHA-256 hash di wanhub_keys.json — plaintext hanya tampil sekali saat mint.

Mint new key

Keys

NamePreviewStatusQuota / Usage (month)Last used

🎬 VivaReel

Route requests through the live pool using the dedicated model-mapping layer.

🔐 Live API key

Generate a fresh key for clients / other services. The key is saved to keys.json and becomes the live master key (panel_key.json). It appears in the "API key" dropdown below as vv_<name>.

Account pool

Live view of every vivareel_accounts row. Auto-refreshes every 10s so you always see who is active, who is reserved (leased to a job), and who is exhausted. Stale leases are re-claimed automatically by a server-side sweep.

Total–
Active–
Reserved–
Exhausted–

Accounts

auto-refresh 10s · —
Email Feature Status Credits Claims Token Reserved until Last error Updated

Token column is masked by default — click a row’s token to reveal/copy. “Sweep stale” runs cleanup_pool_claims() to return any reserved account past its lease back to active (same thing the background sweep does every minute).