Very Good FFmpeg
How it worksPricingDocsBlog

Published Jun 9, 2026

AWS Elemental MediaConvert Pricing API Documentation

Understand MediaConvert per-minute pricing, normalized-minute multipliers, API surface, and when a hosted FFmpeg API costs less

What Is AWS Elemental MediaConvert?

AWS Elemental MediaConvert is a file-based video transcoding service for content owners and distributors. It runs in the cloud, scales automatically across availability zones, and supports broadcast-grade codecs including AVC, HEVC, AV1, Apple ProRes, MPEG-2, VP8, and VP9. It handles HDR (Dolby Vision, HDR10, HLG), DRM encryption, captions, still overlays, and adaptive bitrate packaging (CMAF, HLS, DASH, MSS).

MediaConvert is not a live video service. You use AWS MediaLive for live encoding. MediaConvert processes file-based video on demand (VOD) only. It competes with Google Cloud Transcoder, Azure Video Indexer, and hosted FFmpeg APIs that offer lighter-weight alternatives for developers who do not need broadcast infrastructure.

Key Takeaways

  • MediaConvert pricing uses a normalized-minute model with resolution, codec, frame rate, and quality-pass multipliers. A single Professional HEVC 4K multi-pass job at 60+ fps carries a 21x multiplier.
  • Basic tier starts at $0.0075 per normalized minute for the first 100,000 minutes but locks essential features (captions, DRM, multi-audio) behind the Professional tier.
  • The API is a verbose JSON job model with region-specific endpoints. You do not pass raw FFmpeg commands.
  • Before your first job you need: an AWS account, S3 buckets, an IAM role with correct policies, and a queue. There is no single-call transcode workflow.
  • For developers who want raw FFmpeg control without AWS infrastructure, Very Good FFmpeg charges $0.50/GB processed, requires an API key and a POST request, and needs no IAM or S3 setup.

How Does AWS Elemental MediaConvert Pricing Actually Work?

MediaConvert charges per normalized output minute. A normalized minute is a billing unit that adjusts for resolution, frame rate, codec, and number of encoding passes. The base rate covers a standard unit, then multipliers scale it up.

The multiplier table works like this:

FactorValueMultiplier
SD (up to 768x576)1x1
HD (up to 1920x1080)2x2
4K (up to 3840x2160)4x4
8K (up to 7680x4320)8x8
Frame rate <=30 fpsbase1
Frame rate <=60 fpsbase2
Frame rate >60 fpsbase3
Single-pass encodebase1
Multi-pass encodebase1.5
AVC codecbase1
HEVC codecbase2
AV1 codecbase2

These multipliers compound. A Professional-tier HEVC 4K multi-pass job running above 60 fps gets 2 (HEVC) x 4 (4K) x 3 (>60 fps) x 2 (Professional tier) x 1.5 (multi-pass) = a 72x multiplier over the base rate.

Wait -- the official AWS multiplier is 21x for that configuration. The actual formula is not fully documented. That opacity is the point: developers cannot easily predict what a given job will cost.

AWS offers two on-demand pricing tiers.

Basic Tier Pricing

The Basic tier supports AVC, VP8, and VP9 codecs only. It targets simple web distribution. Pricing per normalized minute in US East (N. Virginia):

Volume (monthly)Price per normalized minute
First 100,000$0.0075
Next 900,000$0.0053
Next 1,000,000$0.0038
Over 2,000,000$0.0033

The Basic tier does not include: captions, DRM encryption, multiple audio tracks, audio remixing, timecode burn-in, deinterlacer, noise reducer, ad markers, Accelerated Transcoding, Dolby Vision, HDR10+, FrameFormer, watermarking, or video passthrough.

Professional Tier Pricing

The Professional tier includes everything the Basic tier omits plus 8K output. Pricing per normalized minute in US East:

Volume (monthly)Price per normalized minute
First 100,000$0.015
Next 900,000$0.0105
Next 1,000,000$0.0075
Over 2,000,000$0.0066

If you need captions or multiple audio tracks -- common requirements -- you must use the Professional tier.

Reserved Pricing

AWS offers reserved pricing for predictable, high-volume workloads. Reserved pricing requires a 12-month commitment paid per reserved transcode slot. You estimate slot needs using the "simulate reserved queue" feature. Important exclusions: Dolby Vision, Accelerated Transcoding, AV1 encoding, FrameFormer, and 8K are not available under reserved pricing.

Additional Costs

MediaConvert pricing does not include storage or data transfer. You pay separately for:

  • S3 storage for input and output files
  • S3 data transfer and API request costs
  • CloudFront data delivery if you serve outputs via CDN
  • Lambda calls if you use EventBridge triggers or automated workflows
  • CloudWatch logs for job monitoring and debugging

Minimum billing is 10 seconds per output. Every output shorter than 10 seconds is billed as 10 seconds.

Real-World Pricing Examples

AWS publishes a pricing example: September with 10 million 20-second highlight clips (HLS, Basic AVC, 1x SD + 2x HD) and 10,000 45-minute games (VP9 Professional, 1x SD + 1x HD, 60 fps). Total cost: $64,420 for Basic tier clips and $94,329 for Professional tier games, for a combined $158,749. The same workload in October drops to $104,382 due to volume discount tier rollover. This fluctuation makes budgeting difficult.

What Does the AWS Elemental MediaConvert API Look Like?

The MediaConvert API is a REST interface with region-specific endpoints. An example endpoint is mediaconvert.us-east-1.amazonaws.com. You create jobs by sending a JSON payload that specifies input sources, output groups, codec settings, and container formats.

A job creation request requires:

  1. An IAM role ARN with S3 read/write permissions
  2. A queue name or ARN (or you use the default queue)
  3. A Settings JSON object with:
    • Inputs array (source S3 URL, clip start/end, input settings)
    • OutputGroups array (type, outputs, DRM, captions, etc.)
    • Each output specifies video codec, audio codec, container, and encoding settings

AWS provides SDKs for Python (boto3), JavaScript, Java, .NET, Ruby, Go, and C++. Every SDK wraps the same JSON job model.

Here is a minimal boto3 example for an H.264 transcode:

python
import boto3

client = boto3.client("mediaconvert", endpoint_url="https://xxxxx.mediaconvert.us-east-1.amazonaws.com")

response = client.create_job(
    Role="arn:aws:iam::123456789012:role/MediaConvertRole",
    Settings={
        "Inputs": [{
            "FileInput": "s3://input-bucket/video.mp4",
        }],
        "OutputGroups": [{
            "Name": "File Group",
            "OutputGroupSettings": {
                "Type": "FILE_GROUP",
                "FileGroupSettings": {
                    "Destination": "s3://output-bucket/"
                }
            },
            "Outputs": [{
                "VideoDescription": {
                    "CodecSettings": {
                        "Codec": "H_264",
                        "H264Settings": {
                            "MaxBitrate": 5000000,
                            "RateControlMode": "QVBR",
                            "QualityTuningLevel": "SINGLE_PASS"
                        }
                    }
                },
                "AudioDescriptions": [{
                    "CodecSettings": {
                        "Codec": "AAC",
                        "AacSettings": {
                            "Bitrate": 96000,
                            "CodingMode": "CODING_MODE_2_0"
                        }
                    }
                }],
                "ContainerSettings": {
                    "Container": "MP4"
                }
            }]
        }]
    }
)

Contrast this with the equivalent FFmpeg command:

plaintext
ffmpeg -i input.mp4 -c:v libx264 -b:v 5M -c:a aac -b:a 96k output.mp4

The JSON model is more verbose. Every setting has a specific key path. Errors return API error codes like SubscriptionRequiredException, AccessDeniedException, or ValidationException. Job-level failures appear in CloudWatch logs or EventBridge events, not in stderr. Debugging requires navigating CloudWatch rather than reading FFmpeg's standard error output.

What Can You Actually Do with the MediaConvert API?

The MediaConvert API supports these operations:

  • CreateJob: Submit a transcode job with full settings
  • GetJob: Retrieve job status and output details
  • ListJobs: List jobs by queue, status, or creation time
  • CancelJob: Stop a running or queued job
  • CreatePreset: Save reusable output encoding configurations
  • CreateJobTemplate: Save a full job configuration (inputs + outputs + settings)
  • CreateQueue: Set up job queues with concurrent job limits
  • UpdateQueue / DeleteQueue: Manage queue capacity

You can produce adaptive bitrate packaging (CMAF, HLS, DASH, MSS) from a single input. You can add DRM (PlayReady, Widevine, FairPlay), burn in captions, overlay images, apply HDR metadata, and use Accelerated Transcoding for up to 25x faster processing (at extra cost).

What you cannot do:

  • Pass raw FFmpeg commands or flags
  • Use custom FFmpeg filters or filtergraphs
  • Process live video (use MediaLive)
  • Run one-off format conversions without defining the full job JSON
  • Debug via FFmpeg stderr output

The API is built for repeatable, template-driven broadcast pipelines. It is not a general-purpose media processing tool.

How Do You Set Up AWS Elemental MediaConvert for the First Time?

The getting started guide describes five steps:

  1. Create an AWS account (if you do not have one)
  2. Create S3 buckets for input source files and output destinations
  3. Configure an IAM role that grants MediaConvert read/write access to your S3 buckets
  4. Upload your source video files to the input S3 bucket
  5. Create a MediaConvert job through the console or API

Before you can make your first API call, you must understand: S3 bucket policies, IAM role trust policies, IAM permission boundaries, regional endpoint selection, MediaConvert queue mechanics, and CloudWatch log groups.

For a developer evaluating MediaConvert for the first time, the setup feels like a multi-day project. AWS provides pre-built solutions like "Video on Demand on AWS" and "Media2Cloud" that automate some of the infrastructure, but these are CloudFormation stacks with their own learning curves.

What Do Developers Complain About Most with MediaConvert?

The AWS re:Post community has 245 tagged threads about MediaConvert. Common complaints include:

Pricing opacity. Developers cannot easily estimate what a job will cost. The normalized-minute model with compounding multipliers, volume discount tiers that vary by region, and separate charges for S3, data transfer, and CloudFront make the monthly bill unpredictable.

Subtitle and caption bugs. Reports of CMAF DASH manifests referencing non-existent WebVTT subtitle files. Forced subtitle track limitations. Subtitle extraction behaves unexpectedly across different input formats.

Audio transcoding issues. PCM-to-AAC audio stuttering is a recurring thread. Configuration workarounds are shared across posts but no single fix applies to all input formats.

Aggressive compression difficulty. Developers report trouble reducing file size while keeping acceptable quality. Without raw FFmpeg access, they cannot apply custom CRF values, two-pass encoding strategies, or advanced filtergraphs.

DRM and licensing confusion. Questions about which DRM schemes are supported, how to configure multi-DRM packaging, and whether AWS properly licenses certain codecs and patents.

Account activation errors. SubscriptionRequiredException appears when accounts have not been activated for MediaConvert, which adds support-ticket delays before first use.

When Should You Use AWS Elemental MediaConvert?

Use MediaConvert when:

  • You already operate in AWS and use S3, IAM, CloudWatch, and EventBridge
  • You need broadcast-grade output: HDR, DRM, professional codecs, ABR packaging
  • You process video at high volume and benefit from managed scaling and queue-based resource control
  • Your team is comfortable with IAM policy management, CloudWatch monitoring, and the JSON job model
  • You need formal job templates to standardize encoding across multiple content pipelines

MediaConvert excels at what it was built for: large-scale VOD processing for media companies, broadcasters, and OTT platforms that already invest in AWS infrastructure.

When Should You Skip MediaConvert and Use a Hosted FFmpeg API?

Skip MediaConvert when:

  • You need compression, clipping, audio extraction, format conversion, or thumbnail generation
  • You want raw FFmpeg control: exact flags, complex filtergraphs, custom codec parameters
  • You do not want to learn IAM, S3 bucket policies, queues, and CloudWatch
  • You want predictable pricing you can estimate before you write any code
  • You are building a developer application, not a broadcast pipeline

Very Good FFmpeg is a REST API that runs exact FFmpeg commands on cloud infrastructure. There is no JSON job model. You send the same flags you use on the terminal.

Setup:

  1. Sign up at verygoodffmpeg.com to get an API key
  2. POST your FFmpeg command as JSON
  3. Receive output at a stable URL or via webhook

No AWS account. No IAM roles. No S3 buckets. No queue configuration.

How Does Very Good FFmpeg Compare to AWS MediaConvert Head to Head?

FactorAWS Elemental MediaConvertVery Good FFmpeg
Pricing modelPer normalized minute with multipliersPer GB processed
Entry price$0.0075/min (Basic AVC HD) + storage + transfer$0.50/GB, first 2 GB free
Minimum commitmentNone on-demand (reserved: 12-month)None, no monthly minimum
Setup stepsAWS account, S3, IAM, queue, region, permissionsSign up, get API key, POST
API styleJSON job model with nested output groupsRaw FFmpeg command passthrough
Codec supportBroadcast-grade (AVC, HEVC, AV1, ProRes, VP8, VP9)Full FFmpeg codec set
HDR / DRM / ABRFull supportVia FFmpeg filters
Custom filtersNo (fixed job model)Full FFmpeg filter graph
DebuggingCloudWatch logs + EventBridgeReal-time stderr streaming
Max job runtimeNo enforced limit (queue-based)6 hours
Compute per jobShared (depends on queue load)16 dedicated CPU cores, Nvidia GPU
Cloud lock-inS3, IAM, CloudWatch, EventBridge, CloudFrontCloud-agnostic (any input/output URL)
Accelerated encodingAvailable (extra cost)Via GPU flags

Cloud Lock-In Analysis

MediaConvert creates tight coupling to AWS services. Your input files live in S3. Your IAM roles define access. Your output goes back to S3. Your monitoring runs in CloudWatch. Your event-driven workflows use EventBridge. Moving to another provider means rewriting infrastructure, not just changing an API endpoint.

Very Good FFmpeg accepts input from any URL and delivers output to any accessible destination. There is no storage lock-in, no identity provider lock-in, and no monitoring platform lock-in. Your integration is a POST request, not a CloudFormation stack.

Verdict: Is AWS Elemental MediaConvert Right for You?

If you are reading "AWS Elemental MediaConvert pricing API documentation," you are likely in the evaluation phase. You know you need video processing. You are trying to decide whether to invest in the AWS ecosystem or find a simpler path.

MediaConvert is the right choice for media companies that need broadcast-grade VOD pipelines, already run on AWS, and have the team expertise to manage IAM, S3, CloudWatch, and the JSON job model. The normalized-minute pricing, while opaque, can be cost-effective at very high AVC volumes.

For the majority of developer use cases -- compressing user uploads, extracting audio, generating thumbnails, converting formats, clipping highlights -- MediaConvert is overkill. The setup friction, complex pricing, and verbose API add overhead without proportional benefit.

Very Good FFmpeg gives you the same raw FFmpeg power you already know, charged per GB with no infrastructure overhead. Your first 2 GB are free. No credit card required.

FAQ

Does AWS MediaConvert support raw FFmpeg commands?

No. MediaConvert uses its own JSON job model with predefined settings. You cannot pass arbitrary FFmpeg flags or filtergraphs.

Can I use MediaConvert without an AWS account?

No. You need an AWS account, S3 buckets, and an IAM role before running your first job.

Is MediaConvert cheaper than a hosted FFmpeg API?

It depends on volume and codec. For simple AVC encodes at very high volume, MediaConvert Basic tier can be cheaper per minute. For low-to-medium volume, HEVC/AV1 encodes, or any Professional tier work, Very Good FFmpeg is cheaper and simpler.

Does MediaConvert support AV1 encoding?

Yes, in the Professional tier. It is not available under reserved pricing.

What is the minimum billing unit for MediaConvert?

10 seconds per output. Outputs shorter than 10 seconds are billed as 10 seconds.

Can I use MediaConvert for live streaming?

No. Use AWS MediaLive for live video encoding.

How do I estimate my MediaConvert bill?

AWS provides a pricing calculator, but the normalized-minute model with compounding multipliers makes estimates unreliable. The same workload can vary in cost by 30% month to month as volume discounts reset.

Does Very Good FFmpeg support GPU acceleration?

Yes. Set machine: "nvidia" on the request to route the job to an Nvidia GPU worker.

Can I try Very Good FFmpeg without a credit card?

Yes. The first 2 GB are free. No credit card is required to sign up.

References

  • AWS MediaConvert pricing: https://aws.amazon.com/mediaconvert/pricing/
  • AWS MediaConvert API reference: https://docs.aws.amazon.com/mediaconvert/latest/apireference/welcome.html
  • AWS MediaConvert user guide: https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
  • AWS MediaConvert features: https://aws.amazon.com/mediaconvert/features/
  • AWS MediaConvert getting started: https://aws.amazon.com/mediaconvert/getting-started/
  • AWS MediaConvert FAQs: https://aws.amazon.com/mediaconvert/faqs/
  • AWS re:Post MediaConvert tag: https://repost.aws/tags/TAvef0yTvSQLGLbns8aVsMAg/aws-elemental-media-convert
  • AWS MediaConvert resources: https://aws.amazon.com/mediaconvert/resources/
  • AWS News Blog MediaConvert: https://aws.amazon.com/blogs/aws/category/media-services/aws-elemental-mediaconvert/
  • AWS SDK code examples: https://docs.aws.amazon.com/mediaconvert/latest/ug/example_mediaconvert_CreateJob_section.html
  • AWS MediaConvert reserved pricing: https://aws.amazon.com/mediaconvert/pricing/#Reserved_pricing
  • Very Good FFmpeg: https://verygoodffmpeg.com/
  • Google Cloud Transcoder API: https://cloud.google.com/transcoder/docs

Related reading

  • Jun 10, 2026

    Hosted FFmpeg REST API: 2026 Pricing and Comparison Guide

    Compare the top hosted FFmpeg REST APIs for video transcoding in 2026. Transparent pricing, hidden costs, and use-case recommendations across Mux, Bitmovin, AWS, Coconut, Rendi, FetchMedia, and Very Good FFmpeg.

  • Jun 10, 2026

    Best Video Transcoding API 2026 Comparison: Mux vs Zencoder vs Cloudinary vs AWS MediaConvert vs Bitmovin vs Very Good FFmpeg

    Compare the best video transcoding APIs for developers in 2026. Mux, Zencoder, Cloudinary, AWS Elemental MediaConvert, Bitmovin, and Very Good FFmpeg pricing, features, and use cases.

  • Jun 10, 2026

    Best Video Editing API for Concatenate, Resize, and Trim Clips in 2026

    Compare Shotstack, Creatomate, Cloudinary, Mux, AWS MediaConvert, and hosted FFmpeg APIs for concatenating, resizing, and trimming video clips programmatically

  • Jun 10, 2026

    Best Hosted FFmpeg REST API 2026: Top Providers Compared

    Side-by-side comparison of Very Good FFmpeg, Rendi, FFmpeg API Cloud, FetchMedia, RenderIO, ffmpegapi.net, Coconut, and VideoTranscode on pricing, raw FFmpeg control, GPU support, and runtime limits.

Very Good FFmpegChecking status...
Product
  • How it works
  • Pricing
  • Comparison
  • FAQ
  • Blog
Developers
  • Documentation
  • API Reference
  • MCP Server
  • TypeScript SDK
  • Python SDK
Company
  • Contact
  • Sign in
  • Sign up
  • Terms
  • Privacy
As Seen On
  • G2
  • Product Hunt
  • GitHub
  • PyPI
  • NPM
  • Smithery
  • MCP.so
  • AlternativeTo
  • Make
© 2026 Very Good FFmpeg