Upcoming rate limits

Preview: Effective January 12, 2026

These rate limits take effect on January 12, 2026. Until then, the current rate limits apply.

Rate limits control how many requests you can make within a specific time window. These limits ensure fair usage and maintain optimal performance for all users.

Understand rate limits

The platform uses multiple dimensions to measure your usage. Each dimension tracks different aspects of your requests. Understanding how rate limits work helps you optimize your usage and avoid errors.

Rate limit dimensions

The platform measures your usage across these dimensions:

  • DPD: Duration per day (in minutes)
  • DPH: Duration per hour (in minutes)
  • RPD: Requests per day
  • RPM: Requests per minute
  • TPD: Tokens per day (in thousands)
  • TPM: Tokens per minute (in thousands)

Rate limits vary by endpoint based on computational requirements:

  • Duration-based limits (DPH, DPD) apply only to endpoints that process video or audio content
  • Token limits (TPM, TPD) apply only to endpoints that generate text output
  • Request limits (RPM, RPD) apply to all endpoints

How the platform measures limits

The platform checks your usage against each applicable dimension. You receive an error when you exceed any limit, even if other dimensions have remaining capacity.

For example, you might have remaining request capacity (RPM) but exceed your duration limit (DPH) when processing a long video. The platform returns an error based on the duration limit.

Note

When using an organization account, rate limits apply in aggregate to all the API keys in the organization.

Your rate limits

Your plan and monthly spending determine your rate limits.

Plans overview

TwelveLabs offers three plans:

  • Free plan: Basic limits at no cost
  • Developer plan: Three tiers that increase with monthly spending
  • Enterprise plan: Custom limits based on your requirements

Rate limit categories

Rate limits vary by modality. Endpoints in the same category share a rate limit. All requests to these endpoints count toward the shared limit. An endpoint can have different rate limits based on the type of content you process.

Free plan

New accounts start with the Free plan at no cost.

CategoryDPD (minutes)DPH (minutes)RPDRPMTPD (thousands)TPM (thousands)
Index24060508
Upload508
Search508
Analyze24060508254
Summarize24060508254
Embed - Video24060508
Embed - Audio24060508
Embed - Text508
Embed - Image508
Embed - Text_Image508

Developer plan

The Developer plan has three tiers. You start at Tier 1 when you add a payment method. Your tier increases automatically based on your monthly spending.

Tier qualifications

TierQualification
Tier 1Default tier
Tier 2Spend $200/month
Tier 3Spend $400/month

See the Pricing page to calculate your spending.

Rate limits by tier

CategoryDPD (minutes)DPH (minutes)RPDRPMTPD (thousands)TPM (thousands)
Index3,0006003,00060
Upload3,00060
Search3,000600
Analyze3,0006001,0006050030
Summarize3,0006001,0006050030
Embed - Video3,0006003,00025
Embed - Audio3,0006003,00025
Embed - Text3,000600
Embed - Image3,000600
Embed - Text_Image3,000600

Enterprise plan

The Enterprise plan provides custom rate limits. Contact us to discuss your requirements.

How tier changes work

Upgrades: The platform upgrades your account when you reach the spending requirement for a higher tier. The upgrade takes effect immediately. You receive an email notification when your tier changes.

Downgrades within the Developer plan: When your monthly spending falls below your current tier’s threshold, a one-month grace period applies before a downgrade.

Example:

  • First month: You spend less than $200 (below the Tier 2 threshold)
  • End of first month: The platform sends you an email notification
  • Second month: You spend less than $200 again
  • Beginning of the third month: The platform downgrades you to Tier 1

Plan downgrades: When you downgrade from the Developer plan to the Free plan, the tier change takes effect immediately, with no grace period.

Work with rate limits

Use response headers to track your usage, implement best practices to handle errors, and upgrade your plan when you need higher limits.

Monitor your usage

Check your usage using HTTP response headers.

Response headers

Each response includes headers for the active dimensions:

HeaderDescription
X-RateLimit-Request-LimitRequests allowed per time window
X-RateLimit-Request-RemainingRequests remaining in current window
X-RateLimit-Request-ResetUnix timestamp when request limit resets
X-RateLimit-Duration-LimitDuration (in minutes) allowed per time window
X-RateLimit-Duration-RemainingDuration (in minutes) remaining in current window
X-RateLimit-Duration-ResetUnix timestamp when duration limit resets
X-RateLimit-OutputToken-LimitOutput tokens allowed per time window
X-RateLimit-OutputToken-RemainingOutput tokens remaining in current window
X-RateLimit-OutputToken-ResetUnix timestamp when output token limit resets
Note

Responses include only the headers that apply to the endpoint you call.

Legacy headers

These headers provide aggregate rate limit information. The platform maintains them for backward compatibility but they will be removed in a future release:

HeaderDescription
X-RateLimit-LimitMaximum requests per time window
X-RateLimit-RemainingRequests remaining in current time window
X-RateLimit-ResetUnix timestamp when time window resets

Example response headers

X-RateLimit-Request-Limit: 600
X-RateLimit-Request-Remaining: 542
X-RateLimit-Request-Reset: 1735689600
X-RateLimit-Duration-Limit: 3000
X-RateLimit-Duration-Remaining: 2847
X-RateLimit-Duration-Reset: 1735689600

Handle rate limit errors

The platform returns an HTTP 429 - Too Many Requests error when you exceed a rate limit. The error shows which limit you exceeded and when it resets.

Error response format

1{
2 "code": "too_many_requests",
3 "message": "You have exceeded the rate limit (duration:1h/1h). Please try again after 2025-12-03T14:30:00Z."
4}

Best practices

Follow these practices to handle rate limit errors:

  • Check response headers: Monitor your remaining capacity before making requests
  • Implement exponential backoff: Increase the time between retries
  • Distribute requests: Spread the calls evenly instead of sending bursts
  • Cache responses: Reuse responses when possible to reduce requests

Increase your limits

Upgrade your plan or tier to increase rate limits:

  1. Add a payment method: Access Tier 1
  2. Increase spending: Reach Tier 2 or Tier 3
  3. Contact sales: Request custom Enterprise limits