All Projects → transloadit → go-sdk

transloadit / go-sdk

Licence: MIT license
Transloadit's official Go SDK, maintained by the community

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to go-sdk

transloadify
🤖☁️📽📦 Transloadit's cloud encoding in a box
Stars: ✭ 26 (+52.94%)
Mutual labels:  encoding, uploading, transloadit
node-sdk
Transloadit's official Node.js SDK
Stars: ✭ 51 (+200%)
Mutual labels:  encoding, uploading, transloadit
Uppy
The next open source file uploader for web browsers 🐶
Stars: ✭ 24,829 (+145952.94%)
Mutual labels:  encoding, transloadit
AMVtool
Qt GUI for FFmpeg designed for video editors.
Stars: ✭ 28 (+64.71%)
Mutual labels:  encoding
gbk2utf8
A flutter package to convert gbk to utf-8
Stars: ✭ 40 (+135.29%)
Mutual labels:  encoding
codec
Encode keys, values and range options, with built-in or custom encodings.
Stars: ✭ 27 (+58.82%)
Mutual labels:  encoding
RLPSwift
Recursive Length Prefix encoding written in Swift
Stars: ✭ 22 (+29.41%)
Mutual labels:  encoding
morton-nd
A header-only compile-time Morton encoding / decoding library for N dimensions.
Stars: ✭ 78 (+358.82%)
Mutual labels:  encoding
go-webp
Simple and fast webp library for golang
Stars: ✭ 91 (+435.29%)
Mutual labels:  encoding
per-title-analysis
Analysis provider for adapting your OTT bitrate ladder
Stars: ✭ 52 (+205.88%)
Mutual labels:  encoding
haskell-church-encodings
🌀 Church encodings written in Haskell
Stars: ✭ 23 (+35.29%)
Mutual labels:  encoding
vorbis aotuv
"aoTuV" is library for encoding and decoding of OggVorbis
Stars: ✭ 35 (+105.88%)
Mutual labels:  encoding
BeFoR64
BeFoR64, Base64 encoding/decoding library for FoRtran poor men
Stars: ✭ 17 (+0%)
Mutual labels:  encoding
BencodeNET
.NET library for encoding/decoding bencode and reading/writing torrent files
Stars: ✭ 133 (+682.35%)
Mutual labels:  encoding
d3coder
Chrome extension for encoding/decoding and hashing text on websites
Stars: ✭ 26 (+52.94%)
Mutual labels:  encoding
EntityEmbedding-Working Example
This repository contains a notebook demonstrating a practical implementation of the so-called Entity Embedding for Encoding Categorical Features for Training a Neural Network.
Stars: ✭ 75 (+341.18%)
Mutual labels:  encoding
ronin-support
A support library for Ronin. Like activesupport, but for hacking!
Stars: ✭ 23 (+35.29%)
Mutual labels:  encoding
gilfoyle
Distributed video encoding, hosting and streaming (WIP)
Stars: ✭ 73 (+329.41%)
Mutual labels:  encoding
hashids.pm
Hashids, ported for Perl
Stars: ✭ 15 (-11.76%)
Mutual labels:  encoding
ffmpegd
FFmpeg websocket server for ffmpeg-commander.
Stars: ✭ 37 (+117.65%)
Mutual labels:  encoding

go-sdk

A Go Integration for Transloadit's file uploading and encoding service

Intro

Transloadit is a service that helps you handle file uploads, resize, crop and watermark your images, make GIFs, transcode your videos, extract thumbnails, generate audio waveforms, and so much more. In short, Transloadit is the Swiss Army Knife for your files.

This is a Go SDK to make it easy to talk to the Transloadit REST API.

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.

License

MIT Licensed

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].