Developer guide
🔷 WEBM to MKV with Go
Convert WebM videos to MKV format online for compatibility, delivery, and playback across devices and platforms.
GoREST APIWEBM → MKV
Use this guide to convert WEBM to MKV with Go, then adapt the example to your own app, backend, or processing flow.
Overview
What this guide covers
Conversion path
Use Converterer to accept or prepare a WEBM file, trigger a WEBM to MKV job, and return the output to your app or workflow.
Go example
Start with the example on this page, then adapt auth, file handling, polling, and result delivery to your environment.
Production usage
This is best suited to backend jobs, async processing, content pipelines, and repeatable conversion flows rather than one-off browser scripting.
Quick start
Get a working example in place
Code example
WEBM to MKV
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"mime/multipart"
"net/http"
"os"
)
func main() {
body := &bytes.Buffer{}
w := multipart.NewWriter(body)
f, _ := os.Open("input.webm")
fw, _ := w.CreateFormFile("input", "input.webm")
io.Copy(fw, f)
w.WriteField("output_format", "mkv")
w.Close()
req, _ := http.NewRequest(
"POST",
"https://api.converterer.com/convert",
body,
)
req.SetBasicAuth(os.Getenv("CONVERTERER_API_KEY"), "")
req.Header.Set("Content-Type", w.FormDataContentType())
res, _ := http.DefaultClient.Do(req)
var task map[string]any
json.NewDecoder(res.Body).Decode(&task)
fmt.Println(task["id"])
// Result lands at <your-destination>/<id>.mkv
} Implementation notes
What to handle in your app
API endpoint
Conversion endpoint
https://api.converterer.com/convert Use your API key for authentication and submit the source file plus the target output format in your job request.
App responsibilities
- source file upload or storage handoff
- job submission and status handling
- success/failure handling in your backend
- download or delivery of the MKV output
Related guides