TwelveLabs Pegasus 1.5 on Amazon Bedrock: Video Understanding API, Timestamped Segments, Limits, Pricing, and Pegasus vs Marengo

Logeshwaran
—

TwelveLabs Pegasus 1.5 is a video language model, now available in Amazon Bedrock, that watches a video and answers in text: summaries, answers to questions, and, new in 1.5, timestamped segments returned as JSON (every goal in a match, every topic change in a news broadcast, every scene with a product on screen). It takes videos up to 2 hours long (double Pegasus 1.2's 1 hour), up to 2 GB from Amazon S3 or 25 MB sent inline as base64, and up to 30 reference images per request, with no indexing step first. In Bedrock its model ID is twelvelabs.pegasus-1-5-v1:0, available in US West (Oregon), with global. and us. cross-Region inference profiles; you call it with InvokeModel or the streaming version. It is billed through AWS Marketplace, metered by input video seconds and output tokens, so charges show under TwelveLabs on your AWS bill. Its sibling, Marengo, does something different: it turns video into embeddings for search. Below: what Pegasus 1.5 can do, a working Python call, the time-based metadata mode, every limit, cost, Pegasus vs Marengo, and the errors you are likely to hit.

The shop records its how-to videos for customers, and over two years they had built up hours of footage nobody could search. Jake's question was simple: "Which video shows how to reset the router?" Answering it meant watching. Ethan pointed Pegasus 1.5 at one of the longer recordings with a plain request: list every section where a device is being reset, with start and end times. The answer came back as a short JSON list with timestamps. It was the first time anyone had searched the shop's videos without pressing play.

⚡ Quick Answer

• What it is: video in, text or timestamped JSON out, up to 2 hours per video. Details.

• Model ID: twelvelabs.pegasus-1-5-v1:0 in us-west-2, or the global. profile. Python call.

• New in 1.5: segment definitions with start and end times. Time-based mode.

• Cost: AWS Marketplace billing, by video seconds and output tokens. Pricing.

Limits · Pegasus vs Marengo · Use cases · Errors.

New to Amazon Bedrock? The cards below cover Bedrock pricing, inference profiles and how Bedrock compares with Google's platform.

🧭 NEW HERE? READ THESE FIRST

New to Amazon Bedrock or AI on AWS? These five pages give you the background this one builds on:

📌 Bookmark this; the request fields and the limits table are the parts you will come back for.

What Pegasus 1.5 does

TwelveLabs builds models that understand video the way a person watching it would: what is on screen, what is said, what text appears, and when each thing happens. Pegasus is their generative model; you give it a video and an instruction, and it writes the answer. It understands the visual track, the audio and on-screen text together, so "when does the presenter mention the warranty?" works even if the word only appears in speech.

What Pegasus 1.5 adds over 1.2:

  • Time-based metadata: describe the moments you care about (for example "a goal is scored" or "a product is shown close up"), and it returns each matching segment with start and end times and the fields you asked for, as JSON.
  • Reference images: include up to 30 images with the request, such as a logo or a person's photo, and ask about where they appear.
  • No ingestion step: the video is processed on the fly; you do not upload it to an index first.
  • Video segmentation across the whole timeline.
  • Longer videos: up to 2 hours per request, from 1 hour.

It keeps what earlier versions did: summaries, open questions about the content, reading objects, numbers and on-screen text, and finding when things happen. English has full support; Arabic, Chinese, French, German, Italian, Japanese, Korean, Portuguese, Russian, Spanish, Thai and Vietnamese have partial support.

Jake: "So it doesn't just describe the video, it tells you where in the video?"

Ethan: "That's the new part. Start time, end time, and whatever details you asked for, for every match."

Calling Pegasus 1.5 from Python

Getting from nothing to a first answer takes four steps:

  1. Upload the video to an S3 bucket in US West (Oregon), the Region where the model runs.
  2. Check permissions: your user or role needs bedrock:InvokeModel and read access to that object (details below).
  3. Install or update boto3 (pip install -U boto3), so the client knows the current Bedrock runtime API.
  4. Send one request with the video's location and your instruction:
import json
import boto3
from botocore.config import Config

# Long videos take a while: give the client a long read timeout
brt = boto3.client("bedrock-runtime", region_name="us-west-2",
                   config=Config(read_timeout=900))

body = {
    "inputPrompt": "Summarize this video in five bullet points, then list the products shown.",
    "mediaSource": {
        "s3Location": {
            "uri": "s3://shop-videos/howto/router-reset.mp4",
            "bucketOwner": "111122223333"
        }
    },
    "temperature": 0.2,
    "maxOutputTokens": 2048
}

resp = brt.invoke_model(
    modelId="global.twelvelabs.pegasus-1-5-v1:0",
    body=json.JSONEncoder().encode(body),
    contentType="application/json",
    accept="application/json",
)
result = json.loads(resp["body"].read())
print(result["message"])

A few details that matter:

  • Model ID or profile: twelvelabs.pegasus-1-5-v1:0 calls the model in its Region; global.twelvelabs.pegasus-1-5-v1:0 uses the global cross-Region profile, and us. keeps processing within US Regions. If you see "on-demand throughput isn't supported", use a profile ID; our guide to that error explains why.
  • Inline video: instead of s3Location, send "base64String": "..." for files up to 25 MB.
  • Streaming: invoke_model_with_response_stream returns the answer in chunks as it is written, useful for long summaries; our Bedrock streaming guide shows how to read the stream.
  • Usage: the response includes token counts and a stop reason; add "includeMetering": true to also get the billed video seconds.

The request fields at a glance:

FieldWhat it doesValues
inputPromptYour question or instructionText
mediaSourceThe videoS3 location (URI + bucket owner) or base64 string
temperatureRandomness of the wording0 to 1, default 0.2
maxOutputTokensLongest answer allowed512 to 98,304
responseFormatA JSON Schema for structured answers, or segment definitionsObject
analysisModeNormal answer or timestamped segmentsgeneral (default) or time_based_metadata
includeMeteringReturn billed output tokens and input video secondstrue / false

Time-based metadata: timestamped segments as JSON

This is the feature that makes 1.5 worth a look for archives. Set analysisMode to time_based_metadata and describe, in responseFormat, the kinds of segment you want. Each segment definition has:

  • an id, such as device_reset, which comes back on each match so you know which definition it fits;
  • a description in plain words: "the presenter resets a router or modem";
  • fields you want filled in for each match, each with a name, a type and a description, for example device_model (string) or steps_shown (number);
  • a time format for the start and end: seconds, hh:mm:ss or hh:mm:ss.fff.

The answer is a segments list: for every match, the start and end time, your fields, and the definition id it matched, plus a definition_errors list if any definition could not be applied. Long videos in this mode can take minutes, which is why the example sets a 900-second read timeout.

Practical tips for good segments:

  1. Describe what is visible or audible, not what you hope it means: "a person points at a red error light" works better than "a troubleshooting moment".
  2. Keep fields few and concrete; three well-described fields beat ten vague ones.
  3. Use several definitions in one call rather than one call per definition, since the video is processed once.
  4. Test on a short clip first, check the timestamps by eye, then run your archive.
  5. Store the JSON with the video's S3 key, so your website or search tool can jump straight to each segment.

Jake: "So I could get a list of every router reset across all our videos?"

Ethan: "One call per video, the same definitions each time, and the results go into a table we can search."

Pegasus 1.5 limits

LimitPegasus 1.5
Video lengthUp to 2 hours per request
File sizeUp to 2 GB from S3; up to 25 MB inline (base64)
Resolution360×360 to 5184×2160
Aspect ratio1:1 to 2.4:1 (or the inverse, for vertical video)
FormatsAnything FFmpeg can read
Reference imagesUp to 30 per request
Output length512 to 98,304 tokens (maxOutputTokens)
RegionUS West (Oregon), plus global and US cross-Region profiles

Videos longer than 2 hours or bigger than 2 GB need splitting first (FFmpeg can cut by time without re-encoding), and you then adjust the timestamps of later parts by each part's start offset.

Access, permissions and API keys

  • IAM permissions: bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream on the model or inference profile, plus s3:GetObject on the video, for the identity that calls it.
  • Bedrock API keys also work: set the key in AWS_BEARER_TOKEN_BEDROCK; the key's identity needs bedrock:CallWithBearerToken too.
  • Marketplace subscription: Pegasus is a third-party model sold through AWS Marketplace, so the first use in an account involves a Marketplace subscription, and whoever triggers it needs the Marketplace subscribe permissions; afterwards ordinary Bedrock permissions are enough.
  • Cost tracking per project: create an application inference profile for the model and call it by ARN; our application inference profile guide covers tagging and budgets.

What Pegasus 1.5 costs

Pegasus 1.5 is billed through AWS Marketplace, so its charges appear on your normal AWS bill, and in Cost Explorer, under TwelveLabs rather than Amazon Bedrock. Usage is metered by the seconds of video you send and the output tokens it writes; the current rates are on the Bedrock pricing page under TwelveLabs. Some practical points:

  • Video length drives the bill, so trim intros, outros and dead air before sending, and use segment definitions to get several answers from one pass rather than calling once per question.
  • Set includeMetering on test runs to see exactly how many video seconds and output tokens each kind of request uses, then multiply by your archive size before committing.
  • S3 storage for the videos is billed separately, as usual.

Our Bedrock pricing guide covers the other Bedrock cost levers, from batch jobs to caching.

Pegasus vs Marengo

TwelveLabs has two model families, and they do different jobs:

  • Pegasus is generative: it reads a video and writes text (summaries, answers, timestamped segments). You ask; it answers about one video at a time.
  • Marengo is an embedding model: it turns video, audio, images and text into vectors, so you can search a large library by meaning ("scenes of a red car at night") and find matching clips across thousands of videos.

They work well together: Marengo finds the right videos or clips in a big archive; Pegasus then explains or extracts details from the ones you found. For a small archive where you already know which video to look at, Pegasus alone is enough. If you are building search over text instead of video, our Titan Text Embeddings guide covers the text side.

What people use it for

  • News and broadcast archives: catalog every editorial segment, topic and speaker change, so producers can find footage in seconds.
  • Sports: find plays and scoring moments to cut highlights automatically.
  • Streaming apps: recommendations by moment rather than by title, ad placement that fits the scene, and segment-level brand-safety checks.
  • Training and support videos, like the shop's: chapters, step lists and "jump to the part where" links generated from existing recordings.
  • Compliance review: flag segments where a logo, a person or a sensitive topic appears, for a human to check.

For monitoring in production, Bedrock publishes the usual CloudWatch metrics for the model (invocations, output tokens, latency and client errors) in the AWS/Bedrock namespace.

Common errors with Pegasus on Bedrock

  • AccessDeniedException: missing bedrock:InvokeModel on the model or profile ARN, or the Marketplace subscription step has not completed.
  • "on-demand throughput isn't supported": call the global. or us. inference profile ID instead of the bare model ID.
  • ValidationException about the media: the video is over 2 hours or 2 GB, the base64 payload is over 25 MB, or the resolution or aspect ratio is outside the limits.
  • S3 access errors: the bucket owner account in the request is wrong, or the caller cannot read the object; keep the bucket in the same Region.
  • Read timeout in your code: long videos, especially in time-based mode, take minutes; raise the client's read timeout (900 seconds in the example) or stream the response.
  • ThrottlingException: too many concurrent requests; retry with backoff, or spread an archive job over time.

Frequently asked questions

What is TwelveLabs Pegasus 1.5?

A video language model that watches a video and answers in text or timestamped JSON, available in Amazon Bedrock.

What is new in Pegasus 1.5?

Timestamped segment output, reference images, on-the-fly processing with no indexing, segmentation, and videos up to 2 hours instead of 1.

What is the Pegasus 1.5 model ID in Bedrock?

twelvelabs.pegasus-1-5-v1:0, or the global.twelvelabs.pegasus-1-5-v1:0 and us. cross-Region inference profiles.

Which Region is Pegasus 1.5 in?

US West (Oregon), us-west-2, with global and US cross-Region inference profiles.

How long can the video be?

Up to 2 hours per request, and up to 2 GB from S3 or 25 MB inline as base64.

How much does Pegasus 1.5 cost?

It is billed through AWS Marketplace by input video seconds and output tokens; current rates are on the Bedrock pricing page under TwelveLabs.

What is the difference between Pegasus and Marengo?

Pegasus writes text about a video; Marengo creates embeddings for searching across many videos by meaning.

Can Pegasus 1.5 return JSON?

Yes. Pass a JSON Schema in responseFormat for structured answers, or segment definitions in time-based metadata mode.

What is time-based metadata mode?

A mode where you describe kinds of moments, and Pegasus returns each matching segment with start and end times and the fields you asked for.

Does Pegasus understand speech in the video?

Yes. It uses the visual track, audio and on-screen text together.

Which languages does Pegasus 1.5 support?

English fully, and Arabic, Chinese, French, German, Italian, Japanese, Korean, Portuguese, Russian, Spanish, Thai and Vietnamese partially.

Can I stream the Pegasus response?

Yes, with InvokeModelWithResponseStream.

What permissions do I need to call Pegasus on Bedrock?

bedrock:InvokeModel (and the streaming action), read access to the video in S3, and a Marketplace subscription on first use.

Can I use a Bedrock API key with Pegasus?

Yes. Set it in AWS_BEARER_TOKEN_BEDROCK; the identity also needs bedrock:CallWithBearerToken.

What video formats does Pegasus accept?

Any format FFmpeg can read, from 360x360 up to 5184x2160, with aspect ratios from 1:1 to 2.4:1.

Why does my Pegasus call time out?

Long videos take minutes; raise your SDK client's read timeout or use the streaming API.

Do I need to index videos before using Pegasus 1.5?

No. Version 1.5 processes each video on the fly; there is no separate ingestion step.

For readers preparing for an AWS certification

We have been covering AWS certifications alongside our fixes, so here is a short extra for readers studying for one. If you only came for the fix, you already have it; feel free to skip this part.

Exams that test this topic: AI Practitioner (AIF-C01) • AI Business Strategist (AIB-C01) • Cloud Practitioner.

Here are the exam-style questions this topic tends to raise, with the reasoning you need to answer them:

1. A media company wants to generate summaries and timestamped metadata from long videos using a managed foundation model on AWS. Which service?

Amazon Bedrock, with a video understanding model such as TwelveLabs Pegasus.

2. What is the difference between a generative model and an embedding model?

A generative model produces new content such as text; an embedding model turns content into vectors for search and similarity.

3. Which Bedrock feature routes requests across Regions to increase throughput?

Cross-Region inference profiles (for example the global. or us. profile IDs).

4. How are third-party models such as TwelveLabs Pegasus billed when used through Bedrock?

Through AWS Marketplace, appearing on the AWS bill under the model provider.

5. Which API returns a model response in chunks as it is generated?

InvokeModelWithResponseStream (or ConverseStream).

6. How can you track Bedrock model costs per project?

With an application inference profile tagged for that project.

7. Which AWS service stores the videos a Bedrock video model reads by URI?

Amazon S3.

Exam codes and dates change often. Our AWS certification changes page and our guide to the AI Business Strategist exam keep track of what is current.

πŸ“š ALSO READ

Where to go next, from streaming responses to batch jobs:

📌 Bookmark this; the request fields and the limits table are the parts you will come back for.

The shop's video library now has chapters: a nightly job sends each new recording to Pegasus with the same three segment definitions (device resets, cable connections, and settings screens), stores the JSON beside the video, and the support page now has "jump to" links. Jake no longer answers "which video shows..." by watching. Ethan's rule for the project: test every new definition on one short clip first, because a vague description returns vague segments.

📌 If you keep one line from this page

Pegasus 1.5 on Bedrock (twelvelabs.pegasus-1-5-v1:0, us-west-2 or the global profile) turns videos up to 2 hours into text or timestamped JSON segments, billed through AWS Marketplace by video seconds and output tokens; use Marengo when you need to search many videos.

2 GB from S3 · 25 MB inline · 30 reference images · no indexing step · raise your read timeout.

Revision note. Written October 19, 2026, the day Pegasus 1.5 arrived in Amazon Bedrock. We will add dated updates as Regions and prices change.

Related