## Create watermark profiles via basic upload `stream.watermarks.create(WatermarkCreateParams**kwargs) -> Watermark` **post** `/accounts/{account_id}/stream/watermarks` Creates watermark profiles using a single `HTTP POST multipart/form-data` request. ### Parameters - `account_id: str` The account identifier tag. - `file: str` The image file to upload. - `name: Optional[str]` A short description of the watermark profile. - `opacity: Optional[float]` 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. - `padding: Optional[float]` 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. - `position: Optional[str]` The location of the image. Valid positions are: `upperRight`, `upperLeft`, `lowerLeft`, `lowerRight`, and `center`. Note that `center` ignores the `padding` parameter. - `scale: Optional[float]` 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. ### Returns - `class Watermark: …` - `created: Optional[datetime]` The date and a time a watermark profile was created. - `downloaded_from: Optional[str]` The source URL for a downloaded image. If the watermark profile was created via direct upload, this field is null. - `height: Optional[int]` The height of the image in pixels. - `name: Optional[str]` A short description of the watermark profile. - `opacity: Optional[float]` 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. - `padding: Optional[float]` 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. - `position: Optional[str]` The location of the image. Valid positions are: `upperRight`, `upperLeft`, `lowerLeft`, `lowerRight`, and `center`. Note that `center` ignores the `padding` parameter. - `scale: Optional[float]` 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. - `size: Optional[float]` The size of the image in bytes. - `uid: Optional[str]` The unique identifier for a watermark profile. - `width: Optional[int]` The width of the image in pixels. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) watermark = client.stream.watermarks.create( account_id="023e105f4ecef8ad9ca31a8372d0c353", file="@/Users/rchen/Downloads/watermark.png", ) print(watermark.uid) ``` #### Response ```json { "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 } } ```