Billing per minute: how does it work?

api.video charges you per minute of video uploaded, stored and watched.

But how does it actually work?

Video Time Counting
We measure video on demand (VOD) in 4 second increments, and Live video in 2 second increments.

So what will it cost?
If your video is 15 seconds long, each view will cost 16 seconds of delivery. Therefore, you need 4 views before you reach 1 minute of delivery (really 1 minute 4 seconds).

If your video is 15:01, the total watch time will be 15:04 per person (and not rounded up to 16 minutes per person).

If 30 people watch the entire video, the delivery time will total 452 minutes (15:04 * 30).

If we had rounded up “per minute” it would be (16*30) 480 minutes.

2 Likes

Hi Doug

Thanks for this info.

How would I go about getting the delivery information from the API?

I have seen your blog article (https://api.video/blog/tutorials/analytics-with-api-video) and I am looking at the analytics calls on the API, but it is not clear how I would go about working out a total amount of viewed minutes for a particular video.

I thought session.loadedAt and session.endedAt might be what I am after, but often the endAt date is before the loadedAt date, so I am not sure

Hi -

The session loadedAt and endedAt will be resolved soon (one is browser based, and the other is server - so depending on timezones, the number could be negative, or artificially large).

We’re working on a big improvement to our analytics, but we’ll share more on this when it is ready :smiley:

Right now, your best bet for seeing total usage data is the dashboard - which will tell you total minutes transcoded/stored/played:

What data would you like to see in a usage API response?

Doug

Hi Doug

Initially I just would like to be able to replicate the view count that is present on the dashboard, but really I would like to be able to tell how much of each video has been watched in a session (e.g. are people only watching the first 5 minutes of a 60 minute video), and understand what videos are being viewed that make up the delivery usage total so that I can divide up my costs appropriately.

I thought the analytics API would allow me to do this, but I am still working it out. The improvement you allude to - can you give any sort of time-frame?

Tom

What would also be awesome is to expose the session id when getting/playing a video, so that analytics from api.video can be combined with application specific analytics (e.g. logged in user)

1 Like

Thanks! I’ll run these past the team to see what we can implement.

Doug

Hi @anon89371750, is there any update on this please? I would love to be able to break down the monthly usage data and see which videos are being watched the most.

Thanks
Tom

Hi @TomH,

Right now:

  1. Total view count: You can use the analytics endpoint and ask for just 1 video. The API will tell you how many entries are in the search. The pagination section will tell you the itemsTotal for your view count.

  2. Time count: inside each session: you get the play/pause times for each interaction with the video. (there are also ‘seek forward/back’ for skips). for a unique session, you could add all the time between play and pause entries in the session to get the playback time during the session.

  3. With our dynamic tokens - you can assign the your UserId variable to each view and session. Then, you can query the analytics for each sessionId for user ‘TomH’ or ‘Doug’, get their sessions for each video, and then determine the time watched for each viewer.

Doug