August 31, 2026 · TwelveLabs
Marengo 3.5 embedding model adds composed queries and PDF input
Note
Marengo 3.5 creates embeddings only. For search, use Marengo 3.0.
Marengo 3.5 is a new embedding model for video understanding. It analyzes video, audio, images, and documents, and produces 512-dimensional embeddings. Key features:
- Composed queries across modalities: Combine text with images, video, or audio into a single query vector when you create embeddings synchronously. Reference each media source by name in the query text.
- Documents as an input type: Create embeddings from PDF files, with one embedding per page.
- Video and audio duration: No limit on the duration of video and audio files. Marengo 3.0 supports up to 4 hours.
- Audio track: A unified encoder processes speech, music, and non-dialog audio. Marengo 3.0 uses a separate transcription embedding.
- Embedding uncertainty: Request a per-dimension uncertainty vector alongside each embedding. A higher value shows lower confidence.
- Time-based metadata fusion: Fold your own time-aligned text, such as a stats feed, into the fused embeddings of the segments it overlaps in time.
- Token usage: See how much a composed query leans on each modality, and track the tokens each request uses.
- Automatic truncation: Choose to truncate text longer than 2,000 tokens instead of receiving an error.
To use these features, upgrade to the latest version of the Python or Node.js SDK:
Python SDK
pip install --upgrade twelvelabs
Node.js SDK
npm install twelvelabs-js@latest
For details about creating embeddings with Marengo 3.5, see the Create sync embeddings and Create an async embedding task API reference pages, or the SDK reference for Python and Node.js. For an overview of Marengo 3.5 and its input requirements, see the Marengo 3.5 page.
For step-by-step migration instructions, see the Migrate from Marengo 3.0 to Marengo 3.5 page.
Existing integrations that use Marengo 3.0 continue to work without changes.
Rate limits
The platform measures embedding with Marengo 3.5 in input tokens, not duration. Each type of content has its own limit: video, audio, image, document, and text. The platform never adds them into a shared total. Request limits are unchanged, and duration limits still apply to Marengo 3.0.
For the per-tier values, see the Rate limits page.
SDK type change
In the Python SDK, the AsyncVideoInputRequest and AsyncAudioInputRequest classes replace VideoInputRequest and AudioInputRequest on the embed.v_2.tasks.create method. The new classes add the fields that Marengo 3.5 supports: time_based_metadata and the local embedding scope.
This change affects type-checked Python code only. The SDK accepts both the old and the new classes, so your existing code continues to work after you upgrade. Update it to clear the type-checker errors. Synchronous calls to embed.v2.create and the Node.js SDK require no changes.
Latest TwelveLabs API changes
Free plan now 10 requests/minute, 200/day; Plus and Pro 30/minute, 1,000/day
List knowledge stores can be filtered by asset with asset_id
TwelveLabs SDKs 1.3.8 change Responses API types, removing usage for billing
Knowledge store items can be filtered by 1 to 50 asset IDs when listing
Fractional embedding segment lengths documented as valid; Marengo 3.0 ignores the fraction