api.video
api.video is an API able to encode on the go to facilitate immediate playback, enhancing viewer streaming experiences across multiple devices and platforms. Stream live or on-demand online videos within minutes with a well-documented API.
api.video endpoints
| Method | Endpoint | Description |
|---|---|---|
| Authentication | ||
| POST |
POST_auth-refresh /auth/refresh |
|
| POST |
POST_auth-api-key /auth/api-key |
The first action taken when interacting with api.video is the authentication step (NOTE: this is abstracted in many of the SDKs). To Authenticate, you must submit your API key.… |
| Videos | ||
| DELETE |
DELETE-video /videos/{videoId} |
|
| POST |
POST_videos-videoId-thumbnail /videos/{videoId}/thumbnail |
There may be a short delay before the new thumbnail is delivered to our CDN. |
| POST |
POST-video /videos |
To create a video, you create its metadata first, then you upload contents. A video is public by default. ### Creating a video Container for future upload ```shell $ curl… |
| PATCH |
PATCH-video /videos/{videoId} |
|
| GET |
LIST-videos /videos |
|
| GET |
GET-video-status /videos/{videoId}/status |
This API provides upload status & encoding status to determine when the video is uploaded or ready to playback. Once encoding is completed, the response also lists the available… |
| PATCH |
PATCH_videos-videoId-thumbnail /videos/{videoId}/thumbnail |
Pick a thumbnail from the given time code. There may be a short delay for the thumbnail to update. |
| GET |
GET-video /videos/{videoId} |
This call provides the same JSON information provided on video creation. For private videos, it will generate a unique token url. |
| POST |
POST_videos-videoId-source /videos/{videoId}/source |
To upload a video to an existing videoId. Replace {videoId} with the id you'd like to use, {access_token} with your token, and /path/to/video.mp4 with the path to the video you'd… |
| Videos - Delegated upload | ||
| POST |
POST_upload /upload |
When given a token, anyone can upload a file to the URI `https://ws.api.video/upload?token=`. Example with cURL: ```curl $ curl --request POST --url… |
| POST |
POST_upload-tokens /upload-tokens |
|
| Live | ||
| POST |
POST_live-streams-liveStreamId-thumbnail /live-streams/{liveStreamId}/thumbnail |
|
| DELETE |
DELETE_live-streams-liveStreamId-thumbnail /live-streams/{liveStreamId}/thumbnail |
|
| DELETE |
DELETE_live-streams-liveStreamId /live-streams/{liveStreamId} |
|
| GET |
GET_live-streams-liveStreamId /live-streams/{liveStreamId} |
|
| GET |
GET_live-streams /live-streams |
|
| POST |
POST_live-streams /live-streams |
See our [Live Stream Tutorial](https://api.video/blog/tutorials/live-stream-tutorial) for a walkthrough of this API with OBS. |
| PATCH |
PATCH_live-streams-liveStreamId /live-streams/{liveStreamId} |
|
| Captions | ||
| POST |
POST_videos-videoId-captions-language /videos/{videoId}/captions/{language} |
Upload a VTT file to add captions to your video. Read our [captioning tutorial](https://api.video/blog/tutorials/adding-captions) for more details. |
| GET |
GET_videos-videoId-captions /videos/{videoId}/captions |
|
| PATCH |
PATCH_videos-videoId-captions-language /videos/{videoId}/captions/{language} |
To have the captions on automatically, use this PATCH to set default: true. |
| DELETE |
DELETE_videos-videoId-captions-language /videos/{videoId}/captions/{language} |
|
| GET |
GET_videos-videoId-captions-language /videos/{videoId}/captions/{language} |
|
| Chapters | ||
| GET |
GET_videos-videoId-chapters /videos/{videoId}/chapters |
|
| POST |
POST_videos-videoId-chapters-language /videos/{videoId}/chapters/{language} |
Chapters help break the video into sections. Read our [tutorial](https://api.video/blog/tutorials/adding-chapters-to-your-videos) for more details. |
| GET |
GET_videos-videoId-chapters-language /videos/{videoId}/chapters/{language} |
|
| DELETE |
DELETE_videos-videoId-chapters-language /videos/{videoId}/chapters/{language} |
|
| Players | ||
| DELETE |
DELETE_players-playerId /players/{playerId} |
|
| POST |
POST_players /players |
|
| GET |
GET_players /players |
|
| POST |
POST_players-playerId-logo /players/{playerId}/logo |
The uploaded image maximum size should be 200x100 and its weight should be 200KB. It will be scaled down to 30px height and converted to PNG to be displayed in the player. |
| GET |
GET_players-playerId /players/{playerId} |
|
| DELETE |
DELETE_players-playerId-logo /players/{playerId}/logo |
|
| PATCH |
PATCH_players-playerId /players/{playerId} |
It may take up to 10min before the new player configuration is available from our CDN. |
| Raw statistics | ||
| GET |
GET_analytics-live-streams-liveStreamId /analytics/live-streams/{liveStreamId} |
|
| GET |
GET_analytics-videos-videoId /analytics/videos/{videoId} |
|
| GET |
GET_analytics-sessions-sessionId-events /analytics/sessions/{sessionId}/events |
Useful to track and measure video's engagement. |
| Account | ||
| GET |
GET_account /account |
|
api.video pricing
| Plan | Price | Rate limit | Quotas |
|---|---|---|---|
| BASIC | Free | — |
|