Skip to main content

Usage

GET /v1/usage

Get your current video-minute consumption, plan limits, and a per-operation breakdown for the billing period.

Example

curl https://api.vidocu.ai/v1/usage \
-H "Authorization: Bearer vdo_live_your_key_here"

Response 200 OK

{
"plan": "business",
"billingModel": "credits",
"period": {
"start": "2026-06-01T00:00:00.000Z",
"end": "2026-07-01T00:00:00.000Z"
},
"balance": {
"unit": "credits",
"used": 45.3,
"limit": 60,
"remaining": 14.7
},
"videoMinutes": {
"used": 45.3,
"limit": 60,
"remaining": 14.7
},
"breakdown": {
"apiCalls": 1542,
"videoMinutes": 45.3,
"exports": 12,
"analyses": 28,
"translations": 5,
"helpArticles": 8,
"voiceovers": 3,
"toolExecutions": 4
},
"limits": {
"videoMinutes": 60,
"maxVideoDuration": 10,
"requestsPerMinute": 60
}
}

Response fields

FieldTypeDescription
planstringYour Vidocu plan: free, pro, business, or enterprise
billingModelstringcredits or minutes - which unit this workspace spends
period.startstringBilling period start
period.endstring | nullBilling period end (null for free/lifetime tracking)
balance.unitstringcredits or minutes - the unit of the three fields below
balance.usednumberAmount used this period (shared with the app)
balance.limitnumberMonthly allowance (-1 = unlimited)
balance.remainingnumber | nullLeft this period (null when unlimited)
videoMinutesobjectDeprecated - same numbers as balance, but the name says "minutes" regardless of your actual unit. Use balance.
breakdownobject | nullPer-operation API call counts (analytics only, not a billing source)
limits.videoMinutesnumberMonthly video minute limit (-1 = unlimited)
limits.maxVideoDurationnumberMax minutes per single video (-1/0 = unlimited)
limits.requestsPerMinutenumberRequests per minute (fixed at 60)
info

balance is the meter the API enforces against, and it's the same allowance the Vidocu app uses. Most workspaces are billed in credits, so check balance.unit before you label the number - the legacy videoMinutes block carries the same values under a name that only tells the truth on grandfathered minutes plans. The breakdown object is a per-operation tally for your own analytics.

Errors

StatusCodeCause
401authentication_errorInvalid or missing API key
403limit_exceededMonthly video-minute allowance used up

Credit costs

GET /v1/usage/credits

What each operation costs, alongside your balance - so you can price work before starting it rather than discovering the cost afterwards.

Example

curl https://api.vidocu.ai/v1/usage/credits \
-H "Authorization: Bearer vdo_live_your_key_here"

Response 200 OK

{
"plan": "business",
"billingModel": "credits",
"balance": { "unit": "credits", "used": 45, "limit": 6000, "remaining": 5955 },
"operations": [
{
"operation": "video_analysis",
"endpoint": "POST /v1/videos/:id/analyze",
"unit": "minute",
"credits": 50,
"bundled": false,
"perLanguage": false
},
{
"operation": "translation",
"endpoint": "POST /v1/videos/:id/translate",
"unit": "minute",
"credits": 8,
"bundled": false,
"perLanguage": true
},
{
"operation": "help_article",
"endpoint": "POST /v1/videos/:id/article",
"unit": "run",
"credits": 0,
"bundled": true,
"perLanguage": false
}
],
"note": "Costs are in credits. A per-minute operation bills ceil(minutes x rate)."
}

Reading it

FieldMeaning
unitminute bills per minute of video, run is a flat charge per call
creditsCost per unit
bundledtrue means it's covered by the paid analysis and never charged separately
perLanguagetrue means the cost multiplies by the number of target languages

Per-minute costs round up, so a 90-second analysis at 50 credits/minute bills 75, and any partial minute bills at least one.

Tools aren't listed here - each bills at its own rate. List Tools is the catalogue, and a tool run is charged when it succeeds.

Errors

StatusCodeCause
401authentication_errorInvalid or missing API key
403insufficient_scopeToken lacks usage:read