> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.twelvelabs.io/v1.3/sdk-reference/python/upload-files/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.twelvelabs.io/_mcp/server. # Upload content > Upload videos, images, audio, and documents to create reusable assets. The `AssetsClient` class provides methods for uploading video, image, audio, and documents to the TwelveLabs platform. Uploading creates an asset that you can then use in different workflows. Depending on your requirements, choose one of the methods below. # Direct uploads Upload whole files in a single request. **Supported content**: Video, audio, images, and documents (PDF, text, and Markdown). **Use this method when**: * You want to upload a file in a single request * You are uploading images (multipart uploads apply the same 32 MB limit) * You are uploading a file from a URL (multipart uploads support only local files) * Your files are small enough that chunking adds no benefit **Upload limits**: * Video and audio, local files: Up to 200 MB * Video and audio, public URLs: Up to 4 GB * Images: Up to 32 MB * Documents, local files: Up to 200 MB * Documents, public URLs: Up to 512 MB #### [Direct uploads](/v1.3/sdk-reference/python/upload-content/direct-uploads) # Multipart uploads Upload files as multiple chunks processed in parallel. **Supported content**: Video, audio, and images. **Use this method when**: * You need to upload a larger local video or audio file * You need automatic retry on failure * You need improved reliability, performance, or observability * You want to track upload progress * You want parallel chunk uploads for faster performance **Upload limits**: * Video and audio, local files: Up to 10 GB * Images: Up to 32 MB #### [Multipart uploads](/v1.3/sdk-reference/python/upload-content/multipart-uploads) # Video indexing tasks > **Info** > > This method will be deprecated in a future version. New implementations should use [direct](/v1.3/sdk-reference/python/upload-content/direct-uploads) or [multipart](/v1.3/sdk-reference/python/upload-content/multipart-uploads) uploads followed by [separate indexing](/v1.3/sdk-reference/python/index-content#index-an-asset). Upload and index videos in one operation. This method bundles upload and indexing together. #### [Video indexing tasks](/v1.3/sdk-reference/python/upload-content/video-indexing-tasks) > Upload videos, images, audio, and documents to create reusable assets. ## Docs - [Direct uploads](https://docs.twelvelabs.io/sdk-reference/python/upload-files/direct-uploads.md): Upload files directly to the platform. Processing is asynchronous; poll the asset status until it is ready. - [Multipart uploads](https://docs.twelvelabs.io/sdk-reference/python/upload-files/multipart-uploads.md): Upload local video, audio, and images in chunks for reliable, resumable transfers.