Usage-based pricing with clear costs and guidance for managing spend.
GET /api/v1/billing/balance
Authorization: Bearer sk-your-api-key-here
{ "balance_usd": 25.50, "total_spent_usd": 134.75 }
curl -X GET "https://tryvinci.com/api/v1/billing/balance" \ -H "Authorization: Bearer sk-your-api-key-here"
GET /api/v1/billing/usage?days={days}
{ "period_days": 30, "total_requests": 156, "total_seconds": 420.5, "total_cost_usd": 21.025, "current_balance_usd": 25.50, "total_spent_usd": 134.75 }
curl -X GET "https://tryvinci.com/api/v1/billing/usage?days=7" \ -H "Authorization: Bearer sk-your-api-key-here"
import requests def check_balance_for_video(duration_seconds, api_key): balance_url = "https://tryvinci.com/api/v1/billing/balance" headers = {"Authorization": f"Bearer {api_key}"} r = requests.get(balance_url, headers=headers) r.raise_for_status() balance = r.json() estimated_cost = duration_seconds * 0.05 if balance["balance_usd"] < estimated_cost: return False return True
{ "detail": "Insufficient balance. Current balance: $1.25, required: $2.50" }
import requests def make_video_request(prompt, duration, api_key): url = "https://tryvinci.com/api/v1/generate/text-to-video" headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"} data = {"prompt": prompt, "duration_seconds": duration} r = requests.post(url, headers=headers, json=data) if r.status_code == 402: print(f"Insufficient balance: {r.json().get('detail')}") return None r.raise_for_status() return r.json()
Was this page helpful?