canonical: https://jentic.com/apis/amazonaws.com/mediatailor

# AWS MediaTailor

Jentic publishes the only available OpenAPI specification for AWS MediaTailor, keeping it validated and agent-ready. AWS MediaTailor performs server-side ad insertion, channel assembly, and prefetch scheduling for streaming video. It assembles linear channels from VOD source content, stitches targeted ads into HLS and DASH streams via VAST and VMAP integrations, and supports Live-to-VOD recording. The control plane covers playback configurations, channels, programs, source locations, live and VOD sources, alerts, and prefetch schedules.

## For AI agents

Configure server-side ad insertion, build linear channels from VOD content, and schedule ad prefetches for streaming workflows.

## Scope

Does not handle transcoding, origin storage, DRM packaging, or client-side ad insertion - use for server-side ad insertion, FAST channel assembly, and prefetch scheduling only.

## Capabilities

- Configure playback configurations with VAST or VMAP ad decision server URLs
- Assemble linear FAST channels from VOD source locations and program schedules
- Schedule programs into channels with start times and ad break offsets
- Manage source locations that point at VOD or live source content
- Create prefetch schedules so ad responses are cached before playback windows
- Configure logging policies for playback and channel operations
- Surface and acknowledge alerts on channels and source locations

## Use cases

### Server-Side Ad Insertion for Live Streams

Broadcasters using server-side ad insertion stitch targeted ads into HLS and DASH streams without client-side SDKs. A playback configuration points at the origin (HLS/DASH manifest) and an ad decision server URL that responds with VAST or VMAP. MediaTailor calls the ADS at every ad break, replaces SCTE-35 markers with the returned ad creatives, and emits a personalised manifest per viewer.

Example prompt: Call PutPlaybackConfiguration with a Name, VideoContentSourceUrl pointing at the origin, and AdDecisionServerUrl pointing at the VAST endpoint, then return the HlsConfiguration ManifestEndpointPrefix

### FAST Channel Assembly

Free Ad-Supported Television operators build 24x7 linear channels from VOD libraries by combining a channel with scheduled programs that pull from VOD sources. CreateChannel defines the channel and its outputs (HLS and DASH); CreateProgram inserts each piece of content with start times and ad break configurations; the result is a continuous linear stream playable through CDN-fronted endpoints.

Example prompt: Create a channel named 'movies-247' with HLS and DASH outputs, then schedule three programs from the SourceLocation 'movies-vod' starting at consecutive 90-minute slots

### Ad Prefetch for Peak Traffic

When a streaming event has known high concurrency at predictable times, prefetch schedules instruct MediaTailor to call the ad decision server in advance for those windows. CreatePrefetchSchedule defines the consumption window, retrieval window, and matching criteria so ad responses are cached before viewers reach the break, lowering per-impression ADS load.

Example prompt: Call CreatePrefetchSchedule on PlaybackConfigurationName 'sunday-primetime' with a Retrieval window starting 30 minutes before the consumption window of 21:00-22:00 UTC

### AI Agent Stream Programming

Programming agents call MediaTailor through Jentic to schedule new content, refresh ad configurations, and react to channel alerts surfaced from operations. Jentic isolates the AWS keys and exposes the channel, program, source location, and prefetch operations as discoverable tools, so the agent can answer 'add tonight's premiere to channel X at 9pm' without touching the AWS SDK directly.

Example prompt: Search Jentic for 'schedule a program in a channel', load the CreateProgram operation, and execute it with the channel name, source location, VOD source, and the desired ScheduleConfiguration timestamp

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | /playbackConfiguration | Create or update a playback configuration |
| POST | /channel/{ChannelName} | Create a linear channel |
| POST | /channel/{ChannelName}/program/{ProgramName} | Schedule a program in a channel |
| POST | /sourceLocation/{SourceLocationName} | Create a source location |
| POST | /sourceLocation/{SourceLocationName}/vodSource/{VodSourceName} | Register a VOD source under a source location |
| POST | /prefetchSchedule/{PlaybackConfigurationName}/{Name} | Create a prefetch schedule |
| GET | /playbackConfiguration/{Name} | Describe a playback configuration |

## Key resources

- **PlaybackConfigurations** — Map origin and ad decision server for server-side ad insertion
- **Channels** — Linear channels with HLS and DASH outputs and policies
- **Programs** — Scheduled VOD or live items within a channel timeline
- **SourceLocations** — Containers for VOD and live source references
- **VodSources** — Individual VOD items registered under a source location
- **LiveSources** — Individual live source feeds registered under a source location
- **PrefetchSchedules** — Windows during which ad responses are pre-fetched
- **Alerts** — Operational alerts on channels and source locations

## Why Jentic

- **Setup:** Wiring AWS MediaTailor by hand means implementing Signature Version 4 signing, resolving the regional api.mediatailor host, and threading channel, program, and source-location naming yourself. Through Jentic you install once, import MediaTailor from the API Directory, store the AWS keys once, and your agent calls it.
- **Permission scoping:** MediaTailor puts the channel, program, and source-location names in the URL path (/channel/{ChannelName}, /channel/{ChannelName}/program/{ProgramName}), so a rule can pin your agent to one channel: it can assemble programs on that channel and nothing else. You choose the operations it may call, so destructive ones like channel or program deletion are not included unless you add them.
- **Credential handling:** Your AWS access keys are stored once, encrypted, by your own Jentic One instance and each request is signed with Signature Version 4 at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'configure server side ad insertion' or 'schedule a program', and Jentic returns the matching MediaTailor operation with its input schema, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **AWS Elemental MediaPackage VOD** — MediaPackage VOD provides packaged origin content that MediaTailor stitches ads into
- **Mux** — Mux offers managed video and ad insertion in one API; MediaTailor focuses on AWS-native SSAI
- **AWS Elemental MediaStore** — MediaStore can host the live origin MediaTailor's playback configurations point at

## FAQ

### Why is there no official OpenAPI spec for AWS MediaTailor?

AWS does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call AWS MediaTailor via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the MediaTailor API use?

MediaTailor uses AWS Signature Version 4 (HMAC) with an access key ID and secret access key scoped via IAM. Configurations also reference IAM roles that MediaTailor assumes to read source content and call ad decision servers. Through Jentic, AWS keys live in the encrypted vault and Jentic signs each request server-side.

### Can I create a channel and schedule programs with the MediaTailor API?

Yes. POST /channel/{ChannelName} creates a channel with HLS and DASH outputs, then POST /channel/{ChannelName}/program/{ProgramName} schedules each program with a SourceLocationName, VodSourceName or LiveSourceName, and ScheduleConfiguration containing the absolute or relative start time and any ad break offsets.

### What are the rate limits for the MediaTailor API?

AWS does not publish hard request-per-second limits for control-plane operations in this spec. Soft quotas apply to channels per account, source locations per channel, and programs per channel - see the AWS service quotas console for current values in your region.

### How do I create a playback configuration through Jentic?

Search Jentic for 'configure server side ad insertion' to surface PUT /playbackConfiguration. Load the schema with the Jentic SDK (pip install jentic), then execute it with Name, VideoContentSourceUrl, AdDecisionServerUrl, and any HlsConfiguration or DashConfiguration overrides. The response includes the ManifestEndpointPrefix for the player to use.

### Is AWS MediaTailor free?

No. MediaTailor charges per ad transcoded and per million ad requests, with additional charges for channel assembly hours and content prep. There is no permanent free tier - see the AWS MediaTailor pricing page for current rates by region and feature.

### Can I limit what my agent is allowed to do with the AWS MediaTailor API?

Yes. Because Jentic One is self-hosted, your own rules decide which MediaTailor operations and credentials the agent may use. Since MediaTailor puts the channel, program, and source-location names in the URL path (/channel/{ChannelName}, /channel/{ChannelName}/program/{ProgramName}), a rule can pin your agent to a single channel so it assembles and schedules programs there and nothing else. You also choose the exact operations it may call, so destructive ones like channel or program deletion are excluded unless you explicitly add them.
