Go SDK
We have a powerful Go client that makes using Transloadit easy.
Install
go get github.com/transloadit/go-sdk
The Go SDK is confirmed to work with Go 1.11 or higher.
Usage
package main
import (
"context"
"fmt"
"github.com/transloadit/go-sdk"
)
func main() {
// Create client
options := transloadit.DefaultConfig
options.AuthKey = "YOUR_TRANSLOADIT_KEY"
options.AuthSecret = "YOUR_TRANSLOADIT_SECRET"
client := transloadit.NewClient(options)
// Initialize new assembly
assembly := transloadit.NewAssembly()
// Add a file to upload
assembly.AddFile("image", "/PATH/TO/FILE.jpg")
// Add Instructions, e.g. resize image to 75x75px
assembly.AddStep("resize", map[string]interface{}{
"robot": "/image/resize",
"width": 75,
"height": 75,
"resize_strategy": "pad",
"background": "#000000",
})
// Start the upload
info, err := client.StartAssembly(context.Background(), assembly)
if err != nil {
panic(err)
}
// All files have now been uploaded and the assembly has started but no
// results are available yet since the conversion has not finished.
// WaitForAssembly provides functionality for polling until the assembly
// has ended.
info, err = client.WaitForAssembly(context.Background(), info)
if err != nil {
panic(err)
}
fmt.Printf("You can view the result at: %s\n", info.Results["resize"][0].SSLURL)
}
Example
For fully working examples on how to use templates, non-blocking processing and more, take a look at
examples/
.
Documentation
See Godoc for full API documentation.
Related blog posts
- Major improvements to our Go SDK April 24, 2017