## Initiate video uploads using TUS `stream.create(StreamCreateParams**kwargs)` **post** `/accounts/{account_id}/stream` Initiates a video upload using the TUS protocol. On success, the server responds with a status code 201 (created) and includes a `location` header to indicate where the content should be uploaded. Refer to https://tus.io for protocol details. ### Parameters - `account_id: str` The account identifier tag. - `body: object` - `tus_resumable: Literal["1.0.0"]` Specifies the TUS protocol version. This value must be included in every upload request. Notes: The only supported version of TUS protocol is 1.0.0. - `"1.0.0"` - `upload_length: int` Indicates the size of the entire upload in bytes. The value must be a non-negative integer. - `direct_user: Optional[bool]` Provisions a URL to let your end users upload videos directly to Cloudflare Stream without exposing your API token to clients. - `upload_creator: Optional[str]` A user-defined identifier for the media creator. - `upload_metadata: Optional[str]` Comma-separated key-value pairs following the TUS protocol specification. Values are Base-64 encoded. Supported keys: `name`, `requiresignedurls`, `allowedorigins`, `thumbnailtimestamppct`, `watermark`, `scheduleddeletion`, `maxdurationseconds`. ### 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 ) client.stream.create( account_id="023e105f4ecef8ad9ca31a8372d0c353", body={}, tus_resumable="1.0.0", upload_length=0, ) ``` #### Response ```json {} ```