package main
import (
"context"
"fmt"
"log"
"os"
"time"
"github.com/IndigoSoftwares21/dreep-go"
)
func main() {
client, err := dreep.New(os.Getenv("DREEP_API_KEY"))
if err != nil {
log.Fatal(err)
}
f, err := os.Open("hero.jpg")
if err != nil {
log.Fatal(err)
}
defer f.Close()
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute)
defer cancel()
// Upload, resized and converted on the way in
asset, err := client.Upload(ctx, dreep.UploadOptions{
File: f,
Filename: "hero.jpg",
Destination: dreep.Destination{Folder: "marketing/2026"},
Transform: &dreep.Transform{Width: 1200, Format: dreep.FormatWebP},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(asset.URL)
// Build a smaller variant — no network call
fmt.Println(client.URL(asset.ID, &dreep.Transform{Width: 400}))
// https://cdn.dreep.cloud/api/v1/fetch/<id>?width=400
}