For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Sample appsIntegrationsDiscordPlaygroundDevEx repo
GuidesSDK ReferenceAPI Reference
GuidesSDK ReferenceAPI Reference
  • Get Started
    • Introduction
    • Quickstart
    • Manage your plan
    • Rate limits
    • Release notes
    • Migration guide
  • Guides
    • Search
    • Analyze videos
    • Segment videos
    • Create embeddings
  • Concepts
    • Models
    • Upload and processing methods
    • Indexes
    • Modalities
    • Multimodal large language models
  • Cloud partner integrations
    • Amazon Bedrock
  • Advanced
    • Organizations
    • Fine-tuning
    • Webhooks
    • Metadata
    • Model context protocol
    • Claude Code Plugin
  • Resources
    • Platform overview
    • Playground
    • TwelveLabs SDKs
    • Frequently asked questions
    • Use cases
    • Sample applications
    • Partner integrations
    • From the community
LogoLogo
Sample appsIntegrationsDiscordPlaygroundDevEx repo
On this page
  • Upload methods
  • Assets
  • Inline
  • Processing modes
  • Analyze videos
  • Create embeddings
  • Search content
Concepts

Upload and processing methods

Was this page helpful?
Previous

Indexes

Next
Built with

When providing content to the platform, you can upload it as a reusable asset or pass it inline. For embeddings and video analysis, you also choose a processing mode based on the duration of your file.

Upload methods

You can provide content to the platform in two ways:

MethodDescriptionUse for
AssetsCreates a reusable resource with a unique identifier. You can reference your assets across multiple operations.Search, analysis, and embeddings
InlineProvides content inline through a URL or base64-encoded data. You cannot reuse this contentAnalysis and embeddings

When providing a URL, use direct links to raw media files. Video hosting platforms and cloud storage sharing links are not supported.

Assets

When you upload content as an asset, you can use one of the following methods:

MethodContentLimitReference
Direct uploadsVideo and audio, local filesUp to 200 MBPython SDK | Node.js SDK | API Reference
Direct uploadsVideo and audio, public URLsUp to 4 GBPython SDK | Node.js SDK | API Reference
Direct uploadsImagesUp to 5 MBPython SDK | Node.js SDK | API Reference
Multipart uploadsVideoUp to 4 GBPython SDK | Node.js SDK | API Reference

For direct uploads with public URLs, files under 200 MB return status: ready. Files over 200 MB return status: processing.

Use multipart uploads for larger local video files.

Inline

Provide content inline in the request for one-time embedding generation. You cannot reuse this content across multiple operations.

MethodLimit
URL4 GB
Base6436 MB for video and audio, 5 MB for images

Processing modes

Choose a processing mode based on the type and duration of your content. Both modes support all input methods (asset ID, URL, and base64).

Analyze videos

ModeLimitReference
SyncUp to 1 hourPython SDK | Node.js SDK | API Reference
AsyncUp to 2 hoursPython SDK | Node.js SDK | API Reference

The synchronous mode returns results immediately. The asynchronous mode creates an analysis task that you poll until processing completes. Streaming responses are only available with the synchronous mode.

Create embeddings

ModeContent typeLimitReference
SyncVideo, audioUp to 10 minutesPython SDK | Node.js SDK | API Reference
SyncImagesUp to 5 MBPython SDK | Node.js SDK | API Reference
AsyncVideo, audio10 minutes to 4 hoursPython SDK | Node.js SDK | API Reference

The synchronous mode returns results immediately. The asynchronous mode creates an embedding task that you poll until processing completes.

Search content

To search content, upload your files as assets.