



api.video is an API that encodes on the go to facilitate immediate playback, enhancing viewer streaming experiences across multiple devices and platforms. You can stream live or on-demand online videos within minutes.
api.video Golang API client
api.video is an API that encodes on the go to facilitate immediate playback, enhancing viewer streaming experiences across multiple devices and platforms. You can stream live or on-demand online videos within minutes.
Warning
This API client is still in beta. Please feel free to report any issue you may encounter.
Installation
go get github.com/apivideo/go-api-client
Getting Started
For a more advanced usage you can checkout the rest of the documentation in the docs directory
package main
import (
"fmt"
"os"
apivideosdk "github.com/apivideo/go-api-client"
)
func main() {
//Connect to production environment
client := apivideosdk.ClientBuilder("YOUR_API_TOKEN").Build()
// if you rather like to use the sandbox environment:
// client := apivideosdk.SandboxClientBuilder("YOU_SANDBOX_API_TOKEN").Build()
//List Videos
//First create the url options for searching
opts := apivideosdk.VideosApiListRequest{}.
CurrentPage(1).
PageSize(25).
SortBy("publishedAt").
SortOrder("desc")
//Then call the List endpoint with the options
result, err := client.Videos.List(opts)
if err != nil {
fmt.Println(err)
}
for _, video := range result.Data {
fmt.Printf("%s\n", *video.VideoId)
fmt.Printf("%s\n", *video.Title)
}
//Upload a video
//First create a container
create, err := client.Videos.Create(apivideosdk.VideoCreationPayload{Title: "My video title"})
if err != nil {
fmt.Println(err)
}
//Then open the video file
videoFile, err := os.Open("path/to/video.mp4")
if err != nil {
fmt.Println(err)
}
//Finally upload your video to the container with the videoId
uploadedVideo, err := client.Videos.UploadFile(*create.VideoId, videoFile)
if err != nil {
fmt.Println(err)
}
//And get the assets
fmt.Printf("%s\n", *uploadedVideo.Assets.Hls)
fmt.Printf("%s\n", *uploadedVideo.Assets.Iframe)
}
Documentation for API Endpoints
All URIs are relative to https://ws.api.video
Captions API
Retrieve an instance of the Captions API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
captionsApi := client.Captions
Endpoints
Method | HTTP request | Description |
---|
Delete | Delete /videos/{videoId}/captions/{language} | Delete a caption |
List | Get /videos/{videoId}/captions | List video captions |
Get | Get /videos/{videoId}/captions/{language} | Show a caption |
Update | Patch /videos/{videoId}/captions/{language} | Update caption |
Upload | Post /videos/{videoId}/captions/{language} | Upload a caption |
Chapters API
Retrieve an instance of the Chapters API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
chaptersApi := client.Chapters
Endpoints
Method | HTTP request | Description |
---|
Delete | Delete /videos/{videoId}/chapters/{language} | Delete a chapter |
List | Get /videos/{videoId}/chapters | List video chapters |
Get | Get /videos/{videoId}/chapters/{language} | Show a chapter |
Upload | Post /videos/{videoId}/chapters/{language} | Upload a chapter |
LiveStreams API
Retrieve an instance of the LiveStreams API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
liveStreamsApi := client.LiveStreams
Endpoints
Method | HTTP request | Description |
---|
Delete | Delete /live-streams/{liveStreamId} | Delete a live stream |
DeleteThumbnail | Delete /live-streams/{liveStreamId}/thumbnail | Delete a thumbnail |
List | Get /live-streams | List all live streams |
Get | Get /live-streams/{liveStreamId} | Show live stream |
Update | Patch /live-streams/{liveStreamId} | Update a live stream |
Create | Post /live-streams | Create live stream |
UploadThumbnail | Post /live-streams/{liveStreamId}/thumbnail | Upload a thumbnail |
PlayerThemes API
Retrieve an instance of the PlayerThemes API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
playerThemesApi := client.PlayerThemes
Endpoints
Method | HTTP request | Description |
---|
Delete | Delete /players/{playerId} | Delete a player |
DeleteLogo | Delete /players/{playerId}/logo | Delete logo |
List | Get /players | List all players |
Get | Get /players/{playerId} | Show a player |
Update | Patch /players/{playerId} | Update a player |
Create | Post /players | Create a player |
UploadLogo | Post /players/{playerId}/logo | Upload a logo |
RawStatistics API
Retrieve an instance of the RawStatistics API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
rawStatisticsApi := client.RawStatistics
Endpoints
Method | HTTP request | Description |
---|
ListLiveStreamSessions | Get /analytics/live-streams/{liveStreamId} | List live stream player sessions |
ListSessionEvents | Get /analytics/sessions/{sessionId}/events | List player session events |
ListVideoSessions | Get /analytics/videos/{videoId} | List video player sessions |
UploadTokens API
Retrieve an instance of the UploadTokens API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
uploadTokensApi := client.UploadTokens
Endpoints
Method | HTTP request | Description |
---|
DeleteToken | Delete /upload-tokens/{uploadToken} | Delete an upload token |
List | Get /upload-tokens | List all active upload tokens. |
GetToken | Get /upload-tokens/{uploadToken} | Show upload token |
CreateToken | Post /upload-tokens | Generate an upload token |
Videos API
Retrieve an instance of the Videos API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
videosApi := client.Videos
Endpoints
Method | HTTP request | Description |
---|
Delete | Delete /videos/{videoId} | Delete a video |
Get | Get /videos/{videoId} | Show a video |
GetStatus | Get /videos/{videoId}/status | Show video status |
List | Get /videos | List all videos |
Update | Patch /videos/{videoId} | Update a video |
PickThumbnail | Patch /videos/{videoId}/thumbnail | Pick a thumbnail |
UploadWithUploadToken | Post /upload | Upload with an upload token |
Create | Post /videos | Create a video |
Upload | Post /videos/{videoId}/source | Upload a video |
UploadThumbnail | Post /videos/{videoId}/thumbnail | Upload a thumbnail |
Webhooks API
Retrieve an instance of the Webhooks API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
webhooksApi := client.Webhooks
Endpoints
Method | HTTP request | Description |
---|
Delete | Delete /webhooks/{webhookId} | Delete a Webhook |
Get | Get /webhooks/{webhookId} | Show Webhook details |
List | Get /webhooks | List all webhooks |
Create | Post /webhooks | Create Webhook |
Documentation For Models
Have you gotten use from this API client?
Please take a moment to leave a star on the client ⭐
This helps other users to find the clients and also helps us understand which clients are most popular. Thank you!