Plans for teams of all sizes

Let us take care of
images, videos & audio

Basic

$7/month

For small applications & hobby users.

Plus

$35/month

For individuals & startups building production apps.

Advanced

$195/month

For teams building midsize production apps.

Enterprise

Enterprise pricing

For teams building large production apps.

CDN locations Bytescale's content delivery network (CDN) serves your assets from many locations around the world, ensuring minimal download latency for your users.

Note: Bytescale's Standard Coverage CDN is the default CDN setting for all new accounts. Enterprise Plan and Advanced Plan customers can contact sales to enable Bytescale's Extended Coverage CDN (600+ nodes).
100100600+600+
Storage Quota for the total size of all files stored in your Bytescale account.

Note: there is no storage limit when using AWS S3, Google Storage, Cloudflare R2, or DigitalOcean Spaces.
10 GB50 GB300 GB
Bandwidth Bandwidth is counted as the total amount of outgoing data transferred per month.

What is 'outgoing data transfer'? This is all data that leaves Bytescale. This includes downloads of files via Bytescale and transfers from Bytescale to any external storage you may have configured in your account, such as AWS S3, Google Storage, Cloudflare R2, and DigitalOcean Spaces.

Incoming data transfer is free. This includes all uploads to built-in storage. Data transferred from the Internet to external storage is also free.
10 GB50 GB300 GB
Processing Monthly quota for file processing.

What is file processing? File processing is an optional feature that can be used to transform files, for example, to optimize images, video, and audio.

Did you know: Bytescale permanently caches transformation results, meaning you won't be re-billed for the same transformations each month.
1 Hour5 Hours30 Hours
Images Estimated number of new images you can transform (e.g. optimize) per month.

Note: your processing quota (above) and the amount of processing required by your image transformations determine the number of images you can transform per month.

How is processing time calculated? Processing time for image transformations varies based on input and output formats, dimensions, and processing options. Estimated figures on this row are based on resizing a 10MB JPEG from 4000×3000 to 800×600, which takes ~600 milliseconds.
~6,000~30,000~180,000
Documents Estimated number of PDF documents you can generate thumbnails for each month.

Note: your processing quota (above) and the amount of processing required by your documents determine the number of document thumbnails you can generate per month.

How is processing time calculated? Processing time for document thumbnails varies based on document size, output format, dimensions, and processing options. Estimated figures on this row are based on a 5MB A4 landscape PDF (33 pages) with edge-to-edge graphics, which takes ~300 milliseconds.
~12,000~60,000~360,000
Video thumbnails Estimated number of video thumbnails you can generate per month.

Note: your processing quota (above) and the amount of processing required by your videos determine the number of video thumbnails you can generate per month.

How is processing time calculated? Processing time for video thumbnails is the time the thumbnail takes to generate or 10 seconds: whichever is longer. Estimated figures on this row are based on generating a thumbnail from a 1.5GB MP4 video at 1920×1080 (HD), which takes ~5 seconds.
~300~1,500~10,000
Videos Minutes of new video content you can produce per month.*

Note: once transcoded, videos can be played an unlimited number of times, up to your bandwidth quota. Your processing quota will not be deducted for additional plays of a processed video output.

* The figures on this row assume SD H.264 video output. Pricing varies depending on output resolution and codec. Please see the "Pricing" section of the Video Processing API documentation for more information.
40 Encoding Mins200 Encoding Mins1,200 Encoding Mins
Audio Minutes of new audio content you can produce per month.*

Note: once transcoded, audio files can be played an unlimited number of times, up to your bandwidth quota. Your processing quota will not be deducted for additional plays of a processed audio output.

* The figures on this row assume AAC or MP3 output. Pricing varies depending on the output format. Please see the "Pricing" section of the Audio Processing API documentation for more information.
80 Encoding Mins400 Encoding Mins2,400 Encoding Mins
Monthly uploads The maximum number of files you can upload per month.

There are no daily, hourly, per-minute or per-second limits on the number of files you can upload.

Note: uploads via custom S3 buckets will count towards your upload usage.
20,000100,000500,000
Max upload size The maximum size of file you can upload.50 MB500 MB100 GB
Monthly downloads There are no monthly, daily, hourly, per-minute or per-second limits on the number of files you can download.
Upload widget Embed our beautiful, plug-and-play file upload widget in seconds, with image previews, image cropping, and more.
File storage Bytescale comes with cloud storage built-in. No complex configuration steps required: all your need is a Bytescale API key, and you can start uploading files.
File processing Transform and optimize your files in real-time. Bytescale supports: image resizing, image optimization, image cropping, image watermarking, and more.
Traffic management Bytescale's rules engine allows you to flexibly govern how files are uploaded to your account.
Rate limiting You can rate-limit uploads using custom dimensions and frequencies. For example: "100 uploads per day per IP" or "5 video uploads per hour per user"
Traffic limiting You can limit upload traffic using custom dimensions and frequencies. For example: "1 GB per day per IP" or "100 MB of images per hour per user"
File size limiting File size limits can be configured using complex predicates and are enforced on ingress.
TTLs / Expiring links You can expire files after a period of time has elapsed, and even redirect users to alternative URLs after your files expire.
IP Blacklisting You can reject upload attempts based on any number of dimensions, including the source IP address.
Usage monitoring Monitor your storage, processing & bandwidth usage over time using our beautiful dashboards.
SSL (HTTPS) All uploads, downloads and file transformations run over HTTPS, keeping you and your users safe.
Bytescale SDKs Upload.js is our easy-to-use JavaScript file upload library: it uploads files directly to your Bytescale account.
Lightweight
Adaptive chunking Upload.js performs multipart file uploads to increase reliability over unstable networks.
Cancellable uploads Upload.js provides a simple method to cancel any in-progress upload - no need to deal with streams or race conditions.
Progress reporting Upload.js provides a simple callback for tracking a file's upload progress. Progress events are automatically smoothed using an exponential moving average (EMA).
Bytescale Storage API The Bytescale API is our REST API, designed for adding file upload functionality to backend, desktop & mobile applications.
Upload files Bytescale's Storage API supports single-part and multipart file uploads through a simple REST API.
List files Bytescale's Storage API supports folder listing, both recursively and non-recursively, providing excellent organization of your digital assets.
Folders Bytescale's Storage API supports an unlimited number of folders, and folder-based permissions, allowing a high degree of organization of your digital assets.
Metadata & tags Bytescale's Storage API supports custom JSON metadata and tags for every uploaded file.
Bytescale Media APIs Bytescale offers powerful media processing APIs, capable of resizing and optimizing all media types in real-time.
Image Processing API Bytescale's Image Processing API is capable of resizing, cropping, optimizing, and watermarking images in real-time.
Video Processing API Bytescale's Video Processing API is capable of converting, resizing, cropping, trimming, and optimizing videos in real-time.
Audio Processing API Bytescale's Audio Processing API is capable of converting, trimming, and optimizing audio in real-time.
Bytescale CDN Use the Bytescale CDN to transform files hosted on your own websites and servers.
Media optimization Bytescale supports real-time media processing and optimization via simple URL commands.
Origin shielding Bytescale re-routes all regional edge cache misses to a central edge cache node to minimize traffic to externally-configured file sources (if you have any configured).
DDoS protection Bytescale protects your assets from DDoS attacks using an integrated web application firewall (WAF).
Edge caching Bytescale caches files at locations close to your users through a globally distributed edge cache, ensuring fast downloads with minimal latency.
Permanent caching Bytescale caches transformed files (such as optimized images, videos, and audio) permanently to prevent file reprocessing delays and costs.
Built-in Storage Every plan includes pre-integrated storage, ready for immediate use in your app.

No additional setup required.
External Storage Bring your own storage to use with the Upload Widget, Bytescale SDKs, Bytescale Storage API, Bytescale's File Processing APIs, and the Bytescale CDN.

Note: You will not be billed for, or limited by, the amount of storage you use in AWS S3, Google Storage, Cloudflare R2, or DigitalOcean Spaces.
HTTP Reverse Proxy Optimize images, videos, and audio hosted elsewhere using our File Processing APIs, and serve the results via the Bytescale CDN for ultra-low latency downloads and permanent result caching.
AWS S3 Use your own AWS S3 bucket as read/write storage for your Bytescale account.

Note: You are not billed for, or limited by, the amount of storage in your AWS S3 bucket(s).
Cloudflare R2 Use your own Cloudflare R2 bucket as read/write storage for your Bytescale account.

Note: You are not billed for, or limited by, the amount of storage in your Cloudflare R2 bucket(s).
DigitalOcean Spaces Use your own DigitalOcean Space as read/write storage for your Bytescale account.

Note: You are not billed for, or limited by, the amount of storage in your DigitalOcean Space(s).
Google Storage Use your own Google Storage bucket as read/write storage for your Bytescale account.

Note: You are not billed for, or limited by, the amount of storage in your Google Storage bucket(s).
Authenticated uploads Authenticate and authorize your file uploads using JWTs together with your application's own security layer.
Authenticated downloads Authenticate and authorize your file downloads using JWTs together with your application's own security layer.
Support via Slack Have in-depth discussions with our developers & support staff via Slack.
Support via Zoom Have in-depth discussions with our developers & support staff via Zoom.
Custom domain Configure a custom domain (CNAME) to host your assets.
Upload acceleration Upload acceleration works by routing file uploads through a globally distributed Content Ingestion Network (CIN) to minimize network latency and congestion.
Enterprise support Enterprise support with our expert team via email, Slack, or Zoom.
Pricing that scales with you

Enterprise pricing

Bandwidth

Bandwidth

Deliver content to users around the world.

As low as:

$0.09 / GB

View price breaks

Built-in Storage

Built-in Storage

Store files using Bytescale's built-in storage.

As low as:

$0.03 / GB

View price breaks

Processing

Processing

Optimize images & transcode videos in real-time.

$1.5 / CPU hour

How does this work?

Uploads

Uploads

Receive file uploads from your users.

$0.0004 / upload

Frequently Asked Questions

Got questions? We've got answers.

Billing

Bytescale supports all major credit cards (including Mastercard, Visa, Maestro, American Express, Discover, Diners Club, JCB, UnionPay, and Mada) and PayPal.

To pay for your subscription: please login to the Bytescale Dashboard and navigate to the Billing page.

All payments are handled safely and securely via Paddle: our online payments processor.

Yes, we send monthly receipts which can be converted into tax invoices by adding your company's tax details to the online receipt itself. Once added, all future receipts will be sent as tax invoices.

Bytescale does not currently offer yearly billing or discounts.

Bytescale uses Paddle to securely process all payments.

Paddle uses a merchant of record (MoR) model to provide an all-in-one payments, billing, and sales tax solution for software businesses.

As such, your tax invoices will be addressed from "Paddle.com Market Ltd" or "Paddle.com Inc".

Plans

We will email you once 80% of your account's quotas have been consumed.

We will email you again once 100% of your account's quotas have been consumed: if this happens then your downloads and/or uploads will return '429: Too Many Requests'.

Your current usage is displayed in the Bytescale Dashboard under the Monitoring page.

Please contact support for quota increases: we will respond as soon as we receive your message.

There are no daily limits.

The only limits are your plan's monthly limits.

You can upgrade your account at any time via the Billing page.

Yes, you can cancel or change your plan at any time.

To cancel or downgrade your plan, please refer to the Billing page in the Bytescale Dashboard.

Your files will be deleted from our servers after you cancel your account.

You can export all of your files before cancelling via the Bytescale Dashboard.

Technical

When you upload files using the Bytescale SDKs or the Bytescale API, your files will be stored in one of Bytescale's internal AWS S3 buckets by default.

Alternatively, you can choose to store your files in a custom AWS S3 bucket or a DigitalOcean Space.

You can also configure Bytescale as a reverse-proxy/CDN to process images, videos, and audio files from external HTTP URLs, without having to move them away from your existing storage service.

Yes: Bytescale provides API endpoints for listing and downloading files, making it easy to programmatically export your files at any time.

Yes: Bytescale supports file uploads from mobile devices.

Bytescale provides a smooth experience to mobile users through its fault-tolerant file upload protocol. This protocol uses an internal mechanism of file chunking, parallel chunk uploads and automatic retries to ensure that when network connectivity issues occur, uploads are resumed from where they left off after connectivity is restored.

This happens automatically and by default when you use Upload.js.

Yes, we can definitely help.

Bytescale is limitless in its capacity: many of our customers serve TBs of traffic on a daily basis.

If you would like to discuss custom pricing for your business, please contact sales.