api.video Go API client
api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand & low latency live streaming features in your app.
Project description
api.video's Go client streamlines the coding process. Chunking files is handled for you, as is pagination and refreshing your tokens.
Getting started
Installation
go get github.com/apivideo/api.video-go-client
Code sample
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/api.video-go-client"
)
func main() {
//Connect to production environment
client := apivideosdk.ClientBuilder("YOUR_API_KEY").Build()
// if you rather like to use the sandbox environment:
// client := apivideosdk.SandboxClientBuilder("YOU_SANDBOX_API_KEY").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
API Endpoints
All URIs are relative to https://ws.api.video
Analytics
Retrieve an instance of the Analytics API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
analyticsApi := client.Analytics
Endpoints
Captions
Retrieve an instance of the Captions API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
captionsApi := client.Captions
Endpoints
Chapters
Retrieve an instance of the Chapters API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
chaptersApi := client.Chapters
Endpoints
LiveStreams
Retrieve an instance of the LiveStreams API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
liveStreamsApi := client.LiveStreams
Endpoints
PlayerThemes
Retrieve an instance of the PlayerThemes API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
playerThemesApi := client.PlayerThemes
Endpoints
UploadTokens
Retrieve an instance of the UploadTokens API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
uploadTokensApi := client.UploadTokens
Endpoints
Videos
Retrieve an instance of the Videos API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
videosApi := client.Videos
Endpoints
Watermarks
Retrieve an instance of the Watermarks API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
watermarksApi := client.Watermarks
Endpoints
Webhooks
Retrieve an instance of the Webhooks API:
client := apivideosdk.ClientBuilder("API_VIDEO_KEY").Build()
webhooksApi := client.Webhooks
Endpoints
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!
Contribution
Since this API client is generated from an OpenAPI description, we cannot accept pull requests made directly to the repository. If you want to contribute, you can open a pull request on the repository of our client generator. Otherwise, you can also simply open an issue detailing your need on this repository.
Was this page helpful?