> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Multipart Upload

> Upload large files to Telnyx Cloud Storage with multipart uploads. Split objects into parts, upload in parallel, and complete or abort the upload via S3 API.

Large objects should be uploaded to your bucket via multipart upload.

## Using AWS CLI

Assuming you have [AWS CLI set up](/docs/cloud-storage/quick-start#using-aws-cli) already:

```
user@localhost ~ % aws s3 cp ~/Projects/s3-test/testdata/10Gfile s3://target-bucket/10Gfile --profile mytelnyxprofile --endpoint-url https://us-west-1.telnyxcloudstorage.com
```

where

* `~/Projects/s3-test/testdata/10Gfile` is the path to the raw bytes stored locally
* `s3://target-bucket/10Gfile` is the target bucket name and the object key (aka object name)

Depending on your environment, you may achieve throughput between 20 MiB/s (locally on a home network) to upward of 100+ MiB/s (on a lab or production network in a data center.)

## Using AWS API/SDK

The general procedure to use the API/SDK is as follows:

<Steps>
  <Step title="CreateMultipartUpload">
    Initiate the upload session with [CreateMultipartUpload](https://developers.telnyx.com/docs/cloud-storage/api-reference/multipart-operations/create-multipart-upload/index#create-multipart-upload).
  </Step>

  <Step title="UploadPart">
    Stream each chunk with [UploadPart](https://developers.telnyx.com/docs/cloud-storage/api-reference/multipart-operations/upload-part/index#upload-part).
  </Step>

  <Step title="CompleteMultipartUpload">
    Finalize the transfer by calling [CompleteMultipartUpload](https://developers.telnyx.com/docs/cloud-storage/api-reference/multipart-operations/complete-multipart-upload/index#complete-multipart-upload).
  </Step>
</Steps>
