> ## Documentation Index
> Fetch the complete documentation index at: https://api-tools.memories.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limit

> Understand the rate limits for Memories.ai API endpoints

## Rate Limit Overview

To ensure platform stability and fair usage, Memories.ai API enforces rate limits based on the type of API endpoint you are calling.

<Info>
  Rate limits are applied **per account**. All API keys under the same account share the same rate limit quota.
</Info>

## Rate Limit Tiers

<CardGroup cols={2}>
  <Card title="Standard APIs" icon="bolt">
    **1 QPS** (Query Per Second)

    Applies to most API endpoints including:

    * Video / Audio / Image Upload
    * Transcription
    * Embeddings Generation
  </Card>

  <Card title="Scraping & Task APIs" icon="spider">
    **Varies by endpoint and channel**

    Applies to scraping and long-running task endpoints including:

    * YouTube / TikTok / Instagram / Twitter Scraping
    * Async task-based processing
  </Card>

  <Card title="Understanding Models" icon="brain">
    **Model Provider Rate Limit**

    Rate limits follow the underlying model provider's own limits:

    * Video Understanding Models (VLM)
    * Image Understanding Models (ILM)
  </Card>

  <Card title="Stream Processing" icon="signal-stream">
    **Concurrent Stream Limit**

    Limited by max concurrent streams per account (video + audio combined)
  </Card>
</CardGroup>

## Detailed Rate Limits by Endpoint

### Video Processing — 1 QPS

| Endpoint                                                                                                    | Rate Limit |
| ----------------------------------------------------------------------------------------------------------- | ---------- |
| [Upload File](/visual-intelligence/base/upload)                                                             | 1 QPS      |
| [Get Upload Signed URL](/visual-intelligence/base/upload-by-signed-url/get-upload-signed-url)               | 1 QPS      |
| [Upload File Using Signed URL](/visual-intelligence/base/upload-by-signed-url/upload-file-using-signed-url) | 1 QPS      |
| [Edit Video](/visual-agents/video-edit)                                                                     | 1 QPS      |
| [Scene Detection](/visual-agents/video-clip)                                                                | 1 QPS      |
| [Split Video](/visual-agents/video-split)                                                                   | 1 QPS      |
| [Extract Video Frames](/visual-intelligence/base/extract-frames)                                            | 1 QPS      |
| [Get Asset Metadata](/visual-intelligence/base/get-metadata)                                                | 1 QPS      |
| [Download Asset](/visual-intelligence/base/download)                                                        | 1 QPS      |
| [Delete Asset](/visual-intelligence/base/delete)                                                            | 1 QPS      |

### Audio to Text — 1 QPS

| Endpoint                                                                                   | Rate Limit |
| ------------------------------------------------------------------------------------------ | ---------- |
| [ElevenLabs](/visual-intelligence/transcript/elevenlabs)                                   | 1 QPS      |
| [AssemblyAI](/visual-intelligence/transcript/assemblyai)                                   | 1 QPS      |
| [Whisper Audio Transcription](/visual-intelligence/transcript/whisper-audio-transcription) | 1 QPS      |
| [Speaker Diarization](/visual-intelligence/transcript/speaker-diarization)                 | 1 QPS      |
| [Multimodal Speaker Recognition](/visual-intelligence/transcript/speaker-recognition)      | 1 QPS      |

### Video & Image Understanding — 1 QPS

| Endpoint                                                                        | Rate Limit |
| ------------------------------------------------------------------------------- | ---------- |
| [Video Caption](/visual-intelligence/caption/video-caption)                     | 1 QPS      |
| [Video Frame Description](/visual-intelligence/caption/video-frame-description) | 1 QPS      |
| [Video Summary](/visual-intelligence/caption/video-summary)                     | 1 QPS      |
| [Image Caption](/visual-intelligence/caption/image-caption)                     | 1 QPS      |

### Embeddings — 1 QPS

| Endpoint                                                                    | Rate Limit |
| --------------------------------------------------------------------------- | ---------- |
| [Generate Video Embedding](/visual-intelligence/embeddings/video-embedding) | 1 QPS      |
| [Generate Image Embedding](/visual-intelligence/embeddings/image-embedding) | 1 QPS      |
| [Generate Text Embedding](/visual-intelligence/embeddings/text-embedding)   | 1 QPS      |

### Stream Processing — Concurrent Stream Limit

<Warning>
  **Access Required**: Stream processing features are not enabled by default. Please [contact sales](https://memories.ai/contact-sales) to enable stream processing for your account.
</Warning>

Stream processing endpoints are limited by the **maximum number of concurrent streams** per account (video + audio combined), rather than QPS.

| Endpoint                                                                           | Rate Limit               |
| ---------------------------------------------------------------------------------- | ------------------------ |
| [Start Video Stream Moderation](/visual-intelligence/stream/video-stream-start)    | Max N concurrent streams |
| [Stop Video Stream Moderation](/visual-intelligence/stream/video-stream-stop)      | No Limit                 |
| [Start Audio Stream Transcription](/visual-intelligence/stream/audio-stream-start) | Max N concurrent streams |
| [Stop Audio Stream Transcription](/visual-intelligence/stream/audio-stream-stop)   | No Limit                 |

<Note>
  When the server capacity is reached, the API returns status code `16` (Capacity Reached). Please retry later or [contact sales](https://memories.ai/contact-sales) for a higher concurrent stream limit.
</Note>

### Social Media Scraping

Rate limits for scraping endpoints vary by endpoint type and the `channel` parameter used.

### Metadata & Transcript Endpoints

These endpoints accept a `channel` parameter (`rapid` / `memories.ai` / `apify`). Rate limits are enforced per channel.

| Endpoint                                                                                                | Channel                 | Rate Limit |
| ------------------------------------------------------------------------------------------------------- | ----------------------- | ---------- |
| [YouTube Video Metadata](/visual-intelligence/video-metadata-transcript/youtube-video-metadata)         | `rapid`                 | 12 QPH     |
| [YouTube Video Metadata](/visual-intelligence/video-metadata-transcript/youtube-video-metadata)         | `memories.ai`           | 10 QPS     |
| [YouTube Video Metadata](/visual-intelligence/video-metadata-transcript/youtube-video-metadata)         | `apify`                 | 10 QPS     |
| [TikTok Video Metadata](/visual-intelligence/video-metadata-transcript/tiktok-video-metadata)           | `rapid` / `memories.ai` | 600 QPM    |
| [TikTok Video Metadata](/visual-intelligence/video-metadata-transcript/tiktok-video-metadata)           | `apify`                 | 10 QPS     |
| [Instagram Video Metadata](/visual-intelligence/video-metadata-transcript/instagram-video-metadata)     | `rapid` / `memories.ai` | 25 QPH     |
| [Instagram Video Metadata](/visual-intelligence/video-metadata-transcript/instagram-video-metadata)     | `apify`                 | 10 QPS     |
| [Twitter Video Metadata](/visual-intelligence/video-metadata-transcript/twitter-video-metadata)         | `rapid` / `memories.ai` | 20 QPH     |
| [Twitter Video Metadata](/visual-intelligence/video-metadata-transcript/twitter-video-metadata)         | `apify`                 | 10 QPS     |
| [YouTube Video Transcript](/visual-intelligence/video-metadata-transcript/youtube-video-transcript)     | `rapid` / `memories.ai` | 150 QPM    |
| [YouTube Video Transcript](/visual-intelligence/video-metadata-transcript/youtube-video-transcript)     | `apify`                 | 10 QPS     |
| [TikTok Video Transcript](/visual-intelligence/video-metadata-transcript/tiktok-video-transcript)       | `rapid` / `memories.ai` | 600 QPM    |
| [TikTok Video Transcript](/visual-intelligence/video-metadata-transcript/tiktok-video-transcript)       | `apify`                 | 10 QPS     |
| [Instagram Video Transcript](/visual-intelligence/video-metadata-transcript/instagram-video-transcript) | `rapid` / `memories.ai` | 150 QPM    |
| [Instagram Video Transcript](/visual-intelligence/video-metadata-transcript/instagram-video-transcript) | `apify`                 | 10 QPS     |
| [Twitter Video Transcript](/visual-intelligence/video-metadata-transcript/twitter-video-transcript)     | `rapid` / `memories.ai` | 20 QPH     |
| [Twitter Video Transcript](/visual-intelligence/video-metadata-transcript/twitter-video-transcript)     | `apify`                 | 10 QPS     |

### Detail & Comment Endpoints

These endpoints do not use a `channel` parameter.

| Endpoint                                                                                | Rate Limit |
| --------------------------------------------------------------------------------------- | ---------- |
| [TikTok Video Detail](/visual-intelligence/scraper/tiktok-video-detail)                 | 600 QPM    |
| [TikTok Video Comment](/visual-intelligence/scraper/tiktok-video-comment)               | 600 QPM    |
| [TikTok Video Comment Reply](/visual-intelligence/scraper/tiktok-video-comment-reply)   | 600 QPM    |
| [YouTube Video Detail](/visual-intelligence/scraper/youtube-video-detail)               | 10 QPS     |
| [YouTube Video Comment](/visual-intelligence/scraper/youtube-video-comment)             | 10 QPS     |
| [YouTube Video Comment Reply](/visual-intelligence/scraper/youtube-video-comment-reply) | 10 QPS     |

### Video Understanding Models — Model Provider Rate Limit

<Info>
  Memories.ai does **not** impose its own QPS limit on these endpoints. The effective rate limit is determined by the underlying model provider (e.g., Google Gemini, Amazon Nova, Alibaba Qwen). If you exceed the provider's throughput limit, the API will return an error. Usage is also subject to your account's token quota and billing limits.
</Info>

If you are choosing between providers, see [Video Model Selection](/visual-intelligence/video-model-selection) or [Image Model Selection](/visual-intelligence/image-model-selection) before optimizing for rate limits alone.

| Endpoint                                               | Rate Limit                   |
| ------------------------------------------------------ | ---------------------------- |
| [Gemini Video](/visual-intelligence/gemini/gemini-vlm) | Subject to Gemini rate limit |
| [Nova Video](/visual-intelligence/nova/nova-vlm)       | Subject to Nova rate limit   |
| [Qwen Video](/visual-intelligence/qwen/qwen-vlm)       | Subject to Qwen rate limit   |

### Image Understanding Models — Model Provider Rate Limit

| Endpoint                                               | Rate Limit                   |
| ------------------------------------------------------ | ---------------------------- |
| [Gemini Image](/visual-intelligence/gemini/gemini-ilm) | Subject to Gemini rate limit |
| [GPT Image](/visual-intelligence/gpt/gpt-ilm)          | Subject to GPT rate limit    |
| [Nova Image](/visual-intelligence/nova/nova-ilm)       | Subject to Nova rate limit   |
| [Qwen Image](/visual-intelligence/qwen/qwen-ilm)       | Subject to Qwen rate limit   |

## What Happens When You Exceed the Limit?

If you exceed the rate limit, the API will return a `429 Too Many Requests` response:

```json theme={null}
{
  "code": 429,
  "msg": "Rate limit exceeded",
  "data": null
}
```

**Recommended retry strategy:** Implement exponential backoff starting with a 1-second delay, doubling each retry, up to a maximum of 32 seconds.

```python theme={null}
import time
import requests

def request_with_retry(url, headers, data, max_retries=5):
    for attempt in range(max_retries):
        response = requests.post(url, headers=headers, json=data)
        if response.status_code != 429:
            return response
        wait_time = min(2 ** attempt, 32)
        time.sleep(wait_time)
    return response
```

<Warning>
  Repeated rate limit violations may result in temporary suspension of your API key. Please ensure your application respects the rate limits.
</Warning>

## Need Higher Rate Limits?

If your use case requires higher throughput, we offer customized rate limit plans for enterprise customers.

<Card title="Contact Sales" icon="envelope" href="https://memories.ai/contact-sales">
  Get in touch with our sales team to discuss a custom rate limit plan tailored to your needs.
</Card>

<Note>
  Enterprise plans can include increased QPS/QPM limits, dedicated infrastructure, and priority support.
</Note>
