Skip to main content

Credits, Plans & Limits

Every render costs credits, drawn from your subscription allowance plus any one-time credit packs. Plans also set limits — maximum duration, resolution, element counts — that are enforced at submit time.

What a render costs​

OutputCost
Video with width × height ≤ 2,073,600 pixelsceil(duration × 1) credits
Video with width × height > 2,073,600 pixelsceil(duration × 4) credits
Image1 credit per image, including bulk renders, at any resolution

duration is the resolved output length in seconds. Multiply by the rate, then round the total up to a whole credit. A 10-second 1920×1080 video costs 10 credits; a 2.1-second video above that pixel-area threshold costs 9. Resolution presets resolve before pricing, so tiktok (1080×1920) uses the same rate as 1920×1080. Your plan's dimension limits still apply independently.

Credits are reserved when a job is queued (creditsReserved in the submit response) and refunded automatically if the render fails or is cancelled. Estimate before submitting with POST /api/render/validate/api-key and read creditsRequired. Validation and estimation are free and do not queue a job or reserve credits.

Credit pools​

Your balance has two pools, spent in this order:

  1. Subscription credits — replenished every billing cycle.
  2. Add-on credits — one-time credit packs that never expire with the cycle.
curl -X GET https://api.zvid.io/api/credits/balance \
-H "x-api-key: YOUR_API_KEY"
{
"balance": 1164,
"subscriptionCredits": 1064,
"addonCredits": { "balance": 100, "totalEarned": 200, "totalSpent": 100 }
}

GET /api/credits/transactions returns the ledger and GET /api/credits/usage-stats aggregates usage over 24 h / 7 d / 30 d — both are also visualized on the dashboard's Credits page.

Plan limits​

Limits scale with your plan. The enforced dimensions:

LimitMeaning
maxDurationOutput length in seconds
maxInputDurationComplete video/GIF source length: 7,200 seconds (2 hours), independent of output length
maxOutputResolutionOutput width/height in pixels
maxVisualElementsTotal visual elements per project
maxImagesCount / maxVideosCount / maxGifsCountPer-type element counts
maxAudioElementsAudio tracks
maxCaptionElementsSubtitle cues
maxScenesScenes after iterate expansion
maxIterateItemsItems per iterated scene
maxTemplatesStored templates
maxBulkItemsItems per bulk render
maxWebhooksRegistered webhooks (Free: 1)

Retrieve your current account-aware limits through the render schema endpoint. Render validation errors include a planLimits object with your plan's active values:

{
"error": "Validation failed",
"details": [
{
"field": "payload.duration",
"message": "Duration cannot exceed 1800 seconds (30 minutes) based on your Startup plan"
}
],
"planLimits": {
"planName": "Startup",
"maxDuration": 1800,
"maxOutputResolution": 3820,
"maxScenes": 150,
"…": "…"
}
}

Current plans and pricing live at zvid.io/pricing; manage your subscription and buy credit packs from the dashboard.