Skip to content
Start here

Create watermark profiles via basic upload

client.Stream.Watermarks.New(ctx, params) (*Watermark, error)
POST/accounts/{account_id}/stream/watermarks

Creates watermark profiles using a single HTTP POST multipart/form-data request.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Stream Write
ParametersExpand Collapse
params WatermarkNewParams
AccountID param.Field[string]

Path param: The account identifier tag.

maxLength32
File param.Field[string]

Body param: The image file to upload.

Name param.Field[string]optional

Body param: A short description of the watermark profile.

Opacity param.Field[float64]optional

Body param: The translucency of the image. A value of 0.0 makes the image completely transparent, and 1.0 makes the image completely opaque. Note that if the image is already semi-transparent, setting this to 1.0 will not make the image completely opaque.

maximum1
minimum0
Padding param.Field[float64]optional

Body param: The whitespace between the adjacent edges (determined by position) of the video and the image. 0.0 indicates no padding, and 1.0 indicates a fully padded video width or length, as determined by the algorithm.

maximum1
minimum0
Position param.Field[string]optional

Body param: The location of the image. Valid positions are: upperRight, upperLeft, lowerLeft, lowerRight, and center. Note that center ignores the padding parameter.

Scale param.Field[float64]optional

Body param: The size of the image relative to the overall size of the video. This parameter will adapt to horizontal and vertical videos automatically. 0.0 indicates no scaling (use the size of the image as-is), and 1.0 fills the entire video.

maximum1
minimum0
ReturnsExpand Collapse
type Watermark struct{…}
Created Timeoptional

The date and a time a watermark profile was created.

formatdate-time
DownloadedFrom stringoptional

The source URL for a downloaded image. If the watermark profile was created via direct upload, this field is null.

Height int64optional

The height of the image in pixels.

Name stringoptional

A short description of the watermark profile.

Opacity float64optional

The translucency of the image. A value of 0.0 makes the image completely transparent, and 1.0 makes the image completely opaque. Note that if the image is already semi-transparent, setting this to 1.0 will not make the image completely opaque.

maximum1
minimum0
Padding float64optional

The whitespace between the adjacent edges (determined by position) of the video and the image. 0.0 indicates no padding, and 1.0 indicates a fully padded video width or length, as determined by the algorithm.

maximum1
minimum0
Position stringoptional

The location of the image. Valid positions are: upperRight, upperLeft, lowerLeft, lowerRight, and center. Note that center ignores the padding parameter.

Scale float64optional

The size of the image relative to the overall size of the video. This parameter will adapt to horizontal and vertical videos automatically. 0.0 indicates no scaling (use the size of the image as-is), and 1.0 fills the entire video.

maximum1
minimum0
Size float64optional

The size of the image in bytes.

UID stringoptional

The unique identifier for a watermark profile.

maxLength32
Width int64optional

The width of the image in pixels.

Create watermark profiles via basic upload

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/stream"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  watermark, err := client.Stream.Watermarks.New(context.TODO(), stream.WatermarkNewParams{
    AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    File: cloudflare.F("@/Users/rchen/Downloads/watermark.png"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", watermark.UID)
}
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "created": "2014-01-02T02:20:00Z",
    "downloadedFrom": "https://company.com/logo.png",
    "height": 0,
    "name": "Marketing Videos",
    "opacity": 0.75,
    "padding": 0.1,
    "position": "center",
    "scale": 0.1,
    "size": 29472,
    "uid": "ea95132c15732412d22c1476fa83f27a",
    "width": 0
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "created": "2014-01-02T02:20:00Z",
    "downloadedFrom": "https://company.com/logo.png",
    "height": 0,
    "name": "Marketing Videos",
    "opacity": 0.75,
    "padding": 0.1,
    "position": "center",
    "scale": 0.1,
    "size": 29472,
    "uid": "ea95132c15732412d22c1476fa83f27a",
    "width": 0
  }
}