> This page is for version v1.3 (default).
> For other versions, use one of these documentation indexes:
> - v1.3 (default): https://docs.twelvelabs.io/v1.3/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.twelvelabs.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.twelvelabs.io/_mcp/server.

## Introducing Marengo 3.5

> **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`**

```sh Python SDK
pip install --upgrade twelvelabs
```

**`Node.js SDK`**

```sh Node.js SDK
npm install twelvelabs-js@latest
```

For details about creating embeddings with Marengo 3.5, see the [Create sync embeddings](/v1.3/api-reference/create-embeddings-v2/create-embeddings) and [Create an async embedding task](/v1.3/api-reference/create-embeddings-v2/create-async-embedding-task) API reference pages, or the SDK reference for [Python](/v1.3/sdk-reference/python/create-embeddings-v-2) and [Node.js](/v1.3/sdk-reference/node-js/embed-v2). For an overview of Marengo 3.5 and its input requirements, see the [Marengo 3.5](/v1.3/docs/concepts/models/marengo/marengo-3-5) page.

For step-by-step migration instructions, see the [Migrate from Marengo 3.0 to Marengo 3.5](/v1.3/docs/get-started/migration-guides/marengo-3-0-to-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](/v1.3/docs/get-started/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`](/v1.3/sdk-reference/python/create-embeddings-v-2/create-async-embeddings#create-an-async-embedding-task) 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`](/v1.3/sdk-reference/node-js/embed-v2/sync) and the Node.js SDK require no changes.

## PDF, text, and Markdown uploads

You can now upload PDF, text, and Markdown files to the platform as assets. Local files can be up to 200 MB, and public URLs up to 512 MB.

To use this feature, upgrade to the latest version of the Python or Node.js SDK:

**`Python SDK`**

```sh Python SDK
pip install --upgrade twelvelabs
```

**`Node.js SDK`**

```sh Node.js SDK
npm install twelvelabs-js@latest
```

For details, see the [Upload content](/v1.3/api-reference/upload-content) page in the API Reference section, or the SDK reference for [Python](/v1.3/sdk-reference/python/upload-content) and [Node.js](/v1.3/sdk-reference/node-js/upload-content).